Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_БД.doc
Скачиваний:
16
Добавлен:
11.11.2019
Размер:
2.89 Mб
Скачать

Нормализация отношений.

При проектировании БД возможно возникновение проблем избыточности и аномалий при выполнении операций включения, удаления и обновления данных.

Пример: Поставщик (ФИО; номер; адрес; товар; количество)

Избыточность: если разный товар поставляется одним и тем же поставщиком, то его адрес повторяется всякий раз.  Обновление: если изменяется адрес поставщика, то его надо менять во всех кортежах; если этого не случится, то у поставщика будут разные адреса. Удаление: если в данный момент прекратил поставлять товар, то его адрес утрачивается. Включение: не может быть включена запись о поставщике, не поставляющем в данный момент товар.

Все проблемы исчезают, если заменить это отношение двумя:

Поставщик (ФИО; номер; адрес)

Поставка (номер поставщика; товар; количество)

Такая схема получается в результате нормализации отношений. Введены 4 уровня нормализации схем отношений, которые называются соответственно 4-мя нормальными формами:

1НФ: Схема отношений находится в 1НФ т. и т.т., когда все входящие в нее атрибуты являются атомарными (неделимыми).

1НФ достаточна для рассматриваемых языков запросов.

2НФ: Если – ключ отношения , непервичный атрибут отношения ( ), первичный атрибут, если он является элементом какого-либо ключа отношения , то говорят, что в отношении имеет место частичная зависимость (неполная функциональная зависимость), когда наблюдается: и . Если это условие не выполняется, то говорят, что атрибут функционально полно зависит от в отношении : .

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

3НФ: Транзитивная зависимость. Для данной схемы отношений , подмножества , атрибута в и множества функциональных зависимостей , атрибут называется транзитивно зависимым от в , если существует подмножество такое, что относительно и .

Схема отношений находится в 3НФ относительно множества функциональных зависимостей , если она находится в 1НФ и ни один из непервичных атрибутов в не является транзитивно зависимым от ключа для .

Любая схема отношений, находящаяся в 3НФ относительно , находится во 2НФ относительно . 3НФ избавляет от аномалий включения, удаления, модификации.

НФБК: (Бойса-Кодда) Схема отношений находится в НФБК относительно множества функциональных зависимостей , если она находится в 1НФ и никакой атрибут в не зависит транзитивно ни от одного ключа . (ни один из выделенных ключей не зависит транзитивно ни от одного ключа +3НФ)

Схема отношений может быть в 3НФ, но не быть при этом в НФБК; но если отношение находится в НФБК, то всегда находится в 3НФ.

Для приведения схем отношений в НФБК существуют алгоритмы, использующие декомпозицию, обладающую свойством соединения без потерь (сохраняющей зависимость может иметь место и не иметь).

Пример: номер поставщика → товар

ФИО, адрес → товар

  • 2НФ

н омер поставщика → индекс товара товар - 3НФ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]