logo search
Базы Данных_ответы

6. Нормализация отношений в реляционной модели бд

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

Пусть создана таблица Студент, содержащая следующие поля: № группы, ФИО, № зачетки, Дата рождения, Название специальности, Название факультета. Такая организация хранения информации будет иметь ряд недостатков:

Нормализация таблиц предназначена для устранения этих недостатков.

Имеется три нормальные формы отношений.

Первая нормальная форма. Реляционная таблица приведена к первой нормальной форме, если все ее поля простые (т.е. далее неделимые). Так, если из таблицы Студент требуется получать сведения по имени студента, то поле ФИО следует разбить на части Фамилия, Имя, Отчество.

Вторая нормальная форма. Реляционная таблица задана во второй нормальной форме, если она приведена к первой нормальной форме, и каждый неключевое поле полностью зависит от любого возможного ключа. Чтобы привести таблицу ко второй нормальной форме, необходимо определить функциональную зависимость полей. Функциональная зависимость полей – это зависимость, при которой в экземпляре информационного объекта определенному значению ключевого реквизита соответствует только одно значение описательного реквизита.

Третья нормальная форма. Таблица находится в третьей нормальной форме, если она находится во второй нормальной форме, и отсутствует транзитивная зависимость полей. Транзитивная зависимость наблюдается в том случае, когда одно из двух описательных полей зависит от ключа, а другое описательный поле зависит от первого описательного поля. Например, в таблице Студент (№ группы, ФИО, № зачетной книжки, Дата рождения, Староста) три поля: № зачетной книжки, № группы, Староста находятся в транзитивной зависимости. № группы зависит от № зачетной книжки, а Староста зависит от № группы. Для устранения транзитивной зависимости необходимо часть полей таблицы Студент перенести в другую таблицу Группа. Таблицы примут следующий вид: Студент (№ группы, ФИО, № зачетной книжки, Дата рождения), Группа (№ группы, Староста).

3 формы нормализации:

1. отношение называется приведенным к 1НФ, если все атрибуты простые, т.е. неделимые. Преобразование может привести к повышению кол-ва атрибутов объекта;

2. 2НФ: отношение должно находиться в 1НФ и каждый неключевой (описательный) атрибут должен функционально зависеть от ключевого атрибута (составного или простого), т.е. если описательный не зависит от ключевого, то выделяется новый информационный объект и вместо описательного атрибута вводится ключ вновь созданного объекта – вторичный ключ;

3. 3НФ: отношения находящиеся во 2НФ и каждый неключевой (описательный) реквизит не имеет транзитивной зависимости от первичного ключа.

Транзитивная зависимость – описательный реквизит зависит не только от ключевого, но и от другого описательного реквизита. При транзитивной зависимости выделяют новый информационный объект.