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

Концептуальное моделирование

.pdf
Скачиваний:
29
Добавлен:
11.06.2015
Размер:
1.38 Mб
Скачать
Петров Иван Васильевич мужского пола 1972

Домены и типы данных играют еще одну важную роль. Описывая понятие отношения, мы использовали пример с геометрическими фигурами и натуральными числами, на множествах которых были построены отношения R (F=N) и R (F>N). Сравнивая фигуру с числом, мы делали вывод о принадлежности того или иного кортежа к отношению. Однако очевидно, что сравнение изображения с числом бессмысленно. Иначе говоря, эти два домена несовместимы с точки зрения операции сравнения. Интуитивно мы выполняли другую, более корректную операцию: сравнивали число углов в геометрической фигуре с натуральным числом, т.е. мысленно подменяли домен геометрических фигур доменом чисел, отражающих количество углов в фигуре. Естественно, выполнить любую операцию на двух доменах целых чисел не составляет никакого труда.

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

Говоря о возможных значениях атрибута, необходимо упомянуть об особом, т.н. «пустом» значении – Null, разрешенном в ряде СУБД. Это значение используется для обозначения неопределенных или неизвестных данных. Значение Null входит в любой домен, основанный на любом типе данных. Для чего нужно Null ?

Предположим, что мы создали в базе данных запись для вновь принятого на работу сотрудника. Заполняя эту запись, мы не указали дату его рождения в силу отсутствия данных. Несмотря на это, соответствующее физическое поле все-таки будет чем-то заполнено, например значением по умолчанию 01.01.1900. Через некоторое время другой пользователь прочитает эту запись и обнаружит, что Дата рождения = 01.01.1900. Безусловно, человек, обладающий минимальным жизненным опытом, поймет, что это просто неизвестное значение. Однако с формальной точки зрения «дата рождения – первое января 1900 года»! Null помогает избежать подобные ситуации. Далее мы увидим, что Null несколько нарушает строгую реляционную теорию, однако тем не менее является чрезвычайно удобным средством для обозначения неизвестных и несуществующих значений.

1.5.3.Сущность, экземпляр сущности

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

21

абстрактный объект, имеющий конкретные воплощения, о которых необходимо хранить информацию в базе данных. Например, людям, которые трудятся на некотором предприятии, соответствует абстрактный объект РАБОТНИК. Этот объект может быть воплощен в конкретной личности, например года рождения. Каждое такое воплощение называется экземпляром сущности.

В каждой предметной области имеется множество объектов, выступающих в качестве сущности базы данных. Эти объекты могут быть как материальными, например СТУДЕНТ, ПРЕПОДАВАТЕЛЬ, АУДИТОРИЯ, ЗДАНИЕ, так и нематериальными, например, ФАКУЛЬТЕТ, SMS-СООБЩЕНИЕ. Не только объекты, но и события или явления могут выступать в качестве сущностей, например: ПОЕЗДКА, ПРОДАЖА, ЗАСЕДАНИЕ. На первом этапе проектирования базы данных сущности определяются довольно легко – достаточно лишь словесно описать предметную область, после чего выделить основные существительные и некоторые глаголы, преобразуемые в отглагольные существительные, например ПРОДАЖА. Однако полноценный перечень сущностей невозможно составить без тщательного изучения управленческих процессов и документов.

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

Марка = {Chery Tiggo 1.8, ВАЗ-2105, …};

Государственный номер = {Е411СТ40, А920МН40, …}. Компания-производитель = {Chery, АвтоВАЗ, …};

Построим декартово произведение этих атрибутов (табл.3).

Таблица 3. Декартово произведение

Марка × Государственный номер × Компания-производитель

Марка

Государственный номер

Компания-производитель

Chery Tiggo 1.8

Е411СТ40

Chery

Chery Tiggo 1.8

Е411СТ40

АвтоВАЗ

Chery Tiggo 1.8

А920МН40

Chery

Chery Tiggo 1.8

А920МН40

АвтоВАЗ

ВАЗ-2105

Е411СТ40

Chery

ВАЗ-2105

Е411СТ40

АвтоВАЗ

ВАЗ-2105

А920МН40

Chery

ВАЗ-2105

А920МН40

АвтоВАЗ

22

Очевидно, что в реальности имеют место далеко не все перечисленные кортежи. Теперь выглянем в окно и посмотрим на стоящие во дворе, реально существующие автомобили (рис. 6). Исключив из декартова произведения несуществующие кортежи, получим отношение

АВТОМОБИЛЬ (табл. 4).

Таблица 4. Сущность (отношение) АВТОМОБИЛЬ

Марка

Государственный номер

Компания-производитель

Chery Tiggo 1.8

Е411СТ40

Chery

ВАЗ-2105

А920МН40

АвтоВАЗ

Чрезвычайно важным является название сущности. В подавляющем большинстве случаев это имя существительное (или отглагольное существительное) в единственном числе. Название должно соответствовать одному экземпляру этой сущности (т.е. одной строке таблицы). Так, одна строка табл. 4 описывает один автомобиль, поэтому сущность должна называться АВТОМОБИЛЬ, а не АВТОМОБИЛИ как это может показаться на первый взгляд. Использование множественного числа в названии сущности – весьма частая ошибка, свидетельствующая о низком уровне культуры разработчика.

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

Таблица 5. Сущность МЕТРОЛОГИЧЕСКИЕ СВОЙСТВА

Диапазон измерений

Класс точности

Погрешность

0-100

2

1

0-1000

2

15

23

Рис. 8. Автомобили, стоящие во дворе

1.5.4. Сущность как отношение

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

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

24

Размерность (степень, арность)

Заголовок (схема)

Сущность

Атрибут (поле)

 

СТУДЕНТ

 

 

 

 

 

 

 

 

 

 

 

Номер зачет-

Фамилия имя отчество

 

Год рож-

Пол

 

ной книжки

 

 

дения

 

 

 

 

 

 

 

 

 

1393

Иванов Алексей Васильевич

1989

 

М

 

 

 

 

 

 

 

1862

Акопов Эрнест Владимирович

1990

 

М

 

 

 

 

 

 

 

2342

Савченко Алексей Витальевич

1990

 

М

 

 

 

 

 

 

 

1864

Васильева Екатерина Федоровна

1988

 

Ж

 

 

 

 

 

 

 

2341

Савицкий Виктор Борисович

1988

 

М

 

 

 

 

 

 

 

 

Кортеж

Тело (содержимое)

Элемент данных

Домен

(экземпляр

 

(компонент)

 

 

 

сущности)

 

Мощность (кардинальность)

 

 

Рис. 9. Отношение и его элементы

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

Строки таблицы, содержащие данные, называются кортежами (или экземплярами сущности). Совокупность всех кортежей составляет тело (или содержимое) отношения, а число кортежей определяет его мощность (или кардинальность). Отношение мощностью 0 называется пустым отношением. Каждый кортеж содержит несколько элементов данных (компонентов) – их число равно размерности отношения. Если размерность отношения – n, то кортеж называется n-мест-

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

25

ным или n-кортежем. В нашем случае кортеж четырехместный.

В других терминах отношение может называться набором или набором данных, кортеж превращается в запись, а атрибут – в поле. Соотношение упомянутых в данном разделе терминов приведено в табл. 6.

Таблица 6. Соотношение терминов

Таблица

Отношение

Набор данных

Название

Сущность

Имя набора

Заголовок («шапка»)

Заголовок, схема

 

Строка

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

Запись

Совокупность строк

Тело, содержимое

Файл

Число строк

Мощность, кардинальность

 

Заголовок столбца

Атрибут

Поле

Столбец

Домен

 

Число столбцов

Размерность, степень, арность

 

1.5.5. Ключ сущности

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

всущности СТУДЕНТ (рис. 7) – атрибут Номер зачетной книжки 5;

всущности АВТОМОБИЛЬ (табл. 4) – атрибут Государственный но-

мер.

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

ется неизбыточным.

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

5Данный ключ будет корректным, если база данных охватывает студентов только одного вуза

6Другие названия возможного ключа – потенциальный ключ или ключ-кандидат

зывается первичным ключом (primary key) 7. Любой из возможных ключей может быть выбран в качестве первичного. Остальные ключи называются альтернативными (alternate key) (рис. 8).

СТУДЕНТ

 

Номер зачетной книжки

Простой первичный ключ

Фамилия имя отчество

 

Год рождения

 

Пол

 

 

ПАСПОРТ

 

Серия

Составной неизбыточный

Номер

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

Дата выдачи

 

Место выдачи

 

ГРАЖДАНИН

Номер паспорта Серия паспорта Избыточный ключ

Фамилия

Имя

Отчество Дата рождения

РАБОТНИК

Табельный номер ИНН организации

Серия паспорта Номер паспорта Альтернативные ключи

ИНН Номер страхового свидетельства Фамилия

Рис. 10. Разновидности ключей

При выборе или формировании ключа отношения следует руководствоваться несколькими простыми правилами:

7Другие названия первичного ключа – ключ отношения, ключевой атрибут, идентифицирующий атрибут (identifier)

27

длина ключа должна быть минимальной, насколько это возможно; хорошо, если ключ является информационно емким и основан на каком-либо коде или классификаторе, например шифр учебной группы А1-07 содержит информацию о специальности, номере группы в

потоке и годе набора; если ни одна из комбинаций атрибутов не образует ключа или

ключ получается слишком длинным, то оправдано использование счетчика – специального целочисленного поля с автоматически приращиваемым значением (см. п. 1.5.2).

1.5.6. Связь, экземпляр связи

Несмотря на определенную независимость, объекты предметной области не являются абсолютно изолированными друг от друга. Так,

АУДИТОРИЯ находится в ЗДАНИИ, ПРЕПОДАВАТЕЛЬ является науч-

ным руководителем СТУДЕНТА и т.д. Иначе говоря, объекты предметной области связаны, т.е. находятся в определенных отношениях друг с другом.

Связь (англ. relation, relationship) – это простая ассоциация между объектами предметной области, например: ГРУППА входит в состав ФАКУЛЬТЕТА. Конкретная ассоциация между конкретными объектами называется экземпляром связи, например: группа А-08 входит в состав

факультета кибернетики.

Выше мы сказали, что связь описывает отношения между объектами. Это высказывание полностью определяет теоретико-множест- венную природу связи: связь – это отношение, построенное на сущностях. Покажем это. Пусть даны две сущности: АВТОМОБИЛЬ и ГРАЖДАНИН. Автомобили перечислены в табл. 4 и показаны на рис. 6. Граждане показаны в табл. 6.

Таблица 7. Сущность ГРАЖДАНИН

Серия и но-

Фамилия, имя, отчество

Адрес

мер паспорта

 

 

2901 381726

Иванов Сидор Петрович

пр. Ленина, 93-271

2601 381004

Марченко Валерий Леонидович

ул. Курчатова, 43-21

2902 173299

Ухова Елена Михайловна

ул. Белкинская, 22-117

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

28

Таблица 8. Декартово произведение ГРАЖДАНИН × АВТОМОБИЛЬ 8

 

ГРАЖДАНИН

АВТОМОБИЛЬ

2901

381726, Иванов Сидор Петрович,

Chery Tiggo 1.8,

пр. Ленина, 93-271

Е411СТ40, Chery

2601

381004, Марченко Валерий Леонидович,

Chery Tiggo 1.8,

ул. Курчатова, 43-21

Е411СТ40, Chery

2902

173299, Ухова Елена Михайловна,

Chery Tiggo 1.8,

ул. Белкинская, 22-117

Е411СТ40, Chery

2901

381726, Иванов Сидор Петрович,

ВАЗ-2105,

пр. Ленина, 93-271

А920МН40, АвтоВАЗ

2601

381004, Марченко Валерий Леонидович,

ВАЗ-2105,

ул. Курчатова, 43-21

А920МН40, АвтоВАЗ

2902

173299, Ухова Елена Михайловна,

ВАЗ-2105,

ул. Белкинская, 22-117

А920МН40, АвтоВАЗ

Выделим отношение, основанное на построенном произведении. В каких отношениях могут состоять граждане с автомобилями? Естест-

венно, ГРАЖДАНИН может являться владельцем АВТОМОБИЛЯ. По-

интересовавшись в местной автоинспекции, выясняем, что Ухова Е.М.

является владельцем Chery Tiggo 1.8, а Марченко В.Л. является владельцем ВАЗ-2105 (табл. 8).

Таблица 9. Связь (отношение) является владельцем

Серия и номер паспорта

Государственный номер

2902 173299

Е411СТ40

2601 381004

А920МН40

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

8Для краткости достаточно было указать лишь государственный номер автомобиля и серию и номер паспорта гражданина. Однако мы приводим экземпляры сущностей полностью. В следующей таблице мы ограничимся лишь номерами.

29

1.5.7. Соотношение структурных элементов данных

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

Является

Экземпляр связи

Связь

Является частью

Является частью

Является

Экземпляр сущности

Сущность

Является частью

Является частью

Является

Элемент данных

Атрибут

Рис. 11. Соотношение структурных элементов данных

1.6.Концептуальная схема данных

До сих пор мы рассматривали довольно простые примеры, которые можно было иллюстрировать таблицами, картинками, теоретикомножественными конструкциями. Однако, по мере усложнения базы данных 9 необходим более удобный и универсальный инструмент. Такой инструмент был предложен в 1976 году Питером Ченом (Peter Chen) в своей знаменитой статье [7] и получил название диаграммы

«сущность-связь» (entity-relationship или ER-diagram). На этих диа-

граммах структура данных представляется на «концептуальном» уровне – с помощью атрибутов, сущностей и связей, в то время как

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

30

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

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

(Рис. 12. ).

Номер

 

 

 

Год

зачетной

Фамилия

 

Шифр

набора

книжки

 

 

 

 

СТУДЕНТ N

учится в

1

ГРУППА

Дата

Пол

 

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

рождения

 

 

 

 

Рис. 12. Диаграмма «сущность-связь» в нотации П. Чена

Другая нотация для диаграмм «сущность-связь» была предложена Ричардом Баркером (Richard Barker). В этой нотации сущность и атрибуты указываются в одном прямоугольнике, а название связи – вдоль линии, соединяющей сущности (Рис. 13. ).

СТУДЕНТ

 

ГРУППА

Номер зачетной книжки

учится в

Шифр

Фамилия

 

Год набора

Дата рождения

 

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

Пол

 

 

 

 

 

Рис. 13. Диаграмма «сущность-связь» в нотации Р. Баркера

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

Важнейшим свойством концептуальной схемы является то, что она не привязана ни к одной конкретной СУБД. Она не зависит от типа СУБД – реляционного, иерархического, объектно-ориентированного и др.; разрешенных в той или иной СУБД типов данных; от способов, которыми в СУБД поддерживаются связи. Концептуальная схема – это информационная модель предметной области И БОЛЬШЕ НИЧЕГО.

31

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

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

1.6.1. Нотация П. Чена

Питер Пин-Шэн Чен (Peter Pin-Shan Chen) родился на Тайване, где в местном университете получил степень бакалавра. В 1973 г. он защитил докторскую диссертацию в Гарварде, после чего работал в американских университетах. С 1983 г. и по настоящее время он возглавляет исследовательскую лабораторию в университете штата Луизиана. Его основополагающая статья вошла в число 35-ти наиболее часто цитируемых статей по компьютерным наукам.

В это статье [7], посвященной модели «сущность-связь», П. Чен вводит простую нотацию, которую можно проиллюстрировать примером на 0. В этой нотации изображаются только сущности и связи с указанием их мощности, но отсутствуют атрибуты. Кроме того, вводится понятие зависимой или слабой сущности, обозначаемой двойным прямоугольником (сущность ЛИЧНОЕ ДЕЛО). Особенностью этой сущности является то, что в состав ее ключа входит первичный ключ основной сущности. Иначе говоря, связь имеет является идентифицирующей.

 

N

N

 

РАБОТНИК

 

 

1

 

работает в

имеет

выполняет

1

 

M

ПОДРАЗДЕЛЕНИЕ

ЛИЧНОЕ ДЕЛО

ПРОЕКТ

32

Рис. 14. Диаграмма «сущность-связь» в первоначальной нотации П. Чена

Со временем данная нотация претерпела ряд изменений и дополнений. Так, в статье [9], автор предлагает дополнить данное описание диаграммой атрибутов, на которой показываются атрибуты и их домены. Домены при этом указываются в кружках, а атрибуты изображаются в виде стрелок с именами (Рис. 15. ). В более поздних работах П. Чен предлагает уточнять, может ли значение атрибута повторяться у разных экземпляров сущности и может ли один атрибут иметь несколько значений. Эта информация представляется с помощью кардинальных чисел, показанных на Рис. 15. . Здесь работник имеет одну фамилию, однако такая фамилия может принадлежать нескольким работникам; работник имеет один табельный номер, который никогда не повторяется у разных работников; работник может иметь несколько служебных телефонов, в то время как один телефон может принадлежать нескольким работникам. Очевидно, что атрибут, связывающий домен с сущностью отношением 1:1, является ключевым.

 

 

 

 

 

 

 

РАБОТНИК

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

N

 

M

N

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Служебный Домашний

Табельный

 

 

Возраст

 

 

 

Фамилия

 

 

 

 

 

 

 

 

телефон

телефон

номер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

N

1

1

 

Годы

 

Фамилии

 

Номера

Номера

 

 

(строки

 

(целые

(целые,

 

 

 

телефо-

 

 

симво-

 

>0, пяти-

>16)

 

 

 

нов

 

 

 

 

 

лов)

 

 

 

значные)

 

 

 

 

 

 

 

 

 

Рис. 15. Представление атрибутов и доменов

Затем представление атрибутов и доменов упрощается и объединяется в один элемент – круг или овал (см. Рис. 12. ). Среди модификаций подхода П. Чена [10] встречаются нотации, допускающие существование атрибутов у связи (Рис. 16. ). Такие связи, как правило, преобразуются в ассоциированные сущности, которые будут рассмотрены ниже.

33

 

 

 

 

 

N

 

 

M

 

 

 

ТОВАР

 

 

 

купил

 

ПОКУПАТЕЛЬ

 

 

 

 

 

 

 

 

 

1

N

1

N

N

 

1

 

 

1

 

 

 

1

1

1

 

Наиме-

 

Цена

Номер

Дата

Фами-

 

нование

 

 

 

 

 

 

 

чека

 

 

лия

 

 

 

 

 

Рис. 16.

Наделение связи атрибутами

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СУБПОДРЯДЧИК

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

 

 

 

 

N

выполняет

 

M

 

 

РАБОТНИК

 

 

ПРОЕКТ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 17. Представление n-арных связей

В статье [9] приводится также пример n-арной связи (Рис. 17. ). Возможность представления таких связей является одной из сильных сторон нотации П. Чена. Развитием этой возможности является введение в работе [6] специального символа – ассоциированной сущности 10. Для иллюстрации этой разновидности сущности приведем следующий пример. Покупатель покупает в магазине товар. Это высказывание описывается простой схемой, представленной на Рис. 18. ,а. В ряде случаев, наряду с фактом покупки, необходимо фиксировать информацию о продавце, оформившем сделку. Это может потребоваться, если продавец, например, получает комиссионное вознаграждение за проданный товар. В результате добавления сущности ПРОДАВЕЦ, бинарная связь купил преобразуется в тернарную связь покупка (Рис. 18. ,б). Учитывая, что покупка сама по себе может рассматриваться как самостоятельное событие (объект), она преобразуется в сущность с которой связывается сущность ПРОДАВЕЦ. Для изображения таких

10 П. Чен определяет этот символ как «сущность, образованная из связи».

34

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

а)

 

N

 

M

 

ТОВАР

купил

ПОКУПАТЕЛЬ

 

 

N

 

M

 

 

 

 

 

б)

ТОВАР

покупка

ПОКУПАТЕЛЬ

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРОДАВЕЦ

 

 

 

 

 

 

 

 

в)

N

ПОКУПКА

M

ТОВАР

ПОКУПАТЕЛЬ

 

 

N

 

 

 

оформил

 

1

ПРОДАВЕЦ

Рис. 18. Преобразование связи в сущность

За 30 лет существования нотация П. Чена претерпела большое число модификаций и дополнений, часть из которых является довольно спорными. В Таблица 10. представлены наиболее часто используемые устоявшиеся символы для диаграмм «сущность-связь» 11.

Таблица 10. Нотация П. Чена для диаграмм «сущность-связь»

Символ

Назначение

Сущность (независимая сущность), пред- ИМЯ ставляющая объект предметной области

(имя –существительное)

11 Напомним, что нотация П. Чена предусматривает еще один вид диаграмм - диаграммы атрибутов

35

 

Ассоциированная сущность – сущность, об-

ИМЯ

разованная из связи и зависящая от двух или

 

более других сущностей (имя –

 

существительное или отглагольное сущест-

 

вительное)

ИМЯ

Зависимая сущность – сущность, являющая-

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

 

 

Имя

 

Атрибут (простой атрибут)

 

 

 

 

 

Имя

 

Атрибут, являющийся или входящий в со-

 

 

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

 

 

 

 

 

 

 

 

 

 

Многозначный атрибут, содержащий одно-

 

Имя

 

временно несколько значений, например,

 

 

 

телефоны

Y

имя

Y

Связь, представляющая отношения между

 

 

одним (унарная), двумя (бинарная) или n (n-

 

 

 

арная) объектами предметной области (имя –

X,Y

имя

X,Y

глагол или отглагольное существительное;

 

 

X {0,1} – нижнее кардинальное число,

 

 

 

Y {1,N} – верхнее кардинальное число)

 

имя

 

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

1.6.2. Нотация Р. Баркера

Ричард Баркер родился в 1946 г. в Шеффилде (Англия), закончил Эдинбургский университет. Свою нотацию для изображения структур данных он предложил в 1986 г., работая в собственной консалтинговой фирме в Англии. Позднее эта фирма присоединилась к корпорации Oracle. В 1990 г. Р. Баркер издает свою первую книгу [11], за которой последовали еще несколько, более подробно раскрывающих самые различные применения CASE-технологии. Его нотация диаграмм «сущность-связь» до сих пор является основной нотацией для разработки баз данных в СУБД Oracle. Для создания диаграмм «сущ- ность-связь» в линейке инструментальных средств Oracle предусмотрен специальный пакет Designer.

36

Сущность в нотации Р. Баркера изображается в виде блока – прямоугольника со скругленными углами, внутри которого указывается имя сущности и атрибуты (Рис. 19. ) [12]. Наряду с основным именем, для сущности могут использоваться синонимы, отделяемые от основного имени наклонной чертой. Ниже имени в столбик перечисляются атрибуты. Название каждого атрибута сопровождается специальным символом:

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

* – для атрибутов, значения которых обязательно должны быть указаны;

# – для атрибутов, входящих в состав первичного ключа.

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

мере СТУДЕНТ изучает ДИСЦИПЛИНУ, а ДИСЦИПЛИНА преподается для СТУДЕНТА. Мощность связи изображается с помощью символов на конце линии:

«–––» – одинарная прямая линия означает, что связь с этой стороны имеет мощность «один»;

«» – символ «воронья лапка» означает мощность «много» (ли-

ния связи как бы разветвляется в месте соприкосновения с блоком) (прим.: рядом с этим символом разрешается указывать верхнее кардинальное число, например ≤15).

Полнота связи указывается начертанием линии: сплошная линия означает, что связь с противоположной стороны является полной, а пунктирная линия обозначает неполную связь. Все варианты изображения связей показаны в 0.

В нотации Р. Баркера имеется одна интересная возможность, напоминающая категориальную связь – так называемая «исключающая связь». Эта связь используется, когда необходимо реализовать отношение «либо …, либо …» между основной сущностью и сущностямикатегориями. В примере на Рис. 20. каждый счет в банке открывается только одному клиенту – либо физическому, либо юридическому лицу. При этом, человек или организации могут иметь несколько, а могут вообще не иметь счетов в этом банке. Категориальная связь является частным случаем исключающей связи при условии, что отношения имеют мощность 1:1 и являются полными со стороны сущностей-

37

категорий. Однако для изображения отношения категорий в нотации Р. Баркера предусмотрена другая возможность – вложение блоков друг в друга (Рис. 21. ). При этом, сущности-категории наследуют атрибуты обобщенной сущности, и каждый из трех сущностей может быть участником связи.

СТУДЕНТ

изучает

 

ДИСЦИПЛИНА /

 

 

 

ПРЕДМЕТ

# Номер студбилета

преподается для

 

 

 

 

*

Фамилия

 

 

#

Шифр дисциплины

*

Имя

 

 

*

Название

*

Отчество

 

 

*

Трудоемкость

О Пол

 

 

*

Отчетность

О Дата рождения

 

 

 

 

 

Рис. 19. Диаграмма «сущность-связь» в нотации Р. Баркера

 

 

 

ФИЗИЧЕСКОЕ ЛИЦО

СЧЕТ

открыт для

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

 

*

Фамилия

# Номер счета

имеет

 

 

 

 

 

 

 

 

 

*

Вид счета

имеет

ЮРИДИЧЕСКОЕ ЛИЦО

*

Дата открытия

 

открыт для

# ИНН

 

 

 

 

 

*

Название

 

 

 

 

 

Рис. 20. Исключающая связь

38

КЛИЕНТ

# Идентификатор клиента О Дата первого обращения в банк

* Участие в бонусной программе ФИЗИЧЕСКОЕ ЛИЦО

# Номер паспорта * Фамилия

ЮРИДИЧЕСКОЕ ЛИЦО

# ИНН * Название

Рис. 21. Категориальное отношение

1.6.3. Нотация Бэчмана

Чарльз Бэчмэн (Charles W. Bachman) –

один из выдающихся исследователей и практиков в области компьютерных наук, удостоенный в 1973 г. премии Тьюринга за выдающийся вклад в развитие баз данных. Он родился в 1924 г. в США, окончил университет штата Пенсильвания, после чего работал в химической компании и в Дженерал Электрик. Затем он основал собственную фирму, которая занималась разработкой СУБД и линейки CASE-средств.

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

PK (primary key) – первичный ключ; FK (foreign key) – внешний ключ;

PFK (primary and foreign key) – внешний ключ в составе первично-

39

го;

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

держат имя сущности, из которой они мигрировали.

В нотации Ч. Бэчмэна разрешены только бинарные и унарные связи, изображаемые линией с двумя названиями. Мощность связи указывается с помощью стрелки, полнота – с помощью пустого или закрашенного кружочка, а идентифицирующая связь – с помощью специальной метки, расположенной около зависимой сущности (Таблица 11. ). В показанном на Рис. 22. примере шифры учебных групп на очном, заочном и вечернем (очно-заочном) отделениях могут совпадать. Во избежание неоднозначности сущность ГРУППА сделана зависимой и в состав ее первичного ключа введен Код отделения.

ГРУППА

PK, Шифр группы PFK, ОТДЕЛЕНИЕ. Код

Год набора

обучает-

состоит из

ся в

 

 

 

учится в

имеет набор

 

 

 

 

 

ОТДЕЛЕНИЕ

 

 

PK, Код

 

 

Форма обучения

 

 

 

 

 

СТУДЕНТ

PK, Номер студбилета FK, ГРУППА.Шифр группы FK, ОТДЕЛЕНИЕ. Код

Фамилия

СТУДЕНТ ЗАОЧНОГО ОТДЕЛЕНИЯ

IPK, СТУДЕНТ.Номер студбилета IFK, ГРУППА.Шифр группы

IFK, ОТДЕЛЕНИЕ. Код

I СТУДЕНТ.Фамилия

I

Место работы Второе образование

СТУДЕНТ ВЕЧЕРНЕГО ОТДЕЛЕНИЯ

Рис. 22. Диаграмма «сущность-связь» в нотации Ч. Бэчмэна

40