logo search
Курс лекций по информатике

Третья нормальная форма

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

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

Пример 4. Если в состав описательных реквизитов информационного объекта Студент включить фамилию старосты группы (Староста), которая определяется только номером группы, то одна и та же фамилия старосты будет многократно повторяться в разных экземплярах данного информационного объекта.

Для устранения транзитивной зависимости описательных реквизитов необходимо провести «расщепление» исходного информационного объекта. В результате расщепления часть реквизитов удаляется из исходного информационного объекта и включается в состав других информационных объектов.

Пример 5. «Расщепление» информационного объекта, содержащего транзитивную зависимость описательных реквизитов, показано на рис. 3.

Студент группы Студент Группа

Номер*

Фамилия

Имя

Отчество

Дата

Группа

Группа*

Староста

Номер*

Фамилия

Имя

Отчество

Дата

Группа

Староста

Рис. 3 – Пример «расщепления» структуры информационного объекта

Как видно из рис. 3, исходный информационный объект Студент группы представляется в виде совокупности правильно структурированных информационных объектов (Студент и Группа), реквизитный состав которых тождественен исходному объекту. Отношение Студент = (номер, Фамилия, Имя, Отчество, Дата, Группа) находится одновременно в первой, второй и третьей нормальной форме.

3. Типы связей

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

- один к одному (1 : 1);

- один ко многим (1 : М);

- многие ко многим (М : М).

1) Связь один к одному (1 : 1) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот.

А

А

В

1 В1

А2

А3 В2

Рис. 4 - Графическое изображение реального отношения 1 : 1

Примером связи 1 : 1 может служить связь между информационными объектами СТУДЕНТ и СЕССИЯ:

СТУДЕНТ (номер, Ф.И.О., Пол, Дата рождения, Группа)

СЕССИЯ (номер, Оценка 1, Оценка 2, …, Оценка 4, Результат)

СТУДЕНТ СЕССИЯ (каждый студент имеет определенный набор экзаменационных оценок в сессию).

2) При связи один ко многим (1 : М) одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с 1 экземпляром объекта А. Графически данное соответствие имеет вид:

А

А

В

1 В1

А2 В2

А3 В3

Рис. 5 - Графическое изображение реального отношения 1 : М

Примером связи 1 : М служит связь между информационными объектами СТИПЕНДИЯ и СЕССИЯ:

СТИПЕНДИЯ (результат, Процент)

СЕССИЯ (номер, оценка 1, оценка 2, …, Результат).

СТИПЕНДИЯ СЕССИЯ (установленный размер стипендии по результатам сдачи сессии может повторяться многократно для различных студентов)

3) Связь многие ко многим (М : М) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 0, 1 иди более экземпляров объекта В и наоборот. Указанное соответствие графически представлено так:

А

А

В

1 В1

А2 В2

А3 В3

Рис. 6 - Графическое изображение реального отношения М : М

Примером связи М : М служит связь между информационными объектами СТУДЕНТ и ПРЕПОДАВАТЕЛЬ:

СТУДЕНТ (номер, Ф.И.О., Пол, Дата рождения, Группа)

ПРЕПОДАВАТЕЛЬ (код преподавателя, Ф.И.О.)

СТУДЕНТ ПРЕПОДАВАТЕЛЬ (один студент обучается у многих преподавателей, один преподаватель обучает многих студентов).

Таким образом, тип создаваемой связи зависит от полей, для которых определяется связь:

- связь Один-к-одному создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы;

- связь Один-ко-многим создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс, т.е. значения в нем не повторяются;

- связь Многие-ко-многим фактически представляет две связи типа один-ко-многим через третью таблицу, ключ которой состоит, по крайней мере, из двух полей, общих для двух других таблиц.