ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.11.2023
Просмотров: 461
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
3.4.4. Многозначные зависимости
Атрибут Xмногозначно определяет атрибут Y в R (или Y многозначно зависит от X), если каждому значению атрибута X соответствует множество (возможно, пустое) значений атрибута Y, никак не связанных с другими атрибутами R. То есть для наличия в отношении многозначной зависимости необходимо иметь как минимум три атрибута.Многозначная зависимость обозначается двойной стрелкой: X→→Y.Рассмотрим отношение Преподаватель(Номер,Имя_ребенка,Предмет, Должность). Предметная область накладывает следующие ограничения:-
каждый преподаватель может иметь несколько детей, -
каждый преподаватель может вести несколько предметов, -
каждый преподаватель может занимать только одну должность, -
каждый предмет могут вести несколько преподавателей.
-
Номер→→Имя_ребенка, -
Номер→→Предмет, -
Номер→Должность.
| Преподаватель | |||
| Номер | Имя_ребенка | Предмет | Должность |
| 111 | Ольга | Алгебра | Доцент |
| 111 | Иван | Геометрия | Доцент |
| 111 | Ольга | Геометрия | Доцент |
| 111 | Иван | Алгебра | Доцент |
| 115 | Сергей | Алгебра | Профессор |
Для избавления от этих аномалий необходимо привести отношение к четвертой нормальной форме.Отношение находится в четвертой нармальной форме (4НФ), если оно находится в нормальной форме Бойса–Кодда и в нем отсутствуют многозначные зависимости, которые не являются функциональными.После приведения отношения Преподаватель к 4НФ мы получим три отношения:Преподаватель_1(Номер, Должность), Преподаватель_2(Номер, Имя_ребенка),Преподаватель_3(Номер, Предмет).
| Преподаватель_1 | | Преподаватель_2 | | Преподаватель_3 | |||
| Номер | Должность | | Номер | Имя_ре-бенка | | Номер | Предмет |
| 111 | Доцент | | 111 | Ольга | | 111 | Алгебра |
| 115 | Профессор | | 111 | Иван | | 111 | Геометрия |
| | | | 115 | Сергей | | 115 | Алгебра |
3.4.5. Свойства декомпозиции
После выполнения декомпозиции исходного отношения может случиться так, что информация, хранившаяся в исходном отношении, будет противоречить информации, хранящейся в полученных в результате декомпозиции отношениях. А при выполнении операции соединения получившихся в результате декомпозиции отношений появятся лишние кортежи или, наоборот, некоторые кортежи будут утеряны. Рассмотрим свойства декомпозиции.Пусть исходная схема R с множеством функциональных зависимостей F была приведена в результате декомпозиции к схеме отношений R_1, R_2, … , R_k с множеством функциональных зависимостей F1, F2, … , Fk.-
Декомпозиция обладает свойством соединения без потерь, если любое отношение r со схемой R удовлетворяет соотношению:
r(R) = πR_1(r)πR_2(r)πR_3(r) … πR_k(r).
-
Декомпозиция обладает свойством сохранения зависимостей, если из объединения всех зависимостей F1, F2, … , Fk можно вывести все зависимости F.
3.5. Построение реляционной модели данных
От модели предметной области очень легко перейти к реляционной модели данных. Для этого нужно выполнить несколько последовательных действий:-
Построить схемы отношения для классов объектов.
-
Для каждого класса объектов сформировать отдельное отношение, атрибутами которого будут свойства этого класса. Например, для объекта Студент можно составить следующую схему отношения:
-
Далее, для каждого атрибута определить домен и привести отношение к первой нормальной форме. В данном примере необходимо заменить атрибут ФИО тремя атрибутами Фамилия, Имя, Отчество. -
Затем, нужно выделить в отношении ключ. В данном случае ключом будет атрибут Номер, так как номера зачетных книжек не дублируются.
-
Построив схемы отношений для каждого класса объектов, можно перейти к построению отношений для связей между объектами.-
Для связи схема отношения строится следующим образом: для каждого класса, участвующего в связи, из соответствующей ему схемы отношения ключевые атрибуты копируются в новое отношение; если связь имеет свойства, то они также включаются в схему как атрибуты. -
Ключом такого отношения, скорее всего, будут либо ключ одного из классов, входящих в связь, либо оба ключа вместе (для бинарной связи). Иногда бывает удобно ввести искусственный ключ.
-
-
Схемы отношений, соответствующие связям между классами, будут иметь внешние ключи – атрибуты, соответствующие ключам схем классов, входящих в связь. Например, в отношении Поставки атрибут Товар будет внешним ключом, ссылающимся на отношение Товар, а атрибут Поставщик будет внешним ключом, ссылающимся на отношение Поставщик. -
Для атрибутов, соответствующих свойствам связи, необходимо определить домены.
-
При таком построении модели данных – из модели предметной области – отношения чаще всего будут сразу находиться в 3НФ. Исключением могут быть только составные атрибуты, нарушающие условия 1НФ, но, исправив их, вы получите 3НФ. -
Конечно, схема может получиться неоптимальной; например, связь, относящуюся к типу «один-ко-многим», в некоторых случаях бывает удобным не оставлять как отдельное отношение, а включить в схему отношения для класса объекта, который входил в связь со стороны «многие». Однако при перестроении схемы будьте внимательны, могут быть нарушены условия одной из нормальных форм.