30811

Процес нормализации баз данных

Доклад

Информатика, кибернетика и программирование

Например задано следующее отношение: ПРЕДМЕТ Код предмета. Переведем атрибут с повторяющимися значениями в новую сущность назначим ей первичный ключ Код преподавателя и свяжем с исходной сущностью ссылкой на ее первичный ключ Код предмета. В результате получим две сущности причем во вторую сущность добавятся характеризующие ее атрибуты: ПРЕДМЕТ Код предмета. Название Цикл Объем часов; ПРЕПОДАВАТЕЛЬ Код преподавателя ФИО Должность Оклад Адрес Код предмета.

Русский

2015-01-26

16.04 KB

7 чел.

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

Одни и те же данные могут группироваться в таблицы различными способами. Группировка атрибутов в отношениях должна быть рациональной, т.е. минимизирующей дублирование данных и упрощающей процедуры их обработки и обновления. Устранение избыточности данных, являющееся одной из важнейших задач при проектировании баз данных, обеспечивается нормализацией.

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

А также другие работы, которые могут Вас заинтересовать

71504. Исследование зависимости жёсткости тела от его размеров 176 KB
  Цель работы: пользуясь зависимостью силы упругости от абсолютного удлинения вычислить жёсткости пружин разной длины. Поэтому силы упругости имеют электромагнитную природу. Сила упругости всегда направлена к положению равновесия и стремится вернуть тело в исходное состояние.
71508. ГИДРОМЕХАНИЧЕСКИЕ ПРОЦЕССЫ 787.59 KB
  Вторая задача определение температуры в различных участках тела участвующего в процессе теплообмена. Эта задача имеет важное значение для расчета температурных режимов эксплуатации деталей машин и различных конструкций так как прочность материалов сильно зависит от температуры...
71509. Разработка и отладка алгоритмов и программ с использованием шаблонов классов и алгоритмов библиотеки STL 812.16 KB
  Цель работы: Получить практические навыки в разработке алгоритмов и написании программ с использованием шаблонов классов и алгоритмов библиотеки STL. Общая постановка. Дано: число N и последовательность a1, a2,... aN Создать шаблон класса, порождающий динамические одномерные массивы...
71510. Разработка и отладка алгоритмов и программ по обработке исключительных ситуаций 317.68 KB
  Цель работы: Получить практические навыки в разработке алгоритмов и написании программ по обработке исключительных ситуаций. Опишите функцию ввода и вывода значения переменной, обработайте ошибку, если вводимое значение строка...
71511. Разработка и отладка алгоритмов и программ с использованием шаблонов функций 333.11 KB
  Цель работы: Получить практические навыки в разработке алгоритмов и написании программ с использованием шаблонов функций...
71512. Разработка алгоритмов и программ с использованием дружественных функций и классов 617.37 KB
  Цель работы: Получить практические навыки в разработке алгоритмов и написании программ с использованием дружественных функций и классов.