Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
197251_0AD1F_lekcii_po_discipline_informacionno...doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
5.04 Mб
Скачать

Нормализация через декомпозицию

Всегда можно начать с того, что, взяв некоторую схему отношения R, не находящуюся в ЗНФ относительно множества F-зависимостей F, разложить ее в схему базы данных, имеющую ЗНФ относительно F.

Разложение схемы отношений означает разбиение схемы отношения на пару схем отношений R1 и R2 (возможно, пересекающихся) так, чтобы любое отношение r(R), удовлетворяющее F, разлагалось без потерь на R1 и R2. Возможно, нужно будет повторить процесс декомпозиции отношений R1 и R2, если какое-нибудь из них не окажется в ЗНФ. Декомпозиция продолжается до тех пор, пока все полученные отношения не окажутся в третьей нормальной форме относительно F.

На самом деле процесс декомпозиции схемы не бесконечен. Каждый раз, когда разлагается схема отношения, обе получившиеся в результате схемы становятся меньше, а в схеме отношения, содержащей только два атрибута, не может быть никакой транзитивной зависимости [14].

Пример 8. Пусть R (РЕЙС, ПУНКТ-ОТПРАВЛЕНИЯ, ПУНКТ-НАЗНАЧЕНИЯ, ВРЕМЯ-ВЫЛЕТА, ВРЕМЯ-ПРИБЫТИЯ, ДЛИТЕЛЬНОСТЬ-ПОЛЕТА, ТИП-САМОЛЕТА, I-КЛАСС, II-КЛАСС, КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ, ПИТАНИЕ)

где I-КЛАСС и II-КЛАСС – количество посадочных мест в каждом салоне. Пусть множество выделенных ключей

К={РЕЙС, ПУНКТ-ОТПРАВЛЕНИЯ ПУНКТ-НАЗНАЧЕНИЯ ВРЕМЯ-ВЫЛЕТА, ПУНКТ-ОТПРАВЛЕНИЯ ПУНКТ-НАЗНАЧЕНИЯ ВРЕМЯ-ПРИБЫТИЯ}.

Предполагается, что в одно и то же время не может быть двух рейсов с одинаковыми пунктами отправления и назначения. Пусть все выделенные ключи действительно являются ключами, и пусть имеются также следующие F-зависимости в множестве F:

ТИП-САМОЛЕТА→I-КЛАСС II-КЛАСС КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ,

ВРЕМЯ-ВЫЛЕТА ДЛИТЕЛЬНОСТЬ-ПОЛЕТА→ПИТАНИЕ,

ВРЕМЯ-ПРИБЫТИЯ ДЛИТЕЛЬНОСТЬ-ПОЛЕТА→ПИТАНИЕ,

I-КЛАСС II-КЛАСС→КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ,

I-КЛАСС КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ→II-КЛАСС,

II-КЛАСС КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ→I-КЛАСС.

Казалось бы, ВРЕМЯ-ВЫЛЕТА ВРЕМЯ-ПРИБЫТИЯ→ДЛИТЕЛЬНОСТЬ-ПОЛЕТА также должна быть F-зависимостью, но, из-за того что время прибытия и время отправления указывается местное, ДЛИТЕЛЬНОСТЬ-ПОЛЕТА зависит от часовых поясов, к которым принадлежат соответствующие аэропорты.

Сначала удалим транзитивную зависимость атрибута ПИТАНИЕ от РЕЙСА через ВРЕМЯ-ВЫЛЕТА ДЛИТЕЛЬНОСТЬ-ПОЛЕТА. Получим схему отношения

R1(РЕЙС, ПУНКТ-ОТПРАВЛЕНИЯ, ПУНКТ-НАЗНАЧЕНИЯ, ВРЕМЯ-ПРИБЫТИЯ, ДЛИТЕЛЬНОСТЬ-ПОЛЕТА, ТИП-САМОЛЕТА, I-КЛАСС, II-КЛАСС, КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ)

с выделенными ключами

K1={PEHC, ПУНКТ-ОТПРАВЛЕНИЯ ПУНКТ-НАЗНАЧЕНИЯ ВРЕМЯ-ВЫЛЕТА, ПУНКТ-ОТПРАВЛЕНИЯ ПУНКТ-НАЗНАЧЕНИЯ ВРЕМЯ-ПРИБЫТИЯ}

и схему отношения

R2(ВРЕМЯ-ОТПРАВЛЕНИЯ, ДЛИТЕЛЬНОСТЬ-ПОЛЕТА, ПИТАНИЕ)

с выделенным ключом

К2={ВРЕМЯ-ОТПРАВЛЕНИЯ ДЛИТЕЛЬНОСТЬ-ПОЛЕТА}.

Схема R2 находится в ЗНФ, а схема R1 – нет, так как I-КЛАСС, II-КЛАСС и КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ транзитивно зависят от РЕЙСА через ТИП-САМОЛЕТА. Схема R1 разлагается на схему

R11(РЕЙС, ПУНКТ-ОТПРАВЛЕНИЯ, ПУНКТ-НАЗНАЧЕНИЯ, ВРЕМЯ-ВЫЛЕТА, ВРЕМЯ-ПРИБЫТИЯ, ДЛИТЕЛЬНОСТЬ-ПОЛЕТА, ТИП-САМОЛЕТА)

с выделенными ключами

К11={РЕЙС, ПУНКТ-ОТПРАВЛЕНИЯ ПУНКТ-НАЗНАЧЕНИЯ ВРЕМЯ-ВЫЛЕТА, ПУНКТ-ОТПРАВЛЕНИЯ ПУНКТ-НАЗНАЧЕНИЯ ВРЕМЯ-ПРИБЫТИЯ}

и схему

R12(ТИП-САМОЛЕТА, I-КЛАСС, II-КЛАСС, КОЛИЧЕ-СТВО-ПОСАДОЧНЫХ-МЕСТ)

с выделенным ключом

К12={ТИП-САМОЛЕТА}.

Схема отношения R11 находится теперь в ЗНФ относительно F, a R12нет, поскольку КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ транзитивно зависит от ТИПА-САМОЛЕТА через I-КЛАСС II-КЛАСС. Схема R12 разлагается на

R121(ТИПА-САМОЛЕТА, I-КЛАСС, II-КЛАСС)

с выделенным ключом

К121={ТИП-САМОЛЕТА}.

и схему отношения

R122(I-КЛАСС, II-КЛАСС, КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ)

с выделенным ключом

К122={I-КЛАСС II-КЛАСС}.

Декомпозиция R реализована до такой стадии, когда каждая схема отношения находится в ЗНФ относительно F. Следовательно, схема базы данных

находится в ЗНФ.

Схема базы данных R не однозначна. Есть точки, в которых можно выбирать пути декомпозиции определенного отношения с целью удаления транзитивно зависимого атрибута. Так, на первом шаге можно было выбрать

R2(ВРЕМЯ-ПРИБЫТИЯ, ДЛИТЕЛЬНОСТЬ-ПОЛЕТА, ПИТАНИЕ),

так как ПИТАНИЕ также транзитивно зависит от РЕЙСА через ВРЕМЯ-ПРИБЫТИЯ ДЛИТЕЛЬНОСТЬ-ПОЛЕТА. На третьем шаге существует три варианта декомпозиции R12 (Какие?) Некоторые ключи для схем отношений не указаны как выделенные, например I-КЛАСС КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ и II-КЛАСС КОЛИЧЕСТВО-ПОСАДОЧНЫХ-МЕСТ для R122.