- •1. Обязательный атрибут
- •2. Ограничения целостности связи
- •3. Триггер ссылочной целостности
- •Экзаменационный билет n 34.
- •2. Ключи.
- •3. Связи.
- •Экзаменационный билет n 36.
- •Экзаменационный билет n 37.
- •Экзаменационный билет n 38.
- •Экзаменационный билет n 39.
- •Экзаменационный билет n 41.
- •Ключевые атрибуты
- •Экзаменационный билет n 42.
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Четвертая нормальная форма
Экзаменационный билет n 42.
1. Нормализация отношений
С проектированием базы данных непосредственно связано понятие нормализации. Отношение называется нормализованным, если значение каждого атрибута в каждом кортеже является атомарным (неделимым).
В реляционной модели данных поддерживаются только нормализованные отношения по следующим причинам:
такой подход не налагает ограничений на то, что можно описывать с помощью нормализованных отношений;
полученное упрощение в структуре данных ведет к соответствующим упрощениям в операторах манипулирования данными.
Первая нормальная форма
Определение. Отношение R находится в 1НФ тогда и только тогда, когда все входящие в него значения (домены) содержат только атомарные значения.
Это значит, что любое нормализованное отношение находится в 1 НФ.
Функциональная зависимость. Пусть X и Y - два атрибута некоторого отношения. Говорят, что Y функционально зависит от X, если в любой момент времени каждому значению Х соответствует не более одного значения атрибута Y.
Функциональную зависимость обозначают так X - > У.
Возьмем отношение студент S (Ns, Fio, Ngr, Addr, Tel), определенное в. В этом отношении каждый из атрибутов Fio, Ngr, Addr, Tel функционально зависит от атрибута Ns. Можно представить функциональные зависимости в виде диаграммы - рис. 2.
Выявление функциональных зависимостей является существенной частью понимания семантики данных. В отношении S_P (Ns, Np, Ball), определенном в , атрибут Ball функционально зависит от совокупности атрибутов Ns, Np (диаграмма представлена на рис. 3).
Итак, в нормализованном отношении все неключевые атрибуты функционально зависят от ключа отношения. Ключом отношения S является атрибут Ns, ключом отношения S_P является совокупность атрибутов Ns, Np - составной ключ.
Функциональные зависимости в отношении S |
Функциональные зависимости в отношении S_P |
|
|
Рис. 2. |
Рис. 3. |
Вторая нормальная форма
Отношение, которое находится только в 1НФ, имеет структуру, нежелательную по многим причинам. Предположим, что имеем отношение, содержащее информацию о студенте и его оценках:
STUD (Ns, Flo, Ngr,Addr, Tel, Np, Ball)
Отношение STUD находится в 1НФ. Но атрибуты Flo, Ngr, Addr, Tel нe находятся в полной функциональной зависимости от ключа отношения, так как они функционально зависят от части ключа - Ns. Это приводит к следующей нежелательной ситуации. Во-первых, имеет место дублирование информации. Во-вторых, информация о студенте появится только тогда, когда он получит оценку хотя бы по одному предмету.
Определение. Отношение находится во 2НФ, если оно находится в 1НФ и каждый неключевой атрибут функционально полно зависит от составного ключа.
Чтобы отношение STUD привести ко 2НФ, необходимо:
* построить его проекцию, исключив атрибуты, которые не находятся в полной функциональной зависимости от составного ключа; * построить проекцию (в общем случае не одну), использовав часть составного ключа и атрибуты, функционально зависящие от этой части составного ключа.
В нашем случае отношение STUD преобразуется последовательно в отношение S_P и в отношение S. Отношения S, S_P находятся во 2НФ.