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

1 ... 16 17 18 [ 19 ] 20 21 22 ... 125


2.6 Слабые множества сущностей 57

П Упражнение 2.5.4. Выполните упражнение 2.5.3 при условии, что л -любое число, кроме 2. Используя только информацию о том. какие линии от Д к £; имеют стрелки, покажите, как найти наименьший возможный ключ К для Л в терминах К,.

I Упражнение 2.5.5. Привелите примеры таких атрибутов, которые созданы в качестве ключей, из реальной жизни (помимо примера 2.24).

2.6 Слабые множества сущностей

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

2.6.1 Причины возникновения

слабых множеств сущностей

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

Пример 2.30. Приведем примеры иерархий, ведущих к слабым множествам сущностей:

I. В киностудию может входить несколько съемочных групп, которые обозначаются группа Г , группа 2 и т.д. Но так же могут обозначить свои съемочные группы и другие студии, поэтому атрибут number не является ключом для съемочных групп. Для определения уникального имени группы необходимы имя студии, которой она принадлежит, и номер. Такая ситуация изображена на рис. 2.27. Ключ для слабого множества сушностей Crew состоит из его собственного атрибута number и атрибута пате единственной сгулии, с которой кинокомпания находится в связи Vnit-of типа многие к-одиому .*


Рис 2.27. Слобов множваво суциоствй и его связи

2. Вилы конструируются с помощью рола и имен видов. Например, люди - это виды Homo sapiens: Homo - имя рода, а .wpiens - имя вила. В обшем случае род состоит из множества видов, каждый из которых имеет имя. начинающееся с имени рола, за ним следует и.мя вида. К сожалению, имена видов ие уника/гьны. Несколько родов могут иметь виды с одним и тем же именем. Значит, для уникального обозначения необхолммь имена видов и имя роля, с которым они находятся в связи Member-of. Виды - это слабое множество сущностей, ключ которого частично происходит от содержащего их рода. О

4 Значение двойного ромба н лвоПного пряхюугольника объясняется в р.13лелс 2.6.3.



Другим источником слабь x множеств сущностей moot быть множества связующих сущностей, введенные в разделе 2.2.5 в качестве способа устранения многосторонних связей*. Эти множесгва сущностей часто не имеют собственных атрибутов, их ключи формируются из атрибутов, являющихся ключевыми д.пя множеств, с которыми они связаны.

Пример 2.31. На рис. 2 28 показано множество связующих сущностей Contraas, заменяющее тернарную связь Contracts нз примера 2.8. Contracts имеет атрибут salary, но он ие относится к ключу. Ключ для данного множества состоит из имени стздии, имени кинозвезды, а также названия и года выпуска фильма. □


Contracts




Movies

Studios

Btars

Рис. 2.28. Оюбые множеаво связующих еущноаей


2.6.2 Требования

к слабым множествам сущностей

Ключевые атрибуты дня слабого множества сущностей нельзя пол1чить произвольным образом. EcjHi -слабое множество сущностей, то каждое из множеств F, поставляющих одни ключевой атрибут дня f или более, должно быть соединено с Е связью Л. Кроме того, необходимо выполнить следующие условия:

I. Л должно быть бинарной связью типа многис-к-одному * между Е и F.

S Заметим, что в E/R-мопслн не требуется заменять многосторонние связи, а в ODL и в некоторых старых моделях, например, сетевых и иерархических, рассмотренных я разделе 7 7, это делать нсобхолимо.

i Помните, что связь типа ооин-к-одно.му - это специальный случай связи типа MHonie-K-oaiioMj . Трсбоианис, чтобы связь была типа многис-к-одному , всегда включает в себя и связь типа олин-к-одному .



2. Атрибуты F, используемые в ключе лля Е, должны быть оючевыми атрибутами множества F.

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

4. Если есть несколько связей типа многйе-к-одному между £ и f, эти связи можно использовать дли получения копий ключевых атрибутов £, П03В0ЛЯЮШ.ИХ сформировать ключ для £. Заметим, что сущность е из £ может быть связана с многими сущностями в F посредством различных связей из £. Поэтому ключи многих различных сущностей из F могут появляться в ключевых значениях, идентифицирующих отдельную сущность е из £.

Эти условия можно объяснить на интуитивном уровне. Рассмотрим сущность из слабого множества, например съемочную группу из примера 2.30. С абстрактной точки зрения каждая съемочная группа уникальна. В принципе можно отличить одну из них от другой, даже если они имеют один и тот же номер, ио принадлежат различным студиям. По данным, относящимся только к съемочным группам, их трудно различать, поскольку номера здесь недостаточно Единственный способ связать со съемочной группой дополнительную информацию - это детерминированный процесс порождения дополнительных значений, делающих обозначение съемочной группы уникальным. Найти уникальное значение, связанное с множеством съемочных групп, можно только при выполнении хотя бы одного из следующих условий:

1. Искомым значением является атрибут множества Crew.

2. Можно проследить связь сущности съемочная группа с уникальной сущностью другого множества F, имеющей некоторое уникальное связанное значение. Такая связь должна иметь тип многие к-одному (в частном случае один-к одному ), а упо.мянутое связанное значение должно быть ключом для F.

2.6-3 Обозначение

слабого множества сущностей

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

1. Слабое множество обозначается двойным прямоугольником. Примерами таких множеств являются Crews на рис. 2.27 и Controcis на рис. 2,28.

2. Связи типа многие к одному слабого множества с другими множествами сушностей, поставляющими для него ключевые атрибуты, обозначаются двойными ромбами. Примерами таких связей являются Unit-of на рис, 2.27 и все три связи на рис. 2.28.

3. Если множество сущностей поставляет атрибрты лля собственного ключа, эти атрибуты подчеркиваются. Например, на рис. 2.27 number участвует в собственном ключе, хотя и не является полным ключом для Crews.

Эти соглашения суммируются в виде правила:

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



1 ... 16 17 18 [ 19 ] 20 21 22 ... 125

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