Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая работа / bd / базы данных2222.rtf
Скачиваний:
241
Добавлен:
17.02.2014
Размер:
19.41 Mб
Скачать

6.2.4. Бинарные связи типа "один-ко-многим" (1:м)

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

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

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

Сотрудник (Код_сотрудника, Имя, Отчество, Фамилия, Улица, Город, Индекс, Должность, Пол, Зарплата, Код_отделения) .

Первичный ключ Код_сотрудника

Внешний ключ Код_отделения источник Отделение (Код_отделения)

Отделение (Код_отделения, Адрес, Номер_телефона, Факс, Руководитель)

Первичный ключ Код_отделения

Альтернативный ключ Номер_телефона или Факс

Внешний ключ Руководитель источник Сотрудник (Код_сотрудника)

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

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

Рассмотрим, например, связь типа "суперкласс/подкласс" сущности Недвижимость.

Существуют различные способы отображения этой связи.

(Вариант 1)

Недвижимость (Код_недвижимости, Адрес, Вид, Арендная_плата, Цена)

Первичный ключ Код_недвижимости.

(Вариант 2)

Недвижимость_в_аренду (Код_недвижимости, Адрес, Вид, Арендная_плата)

Первичный ключ Код_недвижимости.

Недвижимость_на_продажу (Код_недвижимости, Адрес, Вид, Цена)

Первичный ключ Код_недвижимости.

(Вариант 3)

Недвижимость (Код_недвижимости, Адрес, Вид)

Первичный ключ Код_недвижимости.

Недвижимость_в_аренду(Код_недвижимости, Арендная_плата)

Первичный ключ Код_недвижимости.

Внешний ключ Код_недвижимости источник Недвижимость (Код_недвижимости)

Недвижимость_на_продажу (Код_недвижимости, Цена)

Первичный ключ Код_недвижимости.

Внешний ключ Код_недвижимости источник Недвижимость (Код_недвижимости).

Диапазон возможных вариантов решений простирается от помещения всех атрибутов суперкласса в единственное отношение (вариант 1) до распределения всех атрибутов между тремя различными отношениями (вариант 3). Связи, которые суперкласс Недвижимость имеет с его подклассами, являются тотальными и непересекающимися, поскольку каждый член суперкласса Недвижимость обязательно должен быть членом одного и только одного из подклассов (Недвижимость_на_продажу или Недвижимость_в_аренду). Поэтому самым целесообразным решением для связи типа "суперкласс/подкласс" с тотальными и непересекающимися членами является представление каждого из подклассов в виде отдельного отношения, содержащего копию первичного ключа суперкласса. Это второй вариант в приведенном выше примере. Однако на окончательное решение могут оказать влияние и другие факторы — в частности то, включены или нет отдельные подклассы в различные связи.

Соседние файлы в папке bd