- •Основные понятия и определения
- •Реляционная модель данных Основные определения
- •Структура sql
- •Операторы определения данных -Data Definition Language- ddl
- •Операторы манипулирования данными- Data Manipulation Language –dml
- •Язык запросов Data Query Language (dql)
- •Средства управления транзакциями
- •Средства администрирования данных
- •6. Программный sql
- •Типы данных
- •Проектирование рбд на основе принципов нормализации
- •Системный анализ предметной области
- •Пример описания предметной области объекта автоматизации(оа)
- •Строим организационно-функциональную модель оа («дерево из орг-звеньев с должностями»
- •Словесно описываем бизнес-процессы протекающие в оа (дать их перечень после описания)
- •Описываем информационную модель (основа будущей бд)
- •Инфологическое моделирование
- •Модель "сущность-связь"
- •Даталогическое проектирование
- •Последовательность нормальных форм. Их свойства. Первая нормальная форма (1нф), вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф), нормальная форма Бойса-Кодда (бк нф)
- •Четвертая нормальная форма (4нф), пятая нормальная форма (5нф)
Последовательность нормальных форм. Их свойства. Первая нормальная форма (1нф), вторая нормальная форма (2нф)
Последовательная нормализация схемы отношений – это когда каждая следующая итерация соответствует нормальной форме более высокого уровня и обладает лучшими свойствами по сравнению с предыдущей.
Каждой нормальной форме соответствует некоторый определенный набор ограничений и отношения находятся в некоторой НФ, если удовлетворяют свойственному ей набору ограничений.
Последовательность НФ:1, 2, 3, БК, 4, 5
Каждая следующая НФ улучшает свойства предыдущей, но при переходе к следующей НФ свойства предыдущих сохраняются.
Отношение находится в 1НФ тогда и только тогда, когда на пересечении каждого столбца и каждой строки находятся только элементарные значения атрибутов.
Отношение находится в 2НФ тогда и только тогда, когда находится в 1НФ и не содержит неполных функциональных зависимостей не первичных атрибутов от атрибутов первичного ключа.
Функциональная зависимость – определяет устойчивые отношения между объектами и их свойствами в рассматриваемой предметной области.
Полная функциональная зависимость:R.A -> R.B полная, если А1 А R.A ↛ R.B (если набор атрибутов В функционально зависит от А и не зависит функционально от любого подмножества А)
Например, есть отношение: (ФИО, № зачетки, Группа, Дисциплина, Оценка), PK=зачетка+дисциплина
ФИО зависит от № зачетки, Оценка зависит от Дисциплины.
Эти атрибуты зависят только от части ключа – неполная функциональная зависимость.
Чтобы привести к 2НФ надо разбить на проекции:
№ зачетки, ФИО, Группа
№ зачетки, Дисциплина, оценка
Третья нормальная форма (3нф), нормальная форма Бойса-Кодда (бк нф)
Последовательная нормализация схемы отношений – это когда каждая следующая итерация соответствует нормальной форме более высокого уровня и обладает лучшими свойствами по сравнению с предыдущей, при этом следующая НФ сохраняет свойсва предыдущей.
Каждой нормальной форме соответствует некоторый определенный набор ограничений и отношения находятся в некоторой НФ, если удовлетворяют свойственному ей набору ограничений.
Отношение находится в 3НФ тогда и только тогда, когда оно находится в 2НФ и не содержит транзитивных зависимостей.
Транзитивная функциональная зависимость, если существует набор атрибутов С такой, что:
1) С А (С не является подмножеством А)
2) В С (С не включает в себя В)
3) R.A -> R.С (существует функциональная зависимость С от А)
4) R.С ↛ R.А (НЕ существует функциональная зависимость А от С)
5) R.С -> R.B (существует функциональная зависимость В от С)
id_клиента, ФИО, город, почтовый индекс фио зависит от ID город зависит от ID почтовый индекс зависит от города
в рамках данной таблицы индекс зависит от города а город зависит от ID => индекс зависит от ID
есть транзитивная зависимость, чтобы избавиться, строим дополнительное отношение:
город, индекс
id_клиента, фио, город
Отношение находится в НФБК тогда и только тогда, когда оно находится в 3НФ и каждый детерминант является возможным ключом отношения.
Рассмотрим отношение, моделирующее сдачу студентом экзаменов.
(№ зачетки, ID_студента, Дисциплина, Дата, Оценка)
Возможные ключи: 1) № зачетки, Дисциплина, Дата и 2) ID_студента, Дисциплина, Дата
Имеются следующие функциональные зависимости:
№ зачетки, Дисциплина, Дата -> Оценка
ID_студента, Дисциплина, Дата -> Оценка
№ зачетки -> ID_студента
ID_студента -> № зачетки
Это отношение находится в 2НФ и 3НФ, но не удовлетворяет НФБК, потому что есть 2 детерминанта (ID_студента, № зачетки), которые не являются возможными ключами отношения.в
Поэтому можно разделить отношение:
(ID_студента, Дисциплина, Дата, Оценка), (№ зачетки, ID_студента)
ИЛИ
(№ зачетки, Дисциплина, Дата, Оценка), (№ зачетки, ID_студента)
Эти схемы равнозначны.
3НФ или НФБК являются достаточными для реальных проектов БД, однако в теории нормализации существуют НФ высших порядков.