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

6.2.5. Преобразование связи типа "суперкласс/подкласс"

Для каждой присутствующей в логической модели данных связи типа "супертип/подтип" сущность супертипа необходимо определить как родительскую, а сущность подтипа — как дочернюю. Существуют различные варианты представления подобных связей в виде одного или нескольких отношений. Выбор наиболее подходящего варианта зависит от ограничений участия и пересечения, наложенных на участников связи типа "суперкласс/подкласс".

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

Рассмотрим подклассы АССИСТЕНТ, СТАРШИЙ ПРЕПОДАВАТЕЛЬ, ДОЦЕНТ, ПРОФЕССОР, которые являются членами суперкласса ПРЕПОДАВАТЕЛЬ (рис. 6.4). Это означает, что каждый экземпляр подкласса является в то же время и экземпляром суперкласса. Причем каждый преподаватель обязательно принадлежит одному и только одному подклассу.

Подобная диаграмма преобразуется в следующую реляционную схему отношений:

ПРЕПОДАВАТЕЛЬ (Табельный_номер. Ф_И_О, Адрес, Педагог_стаж).

ПРОФЕССОР (Табельный_номер, Номер_Диплома_профессора);

ДОЦЕНТ (Табельный_номер. Номер_диплома_доцента);

СТАРШИЙ_ПРЕПОДАВАТЕЛЬ (Табельный_номер):

АССИСТЕНТ (Табельный_номер).

Рис. 6.4. Диаграмма связи "суперкласс/подкласс"

6.2.6. Предварительные отношения для бинарных связей типа м: n

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

КУРС (НК, Назв_К);

ПРЕПОДАВАТЕЛЬ (ТН, Ф_И_О, Тел_П);

ЧИТАЕТ (ТН, НК).

Вся информация о курсе будет содержаться в отношении КУРС, информация о преподавателе — в отношении ПРЕПОДАВАТЕЛЬ, а отношение ЧИТАЕТ будет содержать только экземпляры связи, имеющиеся в модели.

Использование прямого преобразования концептуальных связей в логические структуры оказывается очень полезным при моделировании составных сущностей.

6.2.6. Проверка модели с помощью концепций последовательной нормализации

Созданный на предыдущем этапе предварительный набор отношений логической модели данных должен обязательно быть подвергнут анализу на корректность объединения атрибутов в каждом из отношений. Проверка корректности состава каждого из отношений должна проводиться посредством применения к ним процедуры последовательной нормализации. Целью применения этой процедуры является получение гарантий того, что каждое из отношений, полученных на основе концептуальной модели, находится, по крайней мере, в НФБК.

Если в процессе анализа отношений модели будут найдены отношения не отвечающие требованиям НФБК, то это будет означать, что где-то на предыдущих этапах были допущены ошибки. Возможно, ошибки появились при построении концептуальной модели, а возможно — в процессе ее преобразования в логическую модель. Для обеспечения корректности логической модели в такой ситуации придется вернуться на ранние этапы проектирования и перестроить ошибочно созданные фрагменты модели.

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