|
Программирование >> Реляционные базы данных
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, но он ие относится к ключу. Ключ для данного множества состоит из имени стздии, имени кинозвезды, а также названия и года выпуска фильма. □
Рис. 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. Эти соглашения суммируются в виде правила: Множество сущностей с двойной границей является слабым. Его ключ состоит из его собственных подчеркнутых атрибутов (если таковые имеются) и ключевых атрибутов тех множеств, с которыми данное слабое множество соединено связями типа многие к одному , имеющи.ми дюйную границу.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |