Программирование >>  Реляционные базы данных 

1 ... 26 27 28 [ 29 ] 30 31 32 ... 125


Из зтой диаграммы получаются три отношения со схемами:

Stuclios(name, addr) Crews(number, studioName) Unit-of(number, studioName. name)

Первое отношение, Sitie/ios, строится прямо из множества сущностей с тем же именем, второе. Crews, получается из слабого множесгва сущ110сте11 Сгет. Атрибуты этого отношения - это ключевые атрибуты множества Crews; если бы у Crews были неключевые атрибуты, они тоже были бы введены в схему отношения. Здесь StudioName указывается в качестве атрибута отношения Crews, coorjcTCTnyiomero ятрибут name в множестве сущностей Studios.

Третье отношение, Unit-of, получается из связи с тем же именем. Как всегда, E/R-связи представляются в реляционной модели с помощью отношения, схема которого содержит ключевые атрибуты связанных множеств сущностей В данном случае Unit-of имеет атрибуты number, studioName (ключ для слабого множества сущносгей Crews) и name (ключ для множества Studios). Поскольку Vmi-of-это связь типа миогие-к-одному , studioName для любой студии совпадает со значением ее атри6>та name.

Пусть, например, Disney crew #3 - одна из съемочных фупп сгуллн Disney. Тогда множество связей для Unit-of включает в себя пару

(Disney crew#3, Disney),

из которой получается кортеж

(3, Disney, Disney).

В результате, смешав атрибуты studioName и name для Unit-of, получим более простую схему:

Unjf-of(number, name).

Но тогда можно обойтись вообще без отношения Unit-of, так как его атрибуты являются подмножеством атрибутов отношения Crews. □

Пример 3.16. Рассмотрим слабое множество сущностей Contracts из примера 2.31 и рис. 2.28 в разделе 2.6.1. Диаррамма из этого примера воспроизведена на рис. 3.19.

Contracts


(filmType ( (address

Рис. 3.19. Gio6oe множество сущносгей Contracts



3.3-4 Упражнения к разделу 3.3

Упрожнение 3.3.1. Преобразуйте E/R-диаграмму, представленную на рмс 3.20, в реляционную БД

seat


toCust

Bookings

toPlt

Customers


Flights

(name

address

3 Ц gucgjjjjo. отщщрясв tyeitko



aircraft

Сема отношения для множества Contracts:

Contracts(starName. studioName. title, year, salary)

.Лтрибута\ги здесь яяляются соответствующим образом переименованные ключи для множеств Sum и Studios, два атрибута нз ключа для Movies и aTpn6jfT solaiy, принадлежащий множеству Coniracis. Опюшения для связей Stor-of, Swdio-of и Movie of не iiocTpoe}U>r. Каждое нз этих отношений имело бы схему, являющуюся собственным подмножеством приведенной выше схемы для Contracts.

Заметим, что полученное отношение являегся точно таким же, какое можно было бы 1юлучнть из Е/Я-диаграммы. показанной на рис. 2.13. На ней контракт трактуется как трехместная связь между кинозвездами, фильмами и студиями с агрибутом гонорара, приписагнюго множеству Contracts. □

То, что мы наблюдали на примерах 3.15 и 3.16 (для связи в двойном ромбе отношение не требуется), универсалыю для слабых множеств сущностей. Схема отношения для слабого множества сущностей Е включает в себя схему отношения, построенного из любой заключенной в двойной ромб связи R типа многие-к-ofliio.vo , соединяющей £с одним из множеств, помогающих составить ключ для Е. Дело и том, что отношение ллч £ содержит ключевые атрибуты для £, которые объединяют все Ю1ючецые атрибуты двух множеств, связанных посредством R. Поэтому для слабых множеств сущностей верны а1едующне правила:

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

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



(Jiame (yeeuncJ


Близнец

Рие. 3.21. e/R-qmorpo/vwiq, относйщоясп к нороблям-близнецом

* Мпрожненис 3.3.2. E/R-диаграмма на рис. 3.21 относится к кораблям. Если корабли построены по одному проекту, они называются шпнецоми . Преобразуйте эту диаграмму в схему рсляпионной БД.

Упражнение 3.3.3. Преобразуйте в схемы реляционной БД следующие E/R-диатраммы:

a) диаграмму на рис. 2.28;

b) результат выполнения упражнения 2.6.1;

c) результат выполнения упражнения 2.6.4(a);

d) результат выполнения упражнения 2.6.4(b).

3.4 Преобразование структур подклассов в отношения

Понятие подкласса в объектно-ориентированных и E/R-моделях трактуется не одинаково. Напомним, в чем разница.

В ODL объект принадлежит только одному классу и наследует свойства всех своих надклассов, но технически не является их членом.

В E/R модели объект может быть представлен суш1юстями, принадлежащими нескольким множествам, находящимся в связи isa. Таким образом, связанные сущности формируют объект и прадают ему свойства: атрибуты и связи.

Именно поэтому применяются различные методы построения отношении, пред-ставляю]цих иерархию классов. Рассмотрим две различные точки зрения, определяющие разные стратегии разработки схемы реляционной БД. Следует учесть, что ни ODL, ни E/R-модели сами по себе не вынуждают применять тот или иной подход; по желанию .можно выбрать методику, предназначенную лля другой модели.

3.4-1 Реляционное представление подклассов ODL

Рассмотрим сначала технику перевода иерархии подклассов ODL в реляционные схемы в соответствии со следующими принципами

КаждьиТ подкласс имеет собственное отношение.

В этом отношении представлены все свойства данного подкласса, включая все С!юйства, которые он наследует.



1 ... 26 27 28 [ 29 ] 30 31 32 ... 125

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