и находится в 1НФ, поскольку все его атрибуты простые.
В этом отношении в соответствии с рис. 5.5 б можно выделить частичную зависимость атрибутов Стаж, Д_Стаж, Каф, Должн, Оклад от ключа - указанные атрибуты находятся в функциональной зависимости от атрибута
ФИО, являющегося частью составного ключа.
Эта частичная зависимость от ключа приводит к следующему:
1. В отношении присутствует явное и неявное избыточное дублирование
данных, например:
-
повторение сведений о стаже, должности и окладе преподавателей, проводящих занятия в нескольких группах и/или но разным предметам;
-
повторение сведений об окладах для одной и той же должности или о надбавках за одинаковый стаж.
2. Следствием избыточного дублирования данных является проблема их
редактирования. Например, изменение должности у преподавателя Иванова
И.М. потребует просмотра всех кортежей отношения и внесения изменений
в те из них, которые содержат сведения о данном преподавателе.
Часть избыточности устраняется при переводе отношения в 2НФ.
3 Вторая нормальная форма.Отношение находится в 2НФ, если оно находится в
1НФ и каждый неключевой атрибут функционально полно зависит от первичного ключа (составного).
Для устранения частичной зависимости и перевода отношения в 2НФ необходимо, используя операцию проекции, разложить его на несколько отношений следующим образом:
-
построить проекцию без атрибутов, находящихся в частичной функциональной зависимости от первичного ключа;
-
построить проекции на части составного первичного ключа и атрибуты, зависящие от этих частей.
В результате получим два отношения R1 и R2 в 2НФ (рис. 5.6).
В отношении R1 первичный ключ является составным и состоит из атрибутов
ФИО. Предм. Группа. Напомним, что данный ключ в отношении R1 получен в предположении, что каждый преподаватель в одной группе по одному предмету может либо читать лекции, либо проводить практические занятия. В отношении R2 ключ
ФИО.Исследование отношений R1 и R2 показывает, что переход к 2НФ позволил исключить явную избыточность данных в таблице R2 - повторение строк со сведениями о преподавателях. В R2 по-прежнему имеет место неявное дублирование данных.
Для дальнейшего совершенствования отношения необходимо преобразовать его в ЗНФ.
4 Третья нормальная форма.Определение 1. Отношение находится в ЗНФ, если оно находится в 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Существует и альтернативное определение.
Определение 2. Отношение находится в ЗНФ в том и только в том случае, если все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.
Доказать справедливость этого утверждения несложно. Действительно, то, что неключевые атрибуты полностью зависят от первичного ключа, означает, что данное отношение находится в форме 2НФ. Взаимная независимость атрибутов (определение приведено выше) означает отсутствие всякой зависимости между атрибутами отношения, в том числе и транзитивной зависимости между ними. Таким образом, второе определение ЗНФ сводится к первому определению.
Если в отношении R1 транзитивные зависимости отсутствуют, то в отношении R2 они есть:
ФИО—»Должн—Оклад,
ФИО—Оклад—>Должн,
ФИО—»Стаж—»Д_Стаж
Транзитивные зависимости также порождают избыточное дублирование информации в отношении. Устраним их. Для этого используя операцию проекции на атрибуты, являющиеся причиной транзитивных зависимостей, преобразуем отношение R2, получив при этом отношения R3, R4 и R5, каждое из которых находится в ЗНФ (рис. 5.7а). Графически эти отношения представлены на рис. 5.76. Заметим, что отношение R2 можно преобразовать по-другому, а именно: в отношении R3 вместо атрибута Должн взять атрибут Оклад.
На практике построение ЗНФ схем отношений в большинстве случаев является достаточным и приведением к ним процесс проектирования реляционной БД заканчивается. Действительно, приведение отношений к ЗНФ в нашем примере, привело к устранению избыточного дублирования.
Если в отношении имеется зависимость атрибутов составного ключа от неключевых атрибутов, то необходимо перейти к усиленной ЗНФ.
Усиленная ЗНФ или нормальная форма Бойса - Кодда (БКНФ).
Отношение находится в БКНФ, если оно находится в ЗНФ и в нем отсутствуют зависимости ключей (атрибутов составного ключа) от неключевых атрибутов.
У нас подобной зависимости нет, поэтому процесс проектирования на этом заканчивается. Результатом проектирования является БД, состоящая из следующих таблиц: Rl, R3, R4, R5. В полученной БД имеет место необходимое дублирование данных, но отсутствует избыточное.
5 Завершение процесса нормализации
Существуют четвёртая и пятая нормальные формы, но на практике обычно ограничиваются структурой БД, соответствующей ЗНФ или БКНФ. Поэтому процесс нормализации отношений методом нормальных форм предполагает последовательное удаление из исходного отношения следующих межатрибутных зависимостей:
-
частичных зависимостей неключевых атрибутов от ключа (удовлетворение требований 2НФ);
-
транзитивных зависимостей неключевых атрибутов от ключа (удовлетворение требований ЗНФ);
-
зависимости ключей (атрибутов составных ключей) от неключевых атрибутов (удовлетворение требований БКНФ).
Кроме метода нормальных форм Кодда, используемого для проектирования небольших БД, применяют и другие методы, например, метод ER-диаграмм (метод «Сущность-связь»). Этот метод используется при проектировании больших БД, на нем основан ряд средств проектирования БД. Метод ER-диаграмм рассмотрим на следующей лекции.
На последнем этапе метода ER-диаграмм отношения, полученные в результате проектирования, проверяются на принадлежность их к БКНФ. Этот этап может выполняться уже с использованием метода нормальных форм. После завершения проектирования создается БД с помощью СУБД.
Контрольные вопросы -
Для чего необходим процесс нормализации?
-
Какие аномалии могут возникать при использовании ненормализованных отношений и почему?
-
Определите процессы синтеза и декомпозиции.
-
Назовите определение 1НФ.
-
Назовите определение 2НФ.
-
Назовите определение 3НФ.
-
Что дает приведение БД к 3НФ?
-
Почему приведение к 3НФ считается достаточным для большинства проектов БД?
-
. Что является исходной информацией на первом шаге процесса проектирования
-
классическим методом?
-
Какие нормальные формы вы знаете?
-
Приведение к какой нормальной форме считается достаточным для завершения процесса нормализации?
-
К каким ситуациям может привести работа с ненормализованными таблицами?
-
В чем вы видите недостатки процесса проектирования с использованием принципов нормализации?
ЛЕКЦИЯ 16
ПЛАН
1 Основные понятия метода
2 Этапы проектирования
3 Правила формирования отношений
3.1 Формирование отношений для связи 1:1
3.2 Формирование отношений для связи 1:М
3.3 Формирование отношений для связи М:М
ЛИТЕРАТУРА: [1], стр. 158 – 161
Метод сущность-связь называют также методом «ER-диаграмм»: во-первых, ER - аббревиатура от слов
Essence (сущность) и
Relation (связь), во-вторых, метод основан на использовании диаграмм, называемых соответственно диаграммами ER-экземпляров и диаграммами ER-типа.
1 Основные понятия методаОсновными понятиями метода сущность-связь являются следующие:
-
сущность,
-
атрибут сущности,
-
ключ сущности,
-
связь между сущностями,
-
степень связи,
-
класс принадлежности экземпляров сущности,
-
диаграммы ER-экземпляров,
-
диаграммы ER-типа.
Сущность представляет собой объект, информация о котором хранится в БД. Экземпляры сущности отличаются друг от друга и однозначно идентифицируются. Названиями сущностей являются, как правило,
существительные, например: ПРЕПОДАВАТЕЛЬ, ДИСЦИПЛИНА, КАФЕДРА, ГРУППА.
Атрибут представляет собой свойство сущности. Это понятие аналогично понятию атрибута в отношении. Так, атрибутами сущности ПРЕПОДАВАТЕЛЬ может быть его Фамилия, Должность, Стаж (преподавательский) и т. д.
Ключ сущности - атрибут или набор атрибутов, используемый для идентификации экземпляра сущности. Как видно из определения, понятие ключа сущности аналогично понятию ключа отношения.
Связь двух или более сущностей - предполагает зависимость между атрибутами этих сущностей. Название связи обычно представляется
глаголом. Примерами связей между сущностями являются следующие: ПРЕПОДАВАТЕЛЬ
ВЕДЕТ ДИСЦИПЛИНУ (Иванов ВЕДЕТ «Базы данных»), ПРЕПОДАВАТЕЛЬ
ПРЕПОДАЕТ-В ГРУППЕ (Иванов ПРЕПОДАЕТ-В 256 группе), ПРЕПОДАВАТЕЛЬ
РАБОТАЕТ-НА КАФЕДРЕ (Иванов РАБОТАЕТ-НА 25 кафедре).
Приведенные определения сущности и связи не полностью формализованы, но приемлемы для практики. Следует иметь в виду, что в результате проектирования могут быть получены несколько вариантов одной БД. Так, два разных проектировщика, рассматривая одну и ту же проблему с разных точек зрения, могут получить различные наборы сущностей и связей. При этом оба
варианта могут быть рабочими, а выбор лучшего из них будет результатом личных предпочтений.
С целью повышения наглядности и удобства проектирования для представления сущностей, экземпляров сущностей и связей между ними используются следующие графические средства:
-
диаграммы ER-экземпляров,
-
диаграммы ER-muna, или ER-диаграммы.
На рис. 6.1 приведена диаграмма ER-экземпляров для сущностей ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА со связью
ВЕДЕТ.
Диаграмма ER-экземпляров показывает, какую конкретно дисциплину (СУБД, ПЛ/1 и т.д.) ведет каждый из преподавателей. На рис. 6.2 представлена диаграмма ER-типа, соответствующая рассмотренной диаграмме ER-экземпляров.
На начальном этапе проектирования БД выделяются атрибуты, составляющие ключи сущностей.
На основе анализа диаграмм ER-типа формируются отношения проектируемой БД. При этом учитывается
степень связи сущностей и
класс их принадлежности, которые, в свою очередь, определяются на основе анализа диаграмм ER-экземпляров соответствующих сущностей.
Степень связи является характеристикой связи между сущностями, которая может быть типа: 1:1, 1:М, М:1, М:М.
Класс принадлежности (КП) сущности может быть:
обязательным и
необязательным.Класс принадлежности сущности является
обязательным, если все экземпляры этой сущности обязательно участвуют в рассматриваемой связи, в противном случае класс принадлежности сущности является
необязательным.Варьируя классом принадлежности сущностей для каждого из названных типов связи, можно получить несколько вариантов диаграмм ER-тппа. Рассмотрим примеры некоторых из них.
Пример 1. Связи типа 1:1 и необязательный класс принадлежности.
В приведенной на рис. 6.1 диаграмме степень связи между сущностями 1:1, а класс принадлежности обеих сущностей необязательный. Действительно, из рисунка видно следующее:
-
каждый преподаватель ведет не более одной дисциплины, а каждая дисциплина ведется не более чем одним преподавателем (степень связи 1:1);
-
некоторые преподаватели не ведут ни одной дисциплины и имеются дисциплины, которые не ведет ни один из преподавателей (класс принадлежности обеих сущностей необязательный).
Пример 2. Связи типа 1:1 и обязательный класс принадлежности.
На рис. 6.3 приведены диаграммы, у которых степень связи между сущностями 1:1, а класс принадлежности обеих сущностей обязательный.
В этом случае каждый преподаватель ведет одну дисциплину и каждая дисциплина ведется одним преподавателем.