10.8.3. нормализация отношений
Нормализация отношений — это приведение отношений к виду,
позволяющему устранить дублирование, обеспечить непротиворе-
чивость данных, хранимых в БД, и уменьшить трудозатраты на ве-
дение БД.
Выделяют три нормальные формы отношений.
П е р в а я н о р м а л ь н а я ф о р м а. Отношение называется нор-
мализованным или приведенным к первой нормальной форме, если
все его атрибуты являются простыми, т. е. не могут быть далее раз-
делены.
Рис. 10.35. Структура данных реляционной модели данных
219
Например, отношение
КНИГА
= (АВТОР, НАЗВАНИЕ, ВЫХОДНЫЕ ДАННЫЕ)
не находится в первой нормальной форме, так как атрибут ВЫХОД-
НЫЕ ДАННЫЕ можно разделить на атрибуты ИЗДАТЕЛЬСТВО,
ГОД, КОЛИЧЕСТВО СТРАНИЦ.
Отношение
СТУДЕНТ
= (НОМЕР, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ГРУППА)
находится в первой нормальной форме, где поле НОМЕР является
простым первичным ключом.
В т о р а я н о р м а л ь н а я ф о р м а. Отношение приведено ко
второй нормальной форме, если оно находится в первой нормальной
форме, и каждый неключевой атрибут функционально полно зависит
от составного ключа.
Функционально полной зависимостью неключевых атрибутов на-
зывается зависимость, при которой в записи определенному значению
ключа соответствует только одно значение неключевого поля. При
этом это поле не находится в функциональной зависимости ни от
какой части составного ключа.
Например, отношение СТУДЕНТ находится в первой и второй
нормальных формах.
Отношение
УСПЕВАЕМОСТЬ
= (НОМЕР, ФАМИЛИЯ, ДИСЦИПЛИНА,
ОЦЕНКА)
находится в первой нормальной форме и имеет составной ключ НО-
МЕР
+ ДИСЦИПЛИНА. Это отношение не находится во второй
нормальной форме, так как атрибут ФАМИЛИЯ функционально за-
висит от поля НОМЕР составного ключа. Чтобы привести это от-
ношение ко второй нормальной форме необходимо разбить его на
два связанных отношения:
УСПЕВАЕМОСТЬ
= (НОМЕР, ДИСЦИПЛИНА, ОЦЕНКА),
СПИСОК
= (НОМЕР, ФАМИЛИЯ).
Связь между отношениями осуществляется по полю НОМЕР.
Т р е т ь я н о р м а л ь н а я ф о р м а. Отношение находится в третьей
нормальной форме, если оно находится во второй нормальной форме,
и каждый неключевой атрибут не зависит от ключа транзитивно.
Транзитивная зависимость присутствует в отношении, если суще-
ствует два неключевых поля, первое из которых зависит от ключа, а
второе от первого.
Например, отношение СТУДЕНТ находится в третьей нормальной
форме.
220
Отношение
ДИСЦИПЛИНА
= (НАЗВАНИЕ, ЛЕКТОР, УЧ_СТЕПЕНЬ,
ГРУППА)
не находится в третьей нормальной форме, так как поле УЧ_СТЕ-
ПЕНЬ зависит от поля ЛЕКТОР, но не от составного ключа,
поэтому отношение необходимо разбить на два связанных от-
ношения:
ДИСЦИПЛИНА
= (НАЗВАНИЕ, ЛЕКТОР, ГРУППА),
ПРЕПОДАВАТЕЛЬ
= (ЛЕКТОР, УЧ_СТЕПЕНЬ).
Связь между отношениями осуществляется по полю ЛЕКТОР.
Достарыңызбен бөлісу: |