Теория и практика построения баз данных (1088289), страница 54
Текст из файла (страница 54)
В частности, связь в направлении от объекта ОБЪЕКТ1 к объекту ОБЪЕКТ2 может иметь вид 1:1, 1:Х или Ы:М, в то время как связь в направлении от объекта ОБЪЕКТ2 к объекту ОБЪЕКТ1 может иметь вид 1:1, 1:М или ММ Любая из этих связей представляется одним из трех возможных типов. Представление составных объектов со связью 1:1 Рассмотрим связь между членом спортивного клуба (ЧЛЕН КЛУБА) н шкафчиком и раздевалке (ШКАФЧИК). Каждый шкафчик закрепляется за одним членом спортивного клуба, и за каждым членом этого клуба может бьиь закреплен один и гцлько один шкафчик.
На рис. 7.6, и представлены объектные диаграммы. Чтобы представить эти объекты с помощью отношений, мы для каждого объекта введем отношение, а затем, как и в случае связи 1;1 между сущностями, поместим ключ одного из отношений в другое. В данном случае мы можем поместить ключ отношения ШКАФЧИК в отношение ЧЛЕН КЛУБА или ключ отношения ЧЛЕН КЛУБА и отношение ШКАФЧИК. На рис. 7.6, 6 изображен случай, когда ключ отношения ШКАФЧИК помещен в отношение ЧЛЕН КЛУБА.
Обратите внимание, что атрибут НомерШкафчнка в отношении ШКАФЧИК подчеркнут, так как здесь он является ключом, а в отношении ЧЛЕН КЛУБА — выделен курсивом, поскольку для данного отношения он является внешним ключом. В общем случае при связи 1:1 между объектами ОБЬЕКТ1 и ОБЬЕКТ2 мы вволим по одному отношению для каждого объекта: 01 и 02 соответственно. Затем мы помещаем ключ одного из отношений ГА1 или А2) в другое отношение, как показано на рис. 7.7.
01 250 Глава 7. Проектирование баз данных в рамках объектной модели ЧЛЕН КЛУБА (ЛичиыйНйийй, Имя, Адрес, Город, Штат, Индекс, НомерШкефчике) шкАФчик (нсмлйЩкафчике, тип, код, Расположение) Ограничение ссылочной целостности: Значение атрибута НомерШкафчика е отношении ЧЛЕН КЛУБА должно существовать среди значений атрибута НомерШкафчике е отношении ШКАФЧИК б Рис. 7.6. Пример реляционного представления составных обьектое со связью вида 1:1; а — пример составных объектов со связью 1:1; б — реляционное представление этих объектов Ограничение ссылочной целостности: Ограничение ссылсчной целостности: Значение атрибута А2 е отношении 01 Значение атрибута А1 е отношении 02 должно существовать среди значений должно существовать среди значений атрибута А2 е отношении 02 атрибута А1 е отношении 01 Рис.
7.7. Общая схема преобразования составных обьектое со связью 1:1 Представление связей «один ко многим» и «многие к одному» Теперь рассмотрим связи 1:Х и )Ч:1. На рис. 7.8, а приведен пример связи 1:Х ме- жду объектами ОБОРУДОВАНИЕ и РЕМОНТ. Элемент оборудования может ремонти- Преобразования семантических объектов в реляционные конструкции 251 )ншаться много раз, по конкретный ремонт может относиться только к одному элементу оборудования. Объекты на рис. 7.8, а представлены отношениями на рис. 7.8, б. Обратите нпнмание, что ключ родителя (объект на унарной стороне связи) помеп(ается и дочернее отношение (объект на множественной стороне связи).
ОБОРУДОВАНИЕ (СврийныиНймай, Тип, Модель, ДетеПриобретения, Стоимость, Место) мъжн тс,к,о ч,с .~ е ск ) Ограничение ссылсчной целостности: Значение атрибута СерийныйНомер е отношении РЕМОНТ должно существовать среди значений атрибута СерийныйНомер е отношении ОБОРУДОВАНИЕ б Рнс. 7.8. Реляционное представление составных объектов со связью 1:Н: е — пример составных объектов со связью 1;Н; б — их реляционное представление На рис.
7.9 показана общая схема преобразования составных объектов со связью (зч). Объект ОБЬЕКТ1 содержит много объектов ОБЪЕКТ2, а объект ОБЪЕКТ2 содержит только один объект ОБЪЕКТ1. Чтобы представить эту структуру с помощью отношентгй, мы вводим по одному отношению для каждого из объектов н помещаем ключ родителя в потомок. Например, на рис. 7.9 атрибут А1 помещается в отношение 02. Если бы объект ОБЪЕКТ2 содержал много объектов ОБЪЕКТ1, а объект ОБЪЕКТ1— только один объект ОБЪЕКТ2, мы бы использовали ту же стратегию, только отношения 01 и 02 поменялись бы ролями.
То есть мы поместили бы атрибут А2 в отношение 01, Минимальные кардинальные числа в обоих случаях определяются минимальными кардинальными числами объектных атрибутов. На рис. 7.9 объект ОБЪЕКТ1 требует наличия по крайней мере одного объекта ОБЪЕКТ2, но ОБЪЕКТ2 не требует обязательного наличия объекта ОБЪЕКТ1. Кардинальные числа показаны на диаграмме структуры данных в виде овала на той стороне связи, где располагается 01, и перпендикулярной черты на той стороне связи, где располагается 02.
Эти значения приведены просто для примера: один из объектов или оба могли бы иметь кардинальное число О, 1 или какое-либо другое. 252 Глава 7. Проектирование баз данных в рамках объектной модели Преобразования семантических объектов в реляционные конструкции 253 Ограничение ссыпсннай цепостности: Значение атрибута А1 в отношении 02 далина существовать среди значений атрибута А1 в отношении 01 Рис.
7.9. Общая схема преобразования составных объектов со связью 1:Н Представление связей «многие ко многим» Наконец, рассмотрим связи М;М Как и в случае связей М )Ч между сущностями, мы опрелсляем три отношения: по одному отношению для каждого из объектов плюс отношение пересечения. Отношение пересечения представляет связь двух объектов и состоит из югючей обоих своих родителей. На рис. 7.10, а показана связь М:Х между объектами КНИГА и АВТОР.
На рис. 7.10, б изображены три отношения, представляющие эти объсктъс КНИГА, АВТОР и КНИГА-АВТОР-ПСЧ (отиошеиис пересечения). Обратите внимание, что отношение КНИГА-АВТОР-ПСЧ ие содержит неключевых данных. Оба атрибута — НомерВКаталоге и НомерСоциапьнойСтраховки — подчеркнуты и выделены курсивом, поскольку оии являются и локальными, и внешними ключами.
В общем случае, если два объекта имеют связь вида М:)Ч, мы вводим три отношения: 01 для объекта ОБЪЕКТ1, 02 для объекта ОБЪЕКТ2 и 03 — отношение пересечения. Общая схема показана иа рис. 7.11. Заметьте, что атрибутами отношения 03 являготся только А1 и А2. В случае составпых объектов со связью М:Х отношение 03 никогда нс содержит неключевых данных. Важность этого замечания станет ясна, когда мы сравним связи М:)Ч в составных объекгах со связями этого вида в ассоциативных объектах. Что касается минимального кардинального числа, то родители отношения пересечения являются обязательными. Минимальные кардинальные числа связей в направлении к отношению пересечения определяются минимальными кардинальными числами связей между объектами.
На рис. 7.11, например, строка в отношении 01 требует наличия строки в отношении 03, поскольку минимальное кардинальное число объекта ОБЪЕКТ1 в объекте ОБЪЕКТ2 равно 1. Однако строка в отношении 02 ие требует наличия строки в отношении 03, поскольку минимальное кардинальное число объекта ОБЪЕКТ1 в объекте ОБЪЕКТ2 равно О. книГА (НямврВКатвлргв, заголовок, номврдпяВызова) э АВТОР(Н м ь й т ах ки, Имя,Телефон) КНИГА-АВТОР-ПСЧ (НямедВКВтадрда Со альп Ст е к Ограничения ссыпочной цегюстности; Значение атрибута НамерВКатапоге в отношении КНИГА-АВТОР-ПСЧ должно существовать среди значений атрибута НамерВКатапоге в отношении КНИГА Значение атрибута НомерСоциапьнойСтреховки в отношении КНИГА-АВТОР-ПСЧ должно существовать среди значений атрибута НомерСоциапьнайСтрахавки в отношении АВТОР б Рис, 7.10. Реляционное представление составных объектов со связью М;Н: а — объекты КНИГА и АВТОР, б — их реляционное представление 01 Ограничения ссыпочной целостности: Значение атрибута А1 в отношении ОЗ должно существовать среди значений атрибута А1 в отношении 01 Значение атрибута А2 в отношении 03 должно существоват~ среди значений атрибута А2 в отношении 02 Рис.
7.11. Общая схема преобразования составных объектов со связью М;Н в отношения Гибридные объекты Гибридные объекты могут преобразовываться в реляционные конструкции с помощью комбинации методов, примеияемых для композитиых и составных объектов. Случай Опиоание пример Объект ТОВАР связан с одним объектом ЗАКАЗ и может появиться только в одной строке этого заказа Объект ТОВАР связан с одним объектам ЗАКАЗ и может появиться в нескольких строках этого заказа Обьект ТОВАР связан с несколькими обьвктвми ЗАКАЗ, но в каждом из заказов может появиться только в одной строке Объект ТОВАР связан с несколькими объектами ЗАКАЗ и может появиться в нескольких строках каждого из заказов служАЩий (ИмвСЛ)екащага, кодслужвщего) 254 Глава 7. Проектирование баз данных в рамках объектной модели На рис.