Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория БД (текст).doc
Скачиваний:
23
Добавлен:
14.04.2015
Размер:
1.1 Mб
Скачать

8. Типы слабых объектов.

Некоторые типы объектов могут не иметь сами по себе ключевых атрибутов. Из этого следует, что мы не сможем различить несколько объектов, так как комбинация значений их атрибутов может быть идентичной. Такие типы объектов называются СЛАБЫМИ (weak entity type). Объекты, принадлежащие к такому типу, идентифицируются через их отношение к объекту другого типа в комбинации с его атрибутами. Этот другой тип объекта называется отождествляющим собственником (identifying owner), а тип связи, который соотносит слабый тип объекта к его собственнику - отождествляющей связью (identifying relationship) слабого типа объекта. Слабый тип объекта имеет всегда полное участие по отношению к его отождествляющей связи, так как очевидно, что без собственника нельзя идентифицировать слабый объект. Однако не всегда зависимость существования приводит к результату для слабого типа объекта.

Например, рассмотрим тип объекта ИЖДИВЕНЕЦ, отнесенный к СЛУЖАЩЕМУ. Два иждивенца различных служащих могут иметь одинаковые значения атрибутов, но это все-таки различные объекты. Они различаются только после определения служащего, к которому они соотносятся. Каждый служащий, говорят, владеет (own) иждивенцами, соотносящимися с ним.

Слабый тип объекта имеет частичный ключ (partial key), представляемый множеством атрибутов, которые могут однозначно выделить слабый объект одного и того же собственника. В нашем примере частичным ключом может быть или ИмяИждивенца или СтепеньРодства, хотя первое предпочтительнее.

Иногда слабый тип объекта может быть представлен составным, многозначным атрибутом. В нашем примере СЛУЖАЩИЙ может иметь составной многозначный атрибут Иждивенец с теми же компонентами вместо отдельного слабого объекта. Выбор конкретного представления делается проектировщиком базы данных. Один критерий можно предложить для выбора слабого типа объекта (а не атрибута): имеется достаточно много экземпляров атрибута и они сами могут участвовать в связях с другими объектами независимо от собственника.

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

9. Выделение связей - 3 этап проектирования.

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

В нашем примере выделим следующие типы связей:

1. РУКОВОДИТ - 1:1 тип связи между объектами СЛУЖАЩИЙ и ОТДЕЛ. Служащий участвует частично. После уточнения степень участия отдела полная. Атрибут ДатаНачала относится к этому типу связи.

2. РАБОТАЕТ_В - 1:N тип связи между СЛУЖАЩИЙ и ОТДЕЛ. Оба объекта участвуют полным образом.

3. ОТВЕЧАЕТ - 1:N тип связи между ОТДЕЛ и ПРОЕКТ. Участие ПРОЕКТА полное, в то время как ОТДЕЛА, после дополнительных консультаций, частичное.

4. КУРИРУЕТ - 1:N тип связи между СЛУЖАЩИМ (в роли куратора) и СЛУЖАЩИМ (в роли курируемого). Участие обоих объектов частичное.

5. РАБОТАЕТ_НАД - M:N тип связи между СЛУЖАЩИМ и ПРОЕКТОМ с атрибутом ВремяРаботы, введенным после уточнения, что несколько человек могут работать над одним проектом.

6. ЗАВИСИТ_ОТ - 1:N тип связи между СЛУЖАЩИЙ и ИЖДИВЕНЕЦ. СЛУЖАЩИЙ является отождествляющей связью для слабого типа объекта ИЖДИВЕНЕЦ. Участие СЛУЖАЩЕГО частично, а ИЖДИВЕНЦА - полное.

После спецификации этих отношений, переведем в них некоторые атрибуты объектов:

Þ НачалоРуководства из объекта ОТДЕЛ в связь РУКОВОДИТ

Þ ВремяРаботы из объекта СЛУЖАЩИЙ в связь РАБОТАЕТ_НАД

Þ Руководитель, ОтвечающийОтдел, Куратор, Служащий (в объекте ИЖДИВЕНЕЦ) ликвидируются, так как фактически определяют связи.

О

Рис.10. ER – диаграмма компании

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

10. ER - ДИАГРАММА.

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

Напомним еще раз, что состояния базы данных изменяются достаточно часто, в то время как схемы - крайне редко. Именно этим определяется то внимание, которое уделяется схемам. Для большей наглядности схемы отношений представляются в виде ER – диаграммы.

Типы объектов (СЛУЖАЩИЙ, ОТДЕЛ, ПРОЕКТ) показаны в прямоугольниках. Типы связей (РАБОТАЕТ_В, РУКОВОДИТ, ОТВЕЧАЕТ, РАБОТАЕТ_НАД) указаны в ромбах и связаны прямыми с участвующими в них объектами. Атрибуты указаны в овалах и также соединены с объектами прямыми линиями. Компоненты составных атрибутов соединены с овалом, представляющем составной атрибут. Многозначные атрибуты показаны в двойных овалах. Ключевые атрибуты подчеркнуты. Выводимые атрибуты показаны в точечных овалах.

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

К

Рис.11 Элементы построения ER - диаграмм

ардинальная пропорция показана на углах ромба символами 1,M,N. Ограничение частичного участия показано одинарной линией, а полного - двойной.

Название ролей, которые играют объекты в связях, выписаны только для связи КУРИРУЕТ, так как в остальных случаях они очевидны.

На рис.11 приведены все соглашения, используемые для составления ER -диаграмм.

В

Рис.12 ER-диаграмма тернарной связи

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

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

Приведенные соглашения охватывают широкий круг приложений. Однако, некоторые приложения - особенно приложения в области искусственного интеллекта или инженерного проектирования - требуют дополнительных понятий.