Цель работы: освоить метод получения предварительного набора отношений из диаграмм ER-типа, а также принципы определения нормальной формы отношения и корректировки информационной модели.
Краткие теоретические сведения
Функциональная зависимость (ФЗ) - это такой вид связи между атрибутами А и В, когда одному значению атрибута А в любой момент времени соответствует только одно значение атрибута В.
Первичный ключ - атрибут или набор атрибутов, который используется в данном отношении для идентификации (различения) кортежей (записей). Значение ключа, следовательно, уникально для каждой записи.
Возможный ключ - атрибут или набор атрибутов, который может быть использован для данного отношения в качестве первичного ключа.
Детерминант (ФЗ) - это атрибут или набор атрибутов, от которого функционально зависит другой атрибут или набор атрибутов, т.е. одному значению которого (которых) в любой момент времени соответствует только одно значение другого атрибута (набора атрибутов). Иными словами, детерминант - левая часть ФЗ.
Нормальная форма Бойса-Кодда (НФБК) - такая форма отношения, для которого верно, что каждый детерминант ФЗ в отношении является возможным ключом.
Для отношения, находящегося в НФБК, в большинстве случаев отсутствуют проблемы модификации, вставки и удаления кортежей.
Для получения из ER-диаграмм предварительного набора отношений используют следующие правила генерации отношений:
Правило 1. Если степень бинарной связи равна 1:1 и класс принадлежности обеих сущностей является обязательным, то требуется только одно отношение. Первичным ключом этого отношения может быть ключ любой из двух сущностей.
|
Правило 2. Если степень бинарной связи равна 1:1 и класс принадлежности одной сущности является обязательным, а другой - необязательным, то необходимо построение двух отношений - по одному для каждой сущности, при этом ключ сущности должен служить ключом для соответствующего отношения. Кроме того, ключ сущности, для которого класс принадлежности является необязательным, добавляется в качестве атрибута в отношение для сущности с обязательным классом принадлежности.
Правило 3. Если степень бинарной связи равна 1:1 и класс принадлежности обеих сущностей является необязательным, то необходимо построение трех отношений - по одному для каждой сущности, ключи которых служат в качестве первичных для соответствующих отношений, и одного для связи. Среди своих атрибутов отношение, выделяемое для связи, должно иметь по одному ключу сущности от каждой сущности.
Правило 4. Если степень бинарной связи равна 1:n и класс принадлежности n-связной сущности является обязательным, то необходимо построение двух отношений - по одному для каждой сущности, при этом ключ сущности должен служить ключом для соответствующего отношения. Кроме того, ключ 1-связной сущности добавляется в качестве атрибута в отношение, отводимое для n-связной сущности.
Правило 5. Если степень бинарной связи равна 1:n и класс принадлежности n-связной сущности является необязательным, то необходимо построение трех отношений - по одному для каждой сущности, ключи которых служат в качестве первичных для соответствующих отношений, и одного для связи. Среди своих атрибутов отношение, выделяемое для связи, должно иметь по одному ключу сущности от каждой сущности.
|
Правило 6. Если степень бинарной связи равна m:n, то для хранения данных необходимо построение трех отношений - по одному для каждой сущности, ключи которых служат в качестве первичных для соответствующих отношений, и одного для связи. Среди своих атрибутов отношение, выделяемое для связи, должно иметь по одному ключу сущности от каждой сущности.
Примечание. Атрибуты, присвоенные связям при разработке ER-диаграмм, включаются в отношения, выделенные для связей, либо, если таковых не выделяется, в отношения, выделенные для сущностей.
Ход выполнения работы
1. Ознакомьтесь с лекционным материалом по соответствующей теме и краткими теоретическими сведениями к данной лабораторной работе.
2. Ознакомьтесь с полученной в ходе выполнения своего индивидуального задания к лабораторной работе №3 диаграммой ER-типа.
3. Рассмотрите отдельно каждую связь между сущностями и получите для нее по соответствующему правилу предварительный набор отношений (ПНО).
4. Проверьте полученные отношения на соответствие нормальной форме Бойса-Кодда. Сделайте выводы о правильности построенной вами информационной модели. Проведите мероприятия по ее корректировке.
5. Удалите из общего набора отношений, полученных для всех связей, дублирующие отношения (те отношения, поля которых являются подмножеством полей другого отношения).
6. Представьте полученные отношения в виде схем отношений следующим образом:
Ri ( атрибут1-ключ, атрибут2, атрибут3,... )
|
Добавьте в отношения недостающие с вашей точки зрения атрибуты. Сравните полученный набор отношений с набором в вашем индивидуальном задании к лабораторной работе №2.
Индивидуальные задания к лабораторной работе №4
Индивидуальным заданием к данной работе являются диаграммы ER-типа, полученные вами в ходе выполнения лабораторной работы №3.
Контрольные вопросы.
1. Цели проектирования баз данных.
2. Универсальное отношение и его недостатки.
3. Дублированные данные и избыточно дублированные данные в отношениях. Пути их устранения.
4. Проблемы модификации, вставки и внедрения в отношениях.
5. Нормализация отношения и путь для ее осуществления. Цель нормализации отношений.
6. Понятие отношения. Соответствия понятийного базиса табличной формы, плоского файла и отношения. Ключи сущностей и отношений.
Отчет по лабораторной работе должен содержать:
· тему и цель работы;
· диаграмму ER-типа, полученную вами в ходе выполнения лабораторной работы №3;
· кратко изложенные этапы хода работы и полученные из ER-диаграммы схемы отношений (см. пункты 4, 5 и 6 Хода выполнения работы);
· вывод по результатам работы.
Лабораторная работа №4
Установление связей между таблицами баз данных
Цель работы: получить навыки установления связей типов “один-к-одному” и “один-ко-многим” между таблицами баз данных средствами ADO.NET.