- •I. Моделирование данных
- •0. Введение.
- •1. Понятия и архитектура субд
- •2. Основные этапы проектирования.
- •3. Сбор информации - 1 этап проектирования.
- •4. Объекты (сущности) и атрибуты.
- •5. Типы объектов, множества значений, ключевые атрибуты.
- •6. Выделение объектов - 2 этап проектирования.
- •8. Типы слабых объектов.
- •9. Выделение связей - 3 этап проектирования.
- •11. Тернарные связи.
- •II. Развитие понятий моделирования данных
- •0. Введение
- •1. Понятия eer-модели
- •2. Моделирование данных с помощью специализации и обобщения.
- •3. Категории и категоризация
- •4. Формальные определения
- •5. Пример схемы базы данных в eer-модели
- •6. Отображение er- и eer-модели в реляционную модель.
- •Содержание
- •I.Моделирование данных
- •II. Развитие понятий моделирования данных 10
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 - диаграмм
Название ролей, которые играют объекты в связях, выписаны только для связи КУРИРУЕТ, так как в остальных случаях они очевидны.
На рис.11 приведены все соглашения, используемые для составления ER -диаграмм.
В
Рис.12
ER-диаграмма тернарной связи
Еще одно замечание относится к выбору слов. Для названия типов объектов берутся имена существительные в именительном падеже, а для типов связей, отражающих некоторое действие, глагольная форма.
Приведенные соглашения охватывают широкий круг приложений. Однако, некоторые приложения - особенно приложения в области искусственного интеллекта или инженерного проектирования - требуют дополнительных понятий.