Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Тема 2.1. Введение в информационные системы. ER – диаграмма. 4 страница



Пример 2.24. Биологический вид принято обозначать совокупностью имен рода, к кото­рому принадлежит этот вид, и собственного имени вида. Например, человек как био­логическое существо относится к виду Homo sapiens, где Homo ("человек") — название рода, a sapiens ("разумный") — название вида. Род в общем случае состоит из несколь­ких видов, и полное наименование каждого из них включает название рода и уточня­ется названием вида. Названия видов, рассматриваемые отдельно, к сожалению, не уникальны. В составе двух или нескольких родов могут встретиться виды с одинако­выми собственными названиями. Поэтому для обеспечения уникальности сущности "вид" во множестве сущностей Species ("биологические виды") необходимо пользовать­ся полными именами видов, состоящими из собственного имени вида и названия соот­ветствующей сущности "род" из множества сущностей Genera ("биологические роды"), с которой "вид" соединен связью Belongs-to ("принадлежит"). Таким об­разом, Species — это слабое множество сущностей, в состав ключа которого введен атри­бут множества Genera, находящегося на более "высокой" ступени иерархии.

Пример 2.24. Биологический вид принято обозначать совокупностью имен рода, к кото­рому принадлежит этот вид, и собственного имени вида. Например, человек как био­логическое существо относится к виду Homo sapiens, где Homo ("человек") — название рода, a sapiens ("разумный") — название вида. Род в общем случае состоит из несколь­ких видов, и полное наименование каждого из них включает название рода и уточня­ется названием вида. Названия видов, рассматриваемые отдельно, к сожалению, не уникальны. В составе двух или нескольких родов могут встретиться виды с одинако­выми собственными названиями. Поэтому для обеспечения уникальности сущности "вид" во множестве сущностей Species ("биологические виды") необходимо пользовать­ся полными именами видов, состоящими из собственного имени вида и названия соот­ветствующей сущности "род" из множества сущностей Genera ("биологические роды"), с которой "вид" соединен связью Belongs-to ("принадлежит") (см. рис. 21). Таким об­разом, Species — это слабое множество сущностей, в состав ключа которого введен атри­бут множества Genera, находящегося на более "высокой" ступени иерархии. □

 
 


Рис. 21. Еще одна ER-диаграмма, представляющая слабое множество сущностей

Другая причина применения слабых множеств сущностей связана с механизмом соединяющих множеств сущностей (connecting entity sets), который позволяет преобразовать ER-диаграмму, устраняя многосторонние связи.7 Соединяющие множества сущностей зачастую не содержат собственных атрибутов, поэтому ключи для таких множеств формируются на основе ключевых атрибутов других, связанных с ними множеств.

Пример 2.25. На рис. 22 изображено соединяющее множество сущностей Contracts ("контракты"), заменяющее собой одноименную тернарную связь, которая была рассмотрена в примере 2.5. Множество Contracts обладает собственным ат­рибутом salary ("размер заработной платы"), который, однако, не участвует в фор­мировании ключа. Уникальная сущность "контракт" определяется совокупностью значений ключевых атрибутов пате ("имя" или "название") множеств Stars ("актеры") и Studios ("киностудии"), а также title ("название") и year ("год произ­водства") множества Movies ("кинофильмы"). □

2.4.2. Требования к слабым множествам сущностей

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

1) подмножества (возможно, пустого) собственных атрибутов;

ключевых атрибутов множеств сущностей, которые могут быть достигнуты по­средством цепочки связей типа "многие к одному", соединяющих множество Е с другими множествами; подобные связи принято называть поддерживающими связями (supporting relationships) для множества Е

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


Рис. 2.22. Соединяющие множества сущностей "слабы"

Чтобы некоторую связь R типа "многие к одному", соединяющую множества сущно­стей Е и F в направлении от Е к F, можно было отнести к числу поддерживающих связей для множества Е, должны выполняться условия, перечисленные ниже.

1. Связь R должна быть бинарной связью типа "многие к одному"8, направлен­ной от Е к F.

2. Связь R обязана предусматривать реализацию ограничения ссылочной целост­ности в направлении от Е к F. Другими словами, для каждой Е-сущности следу­ет обеспечить наличие в базе данных соответствующей F-сущности, с которой -сущность соотносится посредством связи R, т.е. присутствие на диаграмме по­лукруглой стрелки, соединяющей R с F, должно быть подтверждено фактически.

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

4. Если F, в свою очередь, также является слабым множеством сущностей, тогда некоторые или все ключевые атрибуты, поставляемые множеству £*, должны быть ключевыми атрибутами одного или нескольких множеств сущностей G, с которыми множество F соединено посредством поддерживающих связей. Если и G относится к числу слабых множеств, ключевые атрибуты по цепочке связей заимствуются у других множеств и т.д.

Если существует несколько различных поддерживающих связей, направленных со стороны Е к F, каждая связь для формирования ключа множества Е поставляет собственную копию ключевых атрибутов множества F. Заметим, что некоторая сущность е множества Е может быть связана с несколькими различными сущно­стями множества F посредством различных поддерживающих связей, направленных от Е к F. Таким образом, сущность е множества Е может определяться ключевы­ми значениями, полученными от нескольких различных сущностей множества F.

Заметим, что связь "один к одному" является частным случаем связи типа "многие к од­ному". Когда мы говорим о том, что некоторая связь должна относиться к типу "многие к од­ному", мы подразумеваем и равную возможность существования связи "один к одному".

Интуитивные доводы в пользу необходимости принятия названных условий тако­вы. Рассмотрим некоторую сущность, принадлежащую слабому множеству сущностей, такому как, скажем, Crews ("объединения") (см. пример 23). Каждая сущ­ность "объединение" должна быть уникальной, чтобы ее можно было отличить от другой даже в том случае, если "объединения" обладают одним порядковым номером, но относятся к разным "киностудиям". Одного номера для решения задачи, однако, не достаточно. Следует провести поиск дополнительных значений, способных обеспе­чить уникальность сущностей множества Crews. К числу уникальных значений, тем или иным образом связанных с сущностями "объединение", относятся:

1) значения атрибутов самого множества Crews;

2) значения, которые можно получить на основе связей множества Crews с други­ми множествами; каждая подобная связь должна относиться к типу "многие к одному" (или, в частном случае, "один к одному") и соединять множество Crews с некоторым множеством F, а заимствованные множеством Crews атрибу­ты обязаны участвовать в образовании ключа множества F.

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

При обозначении на ER-диаграмме слабых множеств сущностей, их ключевых атрибутов и поддерживающих связей мы действуем в соответствии со следующи­ми правилами.

1. Если множество сущностей является слабым, его принято изображать в виде двойного прямоугольника. Примерами могут служить множества сущно­стей Crews ("объединения") (см. рис. 20) и Contracts ("контракты") (см. рис. 22).

2. Поддерживающие связи типа "многие к одному" для слабых множеств сущностей обозначают двойными ромбами. В качестве примеров можно упомянуть связь Unit-of ("подразделение") (см. рис. 20) и все три связи диаграммы рис. 22.

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

Те же правила, но в лаконичной форме, могут быть представлены так.

• "Если множество Е на диаграмме обозначено двойным прямоугольником, оно является слабым. Атрибуты множества £, отмеченные подчеркиванием (если та­ковые есть), в совокупности с ключевыми атрибутами тех множеств сущностей, с которыми Е соединено посредством связей типа "многие к одному", обозна­ченных двойными ромбами, образуют ключ множества Е

Следует напомнить, что двойные ромбы применяются только для обозначения поддерживающих связей. Вполне возможно наличие в диаграмме связей типа "многие к одному", охватывающих слабые множества сущностей, но не относящихся к категории поддерживающих связей; такие связи отмечаются обычными (не двойными) ромбами.

Пример 2.26. Изображенную на ER-диаграмме рис. 22 связь Studio-of не обязательно следует считать поддерживающей связью для множества сущностей Contracts ("контракты"), поскольку каждой сущности "кинофильм" соответствует строго определенная сущность "киностудия", определяемая не показанной здесь свя­зью Owns ("владеет"), которая соединяет множества сущностей Movies ("кино­фильмы") и Studios ("киностудии"). Поэтому для каждой конкретной пары сущностей "актер—кинофильм" существует не более одного контракта с любой студией, оговари­вающего условия участия актера в съемках фильма, и для обозначения связи Studio-of более уместно было бы вместо двойного ромба использовать обычный, одинарный. □

2.4.4. Упражнения

* Упражнение 2.4.1. Один из способов представления сведений о студентах и оцен­ках, полученных ими по завершении изучения тех или иных курсов, связан с соз­данием множеств сущностей "студенты", "курсы" и "регистрационные записи". Сущности "регистрационные записи" формируют множество, "соединяющее" множества "студенты" и "курсы", которое может быть использовано не только для регистрации того факта, что определенный студент сдал экзамен по конкретному курсу, но и для хранения данных о полученных студентами оценках. Начертите ER-диаграмму, представляющую описанную ситуацию, и отметьте на ней слабые множества сущностей и ключи для всех множеств. Является ли атрибут "оценка" частью ключа для множества сущностей "регистрационные записи"?

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

Упражнение 2.4.3. Обратившись к ER-диаграммам, представляющим решения за­даний упражнения 2.2.6 (а)—(с), отметьте слабые множества сущностей, поддерживающие связи и ключи.

Упражнение 2.4.4. Постройте ER-диаграммы, описывающие ситуации с участием слабых множеств сущностей, перечисленные ниже. Отметьте на каждой диаграмме ключи для всех множеств сущностей.

а) Даны множества сущностей Courses ("курсы") и Departments ("факультеты"). Каждый курс читается на строго определенном факультете, но обладает единственным атрибутом number ("номер"). Различные факультеты вправе предлагать курсы с одинаковыми номерами. Каждому факультету соответст­вует уникальное значение атрибута пате ("название").

b) Даны множества сущностей Leagues ("лиги"), Teams ("команды") и Players ("игроки"). Лиги обладают уникальными названиями. В составе лиги нет двух команд с одинаковыми наименованиями, а в команде — игроков с од­ним и тем же номером. Однако в пределах нескольких команд могут совпа­дать номера игроков, а в нескольких лигах допускается наличие команд с одинаковыми наименованиями.

2.5. Резюме

♦ Модель "сущность—связь ", или ER-модель, используется для представления мно­жеств сущностей, связей между ними, а также атрибутов множеств и связей.

♦ Диаграмма сущностей и связей. При построении диаграммы сущностей и связей, или ER-диаграммы, для описания множеств сущностей, связей и атрибутов применяются соответственно прямоугольники, ромбы и овалы.

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

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

♦ Принципы проектирования. Чтобы достичь успеха при проектировании базы данных, следует обеспечить достоверность представления сведений об объектах реального мира, выбрать подходящие инструменты моделирования (т.е. верно использовать элементы множеств сущностей, связей и атрибутов) и избежать избыточности (представления некоторых сущностей дважды либо описания их неоднозначными и сложными средствами).

♦ Ссылочная целостность. Ограничение ссылочной целостности подразумевает, что сущность, на которую ссылается некоторая другая сущность, обязана при­сутствовать в базе данных.

♦ Подклассы. ER-модель предлагает возможность использования связей специ­альной разновидности, isa9 для представления того факта, что одно множество сущностей является некоторым подмножеством другого. Множества сущностей, соединенные связями isa, могут образовывать древовидную иерархию, а их эле­менты — обладать компонентами, принадлежащими любому поддереву дерева иерархии, включающему корневую вершину.

♦ Слабые множества сущностей. ER-модель позволяет представлять такие множества сущностей, ключи которых полностью или частично основаны на ключевых атрибу­тах других, связанных, множеств. Для описания слабых множеств сущностей в ER-диаграммах применяются специальные обозначения — двойные прямоугольники.










Дата публикования: 2014-11-29; Прочитано: 790 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.112 с)...