|
Программирование >> Реляционные базы данных
Пример З.П. Теперь рассмотрим множество сущностей Stars на рис. 3.15. В нем два атрибута, пате и address. пате address Carrie Fisher Mark Hamill Harrison Ford 123 Maple St, Hollywood 456 Oak Rd.. Brentwood 789 Palm Dr., Beverly Hills Оношение для данного множества соответствует отноикнию Star на рис. 3.6 из примера 3.3, но в последнем три атрибута, два из которых - street и city - представляют структурированный адрес. Разница между ними небольшая. Можно было бы так сконструировать E/R-диаграмму, изображенную иа рис. 2.8, чтобы в ней были атрибут111 street и city для множества Stars, и получить точно такое же отноше-1ше Star, как на рис. 3.6. О 3-3.2 Переход от E/R-связей к отношениям Связи в E/R-модели также можно представить посредством отношений. Отно шсиие для конкретной связи R имеет следующие атрибуты: 1. Ключевой атрибут или атрибуты каждого множества сущностей, включен ных в связь R, ЯВ.ЛЯЮТСЯ частью схемы отношения, построенного для Я. 2. Если связь имеет атрибуты, они становятся и атрибутами отношения R. Если одно множество сущностей вовлечено в связь несколько раз, атрибуты необходимо переименовать, чтобы избежать адблирования имен. Аналожчным образом, если имя одного и того же атрибута неоднократно встречается среди атрибутов R и вовлеченных в него множеств, имена нужно изменить. Пример 3.12. Рассмотрим связь Owns на рис. 3.15. Она соединяет множества сущностей Movies и Studios. Поэто.му в схеме огтношения Owns используются ключ для множества Movies, т.е. title и year, а также ключ множества Studios - name. Образец этого отт10щения:
.Лгрибуг studюName выбран для ясности, он соогветстпует aTpHejTj name множества Studios- 3.1метт! 1. что это отношение, как и отношение из npiiviepa 3.10. построенного для множества сущносгей Movies (см. рис. 3.1), солержет точно такую же информацию, что и отношение на рис. 3.12, построенное в примере 3.6 для класса Wlovie, за исключением свойства stars. □ Пример 3.13. Спязь Stars-ln. показанная на рис. 3.15, тоже можно преобразо-iiiiTb в отношение с атрибутами title, year (ключ множесгва Movie) и starName (ключ множества Stars). На рис. 3.16 показан пример отношения Stars-in. Заметим, что эт-о отношение, как и отношение, показанное на рис. 3.1, содержит информацию, представленную на рис. 3.13. но уже без повторов неключевых атрибутов класса jpr ijjjjgjrioh length и filmType), ослабляющих схему рис. 3.13. fifte аг ! StarName Star Wars 1977 Star Wars ! 1977 Star Wars ! 1977 Migtity Ducks 1991 Waynes World 1992 Waynes World 1992 Рие. 3.16. Отношение для связи Stars-lr I Carrie Fistier Mark Hamill , Harrison Ford Emilio Estevez Dana Carvey Mike Meyers Кажется, что в отношении на рис. 3.16 год является излишним. Однако такое впечатление создается лишь потому, что названия фильмов уникальны. Для нескольких фильмов с одинаковым названием, например Кинг Конг , год, несомненно, необходим, чтобы выяснить, какие кинозвезды участвуют и каждой версии фильма. □ Преимущества перехода к схеме БД от E/R-моделей по сравнению с ODL-npo-ектом заключаются в следующем. Отношения часто можно нормализовать , избегая избыточностт1, присутствующей в проекте, полученном непосредственно из описания ODL. Двухсторонние связи ODL заменяются единственным отношением, представляющим связи в обоих направлениях. Пример 3.14. Многосторонние связи тоже легко конвертируются в отношение. Рассмотрим введенную на рис. 2.12 и воспроизведенную здесь на рис. 3.17 четырехстороннюю связь Cmlracis между кинозвездой, фильмом и двумя студиями. Одна студия имеет контракт с кинозвездой, а другая нанимает эту кинозвезду для участия в своем фильме. Такую связь легко представить с помощью отношения Contracts, схема которого состоит из атрибугов, входящих в ключи четырех множеств сущностей: I Ключ StarName для кинозвезды. 2. Ключ для фильма, состоящий из атрибутов title и year 3 Ключ studioOfStar, обозначающий название первой студии (предполагается, что название студии - это ключ множества сушностей Studio). А. Ключ producingStudio. обозначающий название второй студии выпускающей фильм с участием кинозвезды. Studio of star Prnducjng studio Рие. 3.17. Четырехсторонняя связь Contracts Еще раз о переходе от ODL к отношениям Перевод связей E/R-модели в отношения иногда дает более подходящую { схему реляционной БД, чем перевод связей ODL. Но ведь ничто не мешает применить E/R-методы представления связи типа многие-к-одному или i 1 многие-ко-многим в качестве отдельного отношения. Это позволяет избе- j жать избыточности и резкого увеличения числа кортежей, с которыми прихо- 1 I лится иногда сталкиваться при попытке реализации многосторонней связи I ODL с классом, для которого она определена. Однако еще раз напоминаем I читателю, что в разделе 3,7 показан механический способ исправления рсля- цпоиных схем, полученных прямо из ODL. З-ЗЗ Работа со слабыми множествал1И сущностей При наличии в E/R-лиаграмме слабого множества сущностей необходимы следующие условия. 1. Отношение для слабого множества сущностей Идолжно включать в себя не только атрибуты И, но и ключевые атрибуты других множеств, участвующих в формировании ключа для W. Такие вспомогательные множества легко распознать, так как они достижимы из iVc помошью связи типа многие-к-одному , обозначаемой двойным ромбом. 2. Связи, в которых появляется слабое множество сущностей ]V, должны использовать в ключе для IV все ключевые атрибуты УУ и ключевые атрибуты других множеств, участвующих в формировании ключа пля W. 3. Однако обозначенные двойным ромбом связи слабого множества W с другими множествами, участвующими в создании ключа для И, вообще НС нужно конвертировать в отношение. Дело в том, что атрибуты этих связей всегда будут подмножествами атрибутов самого множества IV; значит, такие связи не несут никакой дополнительной информации, кроме факта, что они помогают найти ключ для IV. Газумеетси. вводя дополнительные атрибуты при построении ключа для слабого множества сушностей. нельзя допускать повторного при.менения одного и того же имеин. При необходимости следует переименовать некоторые или все используемые атрибуты. Пример 3.15. Рассмотрим слабое множество сущностей Crews, изображенное на рис. 2.27, а здесь показанное на рис. 3.18. Ри(. 3.18. npvimep съемочных групп кок слобого множество сущносгей Кстати, при выборе имен атрибутов для схемы отношения мы проявили изобретательность, избегая имени для любою атрибута, так как в прот1И1ном случае было бы неясно, относится это имя к кинозвезде или к студии, а еслн к ст>лии, то к какой именно. О
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |