- •Содержание
- •Пример выполнения
- •Лабораторная работа 2 получение набора отношений методом декомпозиции
- •Ход выполнения работы
- •Пример выполнения задания 2
- •Определение первой нормальной формы
- •Определение второй нормальной формы
- •Определение третьей нормальной формы
- •Лабораторная работа №4 построение запросов к базам данных
- •Ход работы
- •Краткие теоретические сведения
- •Ход работы
- •Лабораторная работа №6 (дополнительно) разработка отчетов в приложениях баз данных при помощи компонентов quick report
- •Краткие теоретические сведения
- •Приложение а
- •Индивидуальные задания
- •Приложение б
- •Индивидуальные вопросы к самостоятельному изучению
- •Список рекомендуемой литературы
Лабораторная работа 2 получение набора отношений методом декомпозиции
Цель: освоить принципы определения нормальной формы отношения и корректировки информационной модели.
Краткие теоретические сведения
Если даны два атрибута X и Y некоторого отношения, то говорят, что Y функционально зависит от X, если в любой момент времени каждому значению X соответствует ровно одно значение Y – такая зависимость именуется функциональной зависимостью (обозначается X→Y).
X и Y могут представлять собой не только единичные атрибуты, но и группы, составленные из нескольких атрибутов одного отношения. Функциональные зависимости представляют собой связи типа "один ко многим", существующие внутри отношения.
Избыточная функциональная зависимость – зависимость, заключающая в себе такую информацию, которая может быть получена на основе других зависимостей, имеющихся в базе данных.
Полная функциональная зависимость присутствует, когда неключевой атрибут функционально полно зависит от составного ключа если он функционально зависит от всего ключа в целом, но не находится в функциональной зависимости от какого-либо из входящих в него атрибутов.
Транзитивная функциональная зависимость: пусть X, Y, Z – три атрибута некоторого отношения. При этом →Y и Y→Z, но обратное соответствие отсутствует, т.е. Z-/->Y и Y-/->X. Тогда Z транзитивно зависит от X.
Неключевым атрибутом называется любой атрибут отношения, не входящий в состав первичного ключа (в частности, первичного).
Два или более атрибута взаимно независимы, если ни один из этих атрибутов не является функционально зависимым от других.
Простой атрибут – атрибут, значения которого атомарны (неделимы).
Сложный атрибут – получается соединением нескольких атомарных атрибутов, которые могут быть определены на одном или разных доменах. (его также называют вектор или агрегат данных).
Первичный ключ – атрибут или набор атрибутов, который используется в данном отношении для идентификации (различения) кортежей (записей). Значение ключа, следовательно, уникально для каждой записи.
Возможный ключ – атрибут или набор атрибутов, который может быть использован для данного отношения в качестве первичного ключа.
Детерминант – любой атрибут, от которого полностью функционально зависит некоторый другой атрибут.
Нормализация – устранение избыточных функциональных зависимостей.
Отношение находится в 1NF если значения всех его атрибутов атомарны.
Вторая нормальная форма требует, чтобы все поля таблицы зависили от первичного ключа, то есть чтобы первичный ключ однозначно определял запись и не был избыточным.
Отношение находится в 3НФ, если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Для получения из ER-диаграмм предварительного набора отношений используют следующие правила генерации отношений:
Правило 1. Если степень бинарной связи равна 1:1 и класс принадлежности обеих сущностей является обязательным, то требуется только одно отношение. Первичным ключом этого отношения может быть ключ любой из двух сущностей.
Правило 2. Если степень бинарной связи равна 1:1 и класс принадлежности одной сущности является обязательным, а другой - необязательным, то необходимо построение двух отношений - по одному для каждой сущности, при этом ключ сущности должен служить ключом для соответствующего отношения. Кроме того, ключ сущности, для которого класс принадлежности является необязательным, добавляется в качестве атрибута в отношение для сущности с обязательным классом принадлежности.
Правило 3. Если степень бинарной связи равна 1:1 и класс принадлежности обеих сущностей является необязательным, то необходимо построение трех отношений - по одному для каждой сущности, ключи которых служат в качестве первичных для соответствующих отношений, и одного для связи. Среди своих атрибутов отношение, выделяемое для связи, должно иметь по одному ключу сущности от каждой сущности.
Правило 4. Если степень бинарной связи равна 1:n и класс принадлежности n-связной сущности является обязательным, то необходимо построение двух отношений - по одному для каждой сущности, при этом ключ сущности должен служить ключом для соответствующего отношения. Кроме того, ключ 1-связной сущности добавляется в качестве атрибута в отношение, отводимое для n-связной сущности.
Правило 5. Если степень бинарной связи равна 1:n и класс принадлежности n-связной сущности является необязательным, то необходимо построение трех отношений - по одному для каждой сущности, ключи которых служат в качестве первичных для соответствующих отношений, и одного для связи. Среди своих атрибутов отношение, выделяемое для связи, должно иметь по одному ключу сущности от каждой сущности.
Правило 6. Если степень бинарной связи равна m:n, то для хранения данных необходимо построение трех отношений - по одному для каждой сущности, ключи которых служат в качестве первичных для соответствующих отношений, и одного для связи. Среди своих атрибутов отношение, выделяемое для связи, должно иметь по одному ключу сущности от каждой сущности.
Примечание. Атрибуты, присвоенные связям при разработке ER-диаграмм, включаются в отношения, выделенные для связей, либо, если таковых не выделяется, в отношения, выделенные для сущностей.
