Нормализация баз данных

Нормализация — это формальный аппарат ограничений на фор­мирование таблиц (отношений), который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых дан­ных и уменьшает трудозатраты на ведение (ввод, корректировку) базы данных.

Процесс нормализации заключается в разложении (декомпо­зиции) исходных отношений БД на более простые отношения. При этом на каждой ступени этого процесса схемы отношений приводятся в нормальные формы. Для каждой ступени нормали­зации имеются наборы ограничений, которым должны удовлетворять отношения БД. Тем самым удаляется из таблиц базы избы­точная неключевая информация.

Процесс нормализации основан на понятии функциональной зависимости атрибутов: атрибут А зависит от атрибута В (В -> А), если в любой момент времени каждому значению атрибута В соот­ветствует не более одного значения атрибута А.

Зависимость» при которой каждый неключевой атрибут зави­сит от всего составного ключа и не зависит от его частей, называ­ется полной функциональной зависимостью. Если атрибут А зависит от атрибута 5, а атрибут В зависит от атрибута С (С -> В -> А), но обратная зависимость при этом отсутствует, то зависимость Сот А называется транзитивной.

Общее понятие нормализации подразделяется на несколько нормальных форм.

Информационный объект (сущность) находится в первой нор­мальной форме (1НФ), когда все его атрибуты имеют единствен­ное значение. Если в каком-либо атрибуте есть повторяющиеся значения, объект (сущность) не находится в 1НФ, и упущен, по крайней мере, еще один информационный объект (еще одна сущ­ность).

Например, задано следующее отношение:

ПРЕДМЕТ (Код предмета. Название, Цикл, Объем часов, Преподаватели).

Это отношение не находится в 1НФ, так как атрибут Препода­ватели подразумевает возможность наличия нескольких фамилий преподавателей в записи, относящейся к какому-то конкретному предмету, что соответствует участию нескольких преподавателей в ведении одной дисциплины.

Переведем атрибут с повторяющимися значениями в новую сущность, назначим ей первичный ключ (Код преподавателя) и свяжем с исходной сущностью ссылкой на ее первичный ключ (Код предмета). В результате получим две сущности, причем во вторую сущность добавятся характеризующие ее атрибуты:

ПРЕДМЕТ (Код предмета. Название, Цикл, Объем часов); ПРЕПОДАВАТЕЛЬ (Код преподавателя, ФИО, Должность, Оклад, Адрес, Код предмета).

Полученные выражения соответствуют случаю, когда несколь­ко преподавателей могут вести один предмет, но каждый препо­даватель не может вести более одной дисциплины. А если учесть, что на самом деле один лектор может читать более одной дисцип­лины, так же как одну и ту же дисциплину могут читать несколь­ко лекторов, необходимо отказаться от жесткой привязки преподавателя к предмету в сущности ПРЕПОДАВАТЕЛЬ, создав до­полнительную сущность ИЗУЧЕНИЕ, которая будет показывать, как связаны между собой преподаватели и предметы:

ПРЕДМЕТ (Код предмета. Название, Цикл, Объем часов); ПРЕПОДАВАТЕЛЬ (Код преподавателя, ФИО, Должность, Оклад, Адрес);

ИЗУЧЕНИЕ (Код предмета. Код преподавателя).

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама