Сначала удалим транзитивную зависимость атрибута
Сначала удалим транзитивную зависимость атрибута ПИТАНИЕ от РЕЙСА через ВРЕМЯ-ВЫЛЕТА ДЛИТЕЛЬНОСТЬ-ПОЛЕТА. Получим схему отношения
(РЕЙС, ПУНКТ-ОТПРАВЛЕНИЯ, ПУНКТ-НАЗНАЧЕНИЯ, ВРЕМЯ-ПРИБЫТИЯ, ДЛИТЕЛЬНОСТЬ-ПОЛЕТА, ТИП-САМОЛЕТА, I-КЛАСС, II-КЛАСС, КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ)
с выделенными ключами
={РЕЙС, ПУНКТ-ОТПРАВЛЕНИЯ ПУНКТ-НАЗНАЧЕНИЯ ВРЕМЯ-ВЫЛЕТА, ПУНКТ-ОТПРАВЛЕНИЯ ПУНКТ-НАЗНАЧЕНИЯ ВРЕМЯ-ПРИБЫТИЯ}
и схему отношения
(ВРЕМЯ-ОТПРАВЛЕНИЯ, ДЛИТЕЛЬНОСТЬ-ПОЛЕТА,
ПИТАНИЕ)
с выделенным ключом
={ВРЕМЯ-ОТПРАВЛЕНИЯ ДЛИТЕЛЬНОСТЬ-ПОЛЕТА}.
Схема находится в 3НФ, а схема – нет, так как I-КЛАСС, II-КЛАСС и КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ транзитивно зависят от РЕЙСА через ТИП-САМОЛЕТА. Схема разлагается на схему
(РЕЙС, ПУНКТ-ОТПРАВЛЕНИЯ, ПУНКТ-НАЗНАЧЕНИЯ, ВРЕМЯ-ВЫЛЕТА, ВРЕМЯ-ПРИБЫТИЯ, ДЛИТЕЛЬНОСТЬ-ПОЛЕТА, ТИП-САМОЛЕТА)
с выделенными ключами
={РЕЙС, ПУНКТ-ОТПРАВЛЕНИЯ ПУНКТ-НАЗНАЧЕНИЯ ВРЕМЯ-ВЫЛЕТА, ПУНКТ-ОТПРАВЛЕНИЯ ПУНКТ-НАЗНАЧЕНИЯ ВРЕМЯ-ПРИБЫТИЯ}
и схему
(ТИП-САМОЛЕТА, I-КЛАСС, II-КЛАСС, КОЛИЧЕСТВО-ПОСАД ОЧНЫХ-МЕСТ)
с выделенным ключом
К12={ТИП-САМОЛЕТА}.
Схема отношения находится теперь в 3НФ относительно , a – нет, поскольку КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ транзитивно зависит от ТИПА-САМОЛЕТА через 1-КЛАСС II-КЛАСС. Схема разлагается на
(ТИПА-САМОЛЕТА, I-КЛАСС, II-КЛАСС)
с выделенным ключом
={ТИП-САМОЛЕТА}.
и схему отношения
(1-КЛАСС, II-КЛАСС, КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ)
с выделенным ключом
={I-КЛАСС II-КЛАСС}.
Декомпозиция реализована до такой стадии, когда каждая схема отношения находится в 3НФ относительно . Следовательно, схема базы данных
R
находится в 3НФ.
Схема базы данных R не однозначна. Есть точки, в которых можно выбирать пути декомпозиции определенного отношения с целью удаления транзитивно зависимого атрибута. Так, на первом шаге можно было выбрать
(ВРЕМЯ-ПРИБЫТИЯ, ДЛИТЕЛЬНОСТЬ-ПОЛЕТА, ПИТАНИЕ),
так как ПИТАНИЕ также транзитивно зависит от РЕЙСА через ВРЕМЯ-ПРИБЫТИЯ ДЛИТЕЛЬНОСТЬ-ПОЛЕТА. На третьем шаге существует три варианта декомпозиции (Какие?) Некоторые ключи для схем отношений не указаны как выделенные, например I-КЛАСС КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ и II-КЛАСС КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ для .