Все информационные объекты предметной области связаны между собой. Различаются связи нескольких типов, для которых введены соответствующие обозначения.
3.1. Связь «один к одному»
Связь о один к одному (1:1) - в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот.
3.2. Связь «один ко многим»
Связь один ко многим (1:М) одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с 1 экземпляром объекта А.
3.3. Связь «многие ко многим»
Связь многие ко многим (М:М) - в каждый момент времени одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В и наоборот.
Важнейшей проблемой, решаемой при проектировании БД, является создание такой их структуры, которая обеспечивала бы минимальное дублирование информации и упрощала процедуру их обработки и обновления данных. Набор формальных требований универсального характера к организации данных, который эффективно решает вышеперечисленные задачи, получили название нормальных форм.
Первоначально были сформулированы 3 нормальные формы, затем число их возросло, но они являются труднодостижимыми и не получили широкого распространения.
Нормализация – это пошаговый процесс разбиения исходных таблиц на более простые, которые должны отвечать двум основным требованиям:
· Между полями таблицы не должно быть нежелательных функциональных зависимостей;
· Группировка полей должна обеспечивать минимальное дублирование данных, эффективный (без трудностей) поиск, обработку и обновление данных.
Правила приведения таблиц к 1 НФ:
1. Каждое поле должно быть атомарным, т.е. содержать единственный элемент данных
2. Поля в таблице не должны повторяться
Отношение Студент = (Номер зач. кн., Фамилия, Имя, Отчество, Дата, Группа) находится в первой нормальной форме.
Правила приведения таблиц к 2 НФ:
1. Каждая таблица содержит данные об одном предмете (объекте)
2. Каждая таблица должна содержать поле первичного ключа, который является уникальным идентификатором для каждой записи (строки)
3. Остальные (неключевые) поля должны относиться к первичному ключу, т.е. зависеть от него
Рис. 6 Пример графического изображения функциональных зависимостей реквизитов Студент
Пример.
Отношение Студент = (Номер, Фамилия, Имя, Отчество, Дата, Группа) находится в 1НФ и во 2НФ одновременно, так как описательные реквизиты однозначно определены и функционально зависят от ключа Номер.
Отношение Успеваемость = (Номер, Фамилия, Имя, Отчество, Дисциплина, Оценка) находится в 1НФ и имеет составной ключ Номер+Дисциплина. Это отношение не находится во 2НФ, так как атрибуты Фамилия, Имя, Отчество не находятся в полной функциональной зависимости с составным ключом отношения.
Правила приведения таблиц к 3 НФ:
Таблица находится в 3НФ, если она находится во 2НФ и в ней отсутствуют так называемые транзитивные зависимости полей от первичного ключа, т.е. все неключевые поля должны быть внешненезависимыми, т.е. изменение неключевого поля не должно приводить к изменению другого неключевого поля.
3 НФ освобождает от:
· Дублирования (избыточности) данных;
· Аномалий при выполнении операций добавления, удаления и обновления (изменения) данных
Рис. 7. Пример "расщепления" структуры информационного объекта