Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CH5_DBnew.doc
Скачиваний:
19
Добавлен:
04.06.2015
Размер:
5.6 Mб
Скачать

5.3.2. Связи между сущностями

Кроме связей между сущностью и ее свойствами концептуальная модель отражает связи между самими сущностями. Связьв [18] определяется как «ассоциация, объединяющая несколько сущностей». Эта ассоциация всегда может существовать между разными сущностями или между сущностью и ей же самой (рекурсивная связь). Сущности, объединяемые связью, называютсяучастниками.Степень связиопределяется количеством участников связи2.

Если каждый экземпляр сущности участвует, по крайней мере, в одном экземпляре связи, то такое участие этой сущности называется полным(илиобязательным – связь типа «должен»); в противном случае –неполным(илинеобязательным – связь типа «может»).

а) Связь мощности «один к одному» (1:1)

б) Связи мощности «один ко многим» (1:М) и

«многие к одному» (М:1)

в) Связь мощности «многие ко многим» (М:М)

Рис. 5.3. Связи между типами и экземплярами сущностей

Как и сущность, связь является типовымпонятием, т.е. все экземпляры связываемых сущностей подчиняются правилам связывания типов. Принципиальность различия связей между типами и экземплярами сущностей иллюстрирует рис. 5.3. Количественный характер участия экземпляров сущностей (один или многие) задаетсятипом связи(илимощностью связи). Возможны следующие типы:«один к одному» (1:1) – рис. 5.3 а, «один ко многим» (1:М) или «многие к одному» (М:1) - рис. 5.3 б, «многие ко многим» (М:М)3- рис. 5.3 в.Сплошная линия на рисунках обозначает полное (или обязательное) участие сущности в связи, пунктирная – неполное (или необязательное).

5.3.3. Супертип и подтип

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

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

Подтип наследует свойства и связи супертипа. Например, тип сущности ПРОГРАММИСТ является подтипом сущности СОТРУДНИК. Программисты обладают всеми свойствами сотрудников и участвуют во всех связях, однако обратные утверждения неверны.

Тип сущности, его подтипы, подтипы этих подтипов и т.д. образуют иерархию типов сущности, пример которой приведен на рис. 5.4.

5.3.4. Нотации er- диаграмм

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

В этом смысле моделирование предметной области, базирующееся на использовании графических диаграмм, является удачным решением. Графическая форма позволяет отобразить в компактном виде (за счет наглядных условных обозначений) типологию и свойства сущностей и связей, а формализмы, положенные в основу ER-диаграмм, дают возможность сформулировать конечный набор правил проектирования логической структуры базы данных.

Диаграмма – графическое представление множества элементов, чаще всего изображаемое в виде связного графа с вершинами-объектами и ребрами-отношениями. НаER-диаграмме вершинами являются сущности и (например, в нотации Чена) свойства сущностей. РебраER-диаграммы представляют собой связи между сущностями и между сущностью и ее свойствами.

Существует несколько различных нотаций (языков) изображения ER-диаграмм. Исторически первой является нотация Чена; в семействе стандартов IDEF модель «сущность-связь» реализуется нотацией IDEF1Х; используются нотации Мартина и Баркера, а также графические элементыUML.

Рис. 5.5. ER-диаграмма в нотацииUML

Нотация UML.На рис. 5.5 приведен примерER-диаграммы ПрО в нотацииUML.

Унифицированный язык моделирования UML (Unified Modeling Language) представляет собой язык для определения, представления, проектирования и документирования программных систем, организационно-экономических систем, технических систем и других систем различной природы. Структуру UML составляет стандартный набор диаграмм и нотаций.

Главными в разработке UML были следующие цели:

  • предоставить готовый к использованию выразительный язык визуального моделирования, позволяющий разрабатывать осмысленные модели и обмениваться ими;

  • предусмотреть механизмы расширяемости базовых концепций языка;

  • обеспечить независимость от конкретных языков программирования и процессов разработки.

  • интегрировать лучший практический опыт.

В настоящее время UML находится в процессе стандартизации, проводимом организацией по стандартизации в области объектно-ориентированных методов и технологий (OMG - ObjectManagementGroup).

Рассмотрим правила изображения сущностей, свойств и связей в этой нотации.

Каждый тип сущности в ER-диаграммах нотации UMLпредставляется в виде прямоугольника, содержащего имя сущности и перечень свойств сущности. В качестве имени сущности обычно используется существительное в единственном числе (например, ОТДЕЛ, ПРОЕКТ, СОТРУДНИК). Имя сущности указывается в верхней части прямоугольника с прописной буквы, имена свойств перечисляются в нижней части прямоугольника и начинаются со строчной буквы.

Слабые сущности характеризуются тем, что их нельзя однозначно идентифицировать только с помощью собственных атрибутов (в силу их зависимости от «родительских» сущностей и невозможности самостоятельного существования). На ER-диаграммах слабые сущности не имеют первичных ключей (например, сущность ПОДЧИНЕННЫЙ)

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

Таблица 5.2. Изображение типов свойств в UML

Тип свойства

Описание

Пример

Свойство первичного

ключа

после имени свойства в фигурных скобках помещается идентификация первичного ключа {PK}

Многозначное

после имени свойства в квадратных скобках задаются возможные границы изменения количества значений [1..N]

Производное

имя свойства начинается с наклонной черты «/»

Условное (необязательное)

после имени свойства в квадратных скобках задаются возможные границы изменения количества значений [0..N]

Составное

под именем составного свойства перечисляются с отступом вправо имена простых свойств

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

  • 1..*- один или более;

  • 0..*- ноль или более;

  • 1– ровно один;

  • 0..1– может быть один.

Может быть задан также диапазон (например, 1..10) или точное количество, отличное от 1

Для обозначения n-арной связи используется ромб, внутри которого указывается имя связи. Кратностьn-арной связи для каждой сущности показывает, каким может быть количество ее объектов в случае, если со стороны остальных сущностей-участниц в связи участвует ровно по одному объекту. Например, трехсторонняя связь на рис. 5.6 определяет, что поставлять партии любых деталей для любого проекта может любой поставщик.

Рис. 5.6. Пример трехсторонней связи

Присутствие в задании мощности связи значения «0» объявляет связь как неполную (необязательную). Например, связь РАБОТАЕТ между сущностями ОТДЕЛ и СОТРУДНИК на рис. 5.5 должна читаться следующим образом: «Каждый сотрудник обязательно работает только в одном отделе; в отделе работает произвольное число сотрудников или не работает ни одного».

Связь может быть модифицирована указанием роли. Например, для рекурсивной связи СОСТАВ на рис. 5.5 указаны роли: «Деталь состоит из…» и «Детальв составе…».

Связь «многие ко многим» может иметь собственные свойства, характеризующие взаимодействие сущностей (например, связи УЧАСТИЕ и РЕАЛИЗАЦИЯ ПРОЕКТА на рис. 5.5). В этом случае для изображения связи используется графический элемент, соответствующий слабой сущности. Прямоугольник сущности присоединяется к линии связи (или к ромбу в случае n-арной связи) пунктирной линией.

Нотация Чена.Каждый тип сущности в нотации Чена представляется в виде прямоугольника, содержащего имя сущности (существительное в единственном числе).

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

Свойства отображаются в виде эллипсов, содержащих имя свойства. Эллипс соединяется с соответствующей сущностью или связью линией (рис. 5.7).

Рис. 5.7. Фрагмент ER-диаграммы в нотации Чена

Участники связи соединены со связью линиями. Двойная линия обозначает полное (обязательное) участие сущности в связи с данной стороны. Например, обязательная связь РУКОВОДСТВО со стороны сущности ПРОЕКТ (рис. 5.8) означает, что у каждого проекта должен быть руководитель. Однако не каждый сотрудник должен руководить проектом.

Тип связи указывается индексами «1» или «М» над соответствующей линией. Например, связь РУКОВОДСТВО (рис. 5.8) имеет тип «один ко многим»: один сотрудник может руководить многими проектами; связь УЧАСТИЕ (рис. 5.7) имеет тип «многие ко многим»: один сотрудник может участвовать во многих проектах, и в проекте могут участвовать многие сотрудники.

Рис. 5.8. Пример полной и неполной связей.

Для отражения слабых (зависимых) сущностей используются прямоугольники, стороны которых рисуются двойными линиями. Например, в представленной на слайде 9 ER-диаграмме ПОДЧИНЕННЫЙ – сущность слабого типа.

Стороны ромба рисуют двойными линиями, если это связь сущности слабого типа с сущностью, от которой она зависит. Например, связь «Подчинение», связывающая сущность слабого типа ПОДЧИНЕННЫЙ с сущностью СОТРУДНИК, от которой она зависит.

Рис. 5.9. Пример слабой сущности

Правила изображения свойств различных типов в нотации Чена приведены в табл. 5.3.

Таблица 5.3. Изображение типов свойств в нотации Чена

Тип свойства

Описание

Пример

Свойство первичного

ключа

имя свойства подчеркивается

Многозначное

контур эллипса рисуется двойной линией

Производное

контур эллипса рисуется штриховой линией

Условное (необязательное)

эллипс соединяется с прямоугольником сущности пунктирной линией

Составное

составляющие свойства отображаются другими эллипсами, соединенными с эллипсом составного

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]