Программирование >>  Проектирование баз данных 

1 ... 27 28 29 [ 30 ] 31 32 33 ... 184


Таблица 3 3 Пример таблицы данных в 4НФ

Ship

Captain

Voyage

Темная лошадка

Голл

Саутгемптон-Нью-Йорк

Темная лошадка

Эйрен

Саутгемптон-Ныо-Йорк

Темная лошадка

Фальконер

Саутгемптон-Ныо-Йорк

Темная лошадка

Стоун

Саутгемптон-Нью-Йорк

Темная лошадка

Ла Спина

Портсмут-Гавр

Темная лошадка

Стоун

Портсмут-Гавр

Флейта

Эйрен

Брюгге-Бостон

Флейта

Данфорт

Нью-Хейвен-Дьепп

Флейта

Фальконер

Н ью-Хе йвен - Дьепп

Если вы еще не догадались, поясним, что эта проблема решается путем разбиения данной таблицы на две: в одной будут столбцы Ship и Voyage, а во второй - Captam и Voyage

Пятая нормальная форма (ЗНФ). Пятую нормальную форму иногда называют нормальной формой с проецированием соединений {НФПС) Она может использоваться при разрешении трех и более сущностей, которые связаны друг с другом отношениями многие ко многим В некоторых случаях разрешение этих отношений при помощи связующей сухцности может привести к получению дефектной модели, в которой могут появиться несуществующие отношения (известные как аномалия проецирования соединений). Эта проблема может возникнуть, если CASE-инструмент попытается разрешить за вас отношения многие ко многим , поскольку большинство автоматизированных методов здесь не выявило бы никаких зависимостей. Пример показан на рис 3.15.


Рис 3 15 Трехсторонняя структура многие ко многим

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



Если мы разобьем эту проблему на составляющие и будем рассматривать ее как три изолированных отношения многие ко многим , то ее нужно будет решать путем ввода трех связующих сущностей, которые мы назовем CAR COLOR LINK, CAR MODEL LINK и COLOR MODEL LINK. Полученные в результате таблицы базы данных Oracle с примерными данными представлены на рис. 3.16.

Ргойе

llic Gn

MODELS

Metallic Sil

Ghia

Blue

f Escort

Escort

Blue

Escort

Metallic Green

Probe

L

Probe

Blue

Probe

Blue

Probe

Metallic Silver

Ghia

Ghia

Metallic Green

Ghia

Metallic Silver

Puc 3 16 Определения таблиц, которые нарушают ЗНФ

Предположим, что к нам заходит клиентка и хочет заказать автомобиль. Она предпочитает голубой Ghia, причем модель роли не играет. Поэтому мы выдаем запрос к базе данных, чтобы посмотреть, из каких автомобилей она может выбрать. Ниже приведен SQL-запрос к базе данных Oracle?, используемый для решения этой задачи:

SELECT FROM

WHERE AND AND AND

car.name cars car

car color links ccl car model links cml car.name = ccl.name car.name = cml.name ccl.color = Blue cml.model = Ghia

Данный запрос возвращает следующее:

i*ame

Escort Probe

Это удивительный результат, так как из таблицы MODEL COLOR LINKS Мы видим, что моделей Ghia голубого цвета нет. Вывод возвращена ложная запись. Эта ложная строка - аномалия проецирования соединении и пример нарушения пятой нормальной формы.



к счастью, правильное решение найти очень просто. Нужно ввести одну промежуточную сущность, связывающую остальные три, а именно CAR COLOR MODEL LINK. Правильная форма реализации этой таблицы представлена в табл. 3.4.

Таблица 3.4. CAR COLOR MODEL LINKS: связующая таблица, иллюстрирующая ЗНФ

Color

Model

Escort

Красный

Escort

Красный

Gliia

Escort

Зеленый металлик

Escort

Зеленый металлик

Ghia

Probe

Синий

Probe

Синий

Необходимо отметить, что информационные модели, в которых имеются нарущения четвертой и пятой нормальной форм, встречаются относительно редко.

Недопустимые и необычные структуры в информационной модели

Изучая диаграммы сущность-отношение , вы наверняка заметили, что подавляющее большинство отношений - это отношения один ко многим , причем большей частью с необязательной стороной много и обязательной стороной один . Отношение такого типа вы видите на рис. 3,17. Его следует читать так: Каждый отдел может состоять из одого или более служащих, и каждый служащий должен работать только в одном отделе .

ОТДЕЛ

СЛУЖАЩИЙ;

Состоит из,.

Работает в...

Рис. 3.17. Самая распространенная форма отношений

Отношения другого типа стоит рассмотреть более подробно, В частности, ниже описаны отношения, которые либо недопустимы, либо нелогичны. Некоторые из них не являются недопустимыми, однако они необычны и встречаются редко. Одни из них нужно только разъяснить, а другие для реализации в виде таблиц Oracle требуют нетривиальных проектных решений,

Свиные j/iiiii , имеющие сторону с обязательным участием

Как мы уже отмечали, свиное ухо - это отношение сущности с другим экземпляром такой же сущности. Если какая-либо из сторон отношения



1 ... 27 28 29 [ 30 ] 31 32 33 ... 184

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика