Добавил:
Рад, если кому-то помог Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции ПрБД, 2 курс 3 семестр (для ИВТ и т.п.) / Проектирование БД_уч пособие v02

.pdf
Скачиваний:
0
Добавлен:
28.11.2025
Размер:
1.79 Mб
Скачать

многим (M:N) и один-к-одному (1:1). Название отношения обычно является активным или пассивным глаголом. Например, КУРАТОР курирует много СТУДЕНТОВ, СТУДЕНТ изучает много ДИСЦИПЛИН, а ПРЕПОДАВАТЕЛЬ управляет КАФЕДРОЙ.

8.1 ER-модель П. Чена

Идеи П.Чена являются своеобразным стандартом в построении ERмоделей. Другие модели могут отличаться набором графических символов, некоторыми особенностями моделирования, но основные правила остались теми же. Чен сделал больше, чем кто-либо, для популяризации этой модели и введения её в научный оборот.

Предложенная Ченом графическая нотация ER-модели включает в себя следующие элементы (Табл. 3).

Табл. 3. Основные обозначения нотации П. Чена [9]

Элементы

Обозначение

независимая сущность

имя

имя зависимая сущность

имя связь

имя идентифицирующая связь

имя атрибут

имя первичный ключ

имя многозначный атрибут

имя производный атрибут

111

Пример ER-модели в нотации в нотации П. Чена приведен на Рис. 33. Независимая сущность отображается на диаграммах прямоугольником с одинарной рамкой, зависимая – с двойной. Атрибуты отображаются за пределами графического обозначения сущности в виде эллипсов, связанных одинарной линией с ним. Атрибуты, входящие в первичный ключ сущности, выделяются подчеркиванием имени. Эллипс многозначных атрибутов изображается с двойным контуром, производных – пунктирным. Если атрибут является составным, то атрибуты-компоненты отображаются в виде присоединенных к нему эллипсов. Связь между сущностями показывается в виде ромба с указанием имени связи внутри него. При этом, если ромб имеет двойную рамку, то связь – идентифицирующая, одинарную

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

Возраст

 

Код дисц. Название

Фамилия

Имя

 

 

 

 

 

Штатный

Отчество

№зачетки

семестра

 

 

 

 

 

 

 

Дисцип-

 

 

ФИО

Студент

изучает

преподает

 

 

лина

 

 

 

 

 

 

Звание

 

 

 

 

 

ФИО

учится в

Экз/зачет

 

Преподаватель

 

 

 

 

 

 

 

 

Фамилия

 

 

 

 

Степень

 

 

 

 

 

Отчество

 

 

 

Зав.

работает

Имя

 

 

 

 

 

 

Название

кафедрой

 

 

Группа

 

 

 

№ группы

 

Специ-

 

 

 

 

 

 

 

 

 

 

альность

кафедра

 

 

Кол-во

 

кафедры

 

 

 

 

 

 

 

 

 

 

 

студентов

 

 

 

 

Рис. 33. Пример ER-модели в нотации в нотации П. Чена

Мощность (кардинальность) связи обозначается числами или бук-

вами:

1 – один;

N или M – многие;

<число> – конкретное количество экземпляров;

(<Min>, <Max>) – диапазон экземпляров, где в качестве <Min> и <Max> могут использоваться предыдущие обозначения мощности. В этом случае интерпретация мощности выполняется в «обратную сторону», т.е. со стороны родительской сущности указы-

112

вается: сколько экземпляров дочерней сущности связано с экземпляром родительской сущности, а со стороны дочерней сущности – сколько экземпляров родительской сущности связано с экземпляром дочерней сущности.

Примеры указания мощности связи показаны на Рис. 34. В первом случае мощность связи (один-ко-многим) указывается традиционно, как в большинстве нотаций. Т.е. экземпляр родительской сущности (конкретный отдел) связан с 0, 1 или более экземплярами дочерней сущности (конкретными сотрудниками). Во втором случае ее следует понимать следующим образом: экземпляр родительской сущности должен быть связан с 5 или более экземплярами дочерней сущности (отдел состоит из 5 или более сотрудников), а экземпляр дочерней сущности связан с 0 или 1 экземпляром родительской сущности (сотрудник либо не входит, либо входит в отдел).

а) односимвольное обозначение

Отдел

1

Состоит из

N

Сотрудник

 

 

 

 

 

 

 

 

 

б) диапазонное обозначение

Отдел

(5,N)

Состоит из

(0,1)

Сотрудник

 

 

 

 

 

 

 

 

 

Рис. 34. Отображение мощности связей в нотации П. Чена

Расширением ER-модели Чена является EER-модель (Enhanced ER, улучшенная ER), которая позволяет моделировать отношения наследования между суперклассами и подклассами. Основу расширения составляют концепции специализации, генерализации и категоризации.

специализация – процесс увеличения различий между отдельными сущностями за счет выделения их отличительных характеристик;

генерализация – процесс сведения различий между сущностями к минимуму путем выделения их общих характеристик. процесс обратный специализации;

113

категоризация – моделирование сущности путем включения в нее характеристик других сущностей (множественное наследование).

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

8.2 Нотация IE (Information Engineering) информационного проектирования

Родоначальником данной методологии (нотации) является Клайв Финкельштейн (Clive Finkelstein). Дальнейшее её совершенствование связано с именами Джеймса Мартина (James Martin) и Чарльза Рихтера (Charles M. Richter). Также можно встретить название – «Воронья лапка» (Crow’s Foot) («Куринная лапка») или «Вилка» (Fork), и она также может носить название «Перевернутая стрелка» (Inverted Arrow).

В нотации IE сущность отображается в виде прямоугольника, содержащего его имя. Согласно данной нотации, сущность изображается в виде прямоугольника, содержащем ее имя, выражаемое существительным. Имя сущности должно быть уникальным в рамках одной модели. При этом имя сущности – это имя типа, а не конкретного экземпляра данного типа. Экземпляром сущности называется конкретный представитель данной сущности. Атрибуты сущности записываются внутри прямоугольника, изображающего сущность, за счет этого диаграмма получается гораздо более компактной. Ключевые поля на диаграмме помещаются в верхнюю секцию прямоугольника (Рис. 35).

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

– ноль;

– один; – один и только один (строго один). Обычно указывается со

стороны родительской таблицы;

114

– много (больше 0). Данный элемент иногда называют «Вороньей (куриной) лапкой» (Crow’s Foot).

Студент

 

 

 

 

 

 

 

 

Дисциплина

 

 

 

 

 

 

 

 

Преподаватель

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

№ зачетки

 

 

 

 

 

 

 

Код дисциплины

 

 

 

 

 

 

 

Штатный номер

Фамилия

 

 

 

 

 

 

 

Название

 

 

 

 

 

 

 

ФИО

Группа

 

 

 

 

 

 

 

Номер семестра

 

 

 

 

 

 

 

Звание

 

 

 

 

 

 

 

 

 

 

 

 

Экз/зачет

 

 

 

 

 

 

 

Степень

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Группа

№ группы Специальность Кол-во студентов

Кафедра

№ кафедры Название Зав.кафедрой

Рис. 35. Пример ER-модели в нотации в нотации Мартина

8.3 Нотация Баркера

Нотация Баркера относится к нотации ERD. Разработана Ричардом Баркером, Ян Палмером, Гарри Эллисом и др. во время работы в британской консалтинговой фирме CACI около 1981 года. Обозначения были сформулированы Р. Баркером, когда он присоединился к Oracle, и точно определены в его книге «Entity Relationship Modeling», как часть серии книг по CASE методам. Эта нотация используется и сейчас в инструментах моделирования Oracle CASE. Нотация представляет собой разновидность стиля моделирования данных «Воронья лапка».

Основные обозначения [5]:

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

каждая сущность должна иметь уникальное имя, и к одному и тому же имени должна всегда применяться одна и та же интер-

115

претация. Одна и та же интерпретация не может применяться к различным именам, если только они не являются псевдонимами;

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

сущность обладает одним или несколькими атрибутами, которые однозначно идентифицируют каждый экземпляр сущности;

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

Атрибут: каждый атрибут идентифицируется уникальным именем, выражаемым грамматическим оборотом существительного, описывающим представляемую атрибутом характеристику. Атрибуты изображаются в виде списка имен внутри блока ассоциированной сущности, причем каждый атрибут занимает отдельную строку. Атрибуты, определяющие первичный ключ, размещаются наверху списка и выделяются знаком « # ». Атрибут может быть либо обязательным, либо необязательным (Рис. 36). Обязательность означает, что атрибут не может принимать неопределенных значений (null values). Атрибут может быть либо описательным, либо входить в состав уникального идентификатора (первичного ключа).

Имя сущности

# Первичный ключ

* Обязательный атрибут

Необязательный атрибут

Рис. 36. Обозначение атрибутов в нотации Баркера

Связи обозначаются линиями с именами, место соединения связи и сущности определяют кардинальность связи. Имя каждой связи между двумя данными сущностями должно быть уникальным, но имена связей в модели не обязаны быть уникальными. Имя связи всегда формируется с точки зрения родителя, так что предложение может быть образовано соединением имени сущности-родителя, имени связи, выражения степени и имени сущности-потомка. Степень связи и обязательность графически изображаются следующим образом (Рис. 37).

116

много

необязательная

один

 

обязательная

 

Рис. 37. Степень связи и обязательность в нотации Баркера

Ниже приведен пример ER-модели в нотации Баркера (Рис. 38).

Студент

 

 

Дисциплина

 

Преподаватель

 

 

 

 

 

 

 

 

 

 

 

# зачетка

 

# Код дисциплины

 

# Штатный номер

* Фамилия

 

* Название

 

* ФИО

* Группа

 

* Номер семестра

 

Звание

 

 

 

 

* Экз/зачет

 

Степень

 

 

 

 

 

 

 

 

 

 

 

Группа

# номер группы

*Специальность

*Кол-во студентов

Кафедра

# Номер кафедры

*Название

*Зав.кафедрой

Рис. 38. Пример ER-модели в нотации в нотации Баркера

Помимо перечисленных основных конструкций модель данных может содержать ряд дополнительных (Табл. 4).

117

Табл. 4. Дополнительные конструкции нотации Баркера

 

 

 

 

 

Обозначение

 

Описание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подтипы и супертипы: одна сущ-

 

 

 

Летательный аппарат

 

 

 

 

 

ность является обобщающим поня-

 

 

 

 

 

 

 

 

Супертипы

 

 

 

 

 

 

 

 

тием для группы подобных сущно-

 

 

 

Аэроплан

 

 

 

 

 

 

 

стей

 

 

 

 

 

 

 

 

 

 

 

 

Планер

 

Самолет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вертолет

Подтипы

Другой тип

 

 

 

 

Взаимно исключающие связи: каж-

А

 

B

 

дый экземпляр сущности участвует

 

 

 

 

 

только в одной связи из группы вза-

 

 

 

 

имно исключающих связей

 

 

 

 

 

B

Рекурсивная связь: сущность может быть связана сама с собой

А

 

B

Неперемещаемые (non-transferable)

 

связи: экземпляр сущности не может

 

 

 

быть перенесен из одного экземпля-

 

 

 

 

 

 

ра связи в другой

8.4 Методология IDEF1X

Методология IDEF1 была разработана Р. Брауном и Т. Рэмеем из Hughes Aircraft и Д. Коулмэном из DACOM. Как и IDEF0, IDEF1 была признана полезной в рамках программы ICAM и в 1981г. принята в качестве федерального стандарта США. В 1985г. методология была расширена и получила название IDEF1X (X – eXtended). Последняя редакция стандарта (FIPS Pub 184 «Integration definition for information modeling (IDEF1X)») была выпущена в декабре 1993г. Национальным институтом по стандартам

118

и технологиям США (NIST) и отозвана в 2008г. В настоящее время действующим является международный стандарт на информационное моделирование посредством IDEF1X (ISO/IEC/IEEE 31320-2-2012 «Information technology – Modeling Languages – Part 2: Syntax and Semantics for IDEF1X97 (IDEFobject)»). IDEF1X разработана с учетом таких требований, как простота изучения и возможность автоматизации. IDEF1X-диаграммы используются рядом распространенных CASE-средств.

Основные обозначения:

Обозначение сущности в графической нотации IDEF1X различается для зависимой и независимой сущности Рис. 39). Сущность в методологии IDEF1X является независимой (сильной, родительской, доминантной,

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

существование зависит от существования других сущностей. Терминология «родительская» – «дочерняя» и «владелец» – «подчиненный» также может использоваться в отношении двух зависимых сущностей, если экземпляры одной из них (дочерней, подчиненной) могут быть однозначно определены с использованием экземпляров другой (родительской, владельца), несмотря на то, что вторая сущность в свою очередь зависит от третьей сущности. Каждой сущности может быть присвоено уникальное имя и номер, разделяемые косой чертой « / » и помещаемые над блоком.

Независимые от идентификатора сущности

Имя сущности / Номер сущности

 

Группа / ПИ-01

 

 

 

Зависимые от идентификатора сущности Имя сущности / Номер сущности Студент/ Иванов

Рис. 39. Сущности в нотации IDEF1X

119

В нотации IDEF1X атрибуты изображаются в виде списка имен внутри блока сущности. Атрибуты, определяющие первичный ключ, размещаются наверху списка и отделяются от других атрибутов горизонтальной чертой. Сущности могут иметь также внешние ключи (Foreign Key), которые могут использоваться в качестве части или целого первичного ключа или неключевого атрибута. Внешний ключ изображается с помощью помещения внутрь блока сущности имен атрибутов, после которых следуют буквы FK (Рис. 40). У независимой сущности «Клетки» в качестве первичного ключа назначен простой ключ, у зависимой сущности «Животное» – первичный ключ составной, состоящий из двух атрибутов.

Пример внешнего ключа –

Пример внешнего ключа –

неключевого атрибута

атрибута первичного ключа

Клетка

 

Животное

 

 

Код животного <PK>

№ клетки <PK>

 

 

 

 

 

 

Тип клетки <FK>

 

 

№ клетки <FK>

Местонахождение

 

 

 

 

 

 

Кличка животного

 

 

 

Порода

 

 

 

Класс

 

 

 

Отряд

Рис. 40. Примеры атрибутов, первичных и внешних ключей

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

впротивном случае – неидентифицирующей. Идентифицирующая связь между сущностью-родителем и сущностью-потомком изображается сплошной линией (Рис. 41). Сущность-потомок в идентифицирующей связи является зависимой от идентификатора сущностью. Сущность-родитель

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

120

Соседние файлы в папке Лекции ПрБД, 2 курс 3 семестр (для ИВТ и т.п.)