logo search
Базы данных_учпос_Любицкий Ю

7.2. Построение концептуальной модели предметной области

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

Рассмотрим некоторые средства концептуального моделирования.

ER-модель

ER-модель (Entity-Relationship – сущность-связь) была предложена П. Ченом в 1976 г. [ 12 ]. Информация о содержании предметной области в рамках модели изображается в структурированном графическом виде (ER-диаграмма).

Основными конструкциями модели являются сущности и связи.

Для ER-модели не существует единой стандартизованной системы обозначений, поэтому приводимые далее характеристики ER-диаграмм могут несколько отличаться от опубликованных в различных книгах [ 3, 4 ].

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

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

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

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

Связи могут иметь разный характер:

Символы, указывающие на характер связи (1 или М), отображаются на ER-диаграммах рядом со связанными сущностями.

Связь любого из перечисленных видов может иметь обязательный и необязательный классы принадлежности. Класс принадлежности связи для некоторой сущности является обязательным, если в данной связи должен участвовать каждый экземпляр сущности (все продавцы продают товары), и необязательным, если некоторые экземпляры сущности не участвуют в связи (не все товары доставлены железнодорожным транспортом). При этом связь может быть обязательной с одной стороны и необязательной с другой стороны. На ER-диаграммах обязательный класс принадлежности может быть обозначен перпендикулярной линией, перечеркивающей линию связи вблизи сущности, необязательный класс принадлежности – пустым кружком на линии связи [ 4 ].

При построении ER-диаграмм могут использоваться генерализация, агрегация и группировка сущностей [ 3, 12 ].

На рис. 15 представлен фрагмент ER-диаграммы, отображающей работу магазина.

Сущность Работник имеет два подтипа – Директор и Продавец. Между сущностями Магазин и Работник связь имеет характер «один ко многим» (один магазин обслуживается многими работниками), между сущностями Директор и Продавец – «один ко многим» (один директор руководит многими продавцами), между сущностями Продавец и Товар «многие ко многим» (несколько продавцов продает множество разных товаров). Класс принадлежности большинства связей является обязательным. Он является необязательным для связи Фасует между сущностями Продавец и Товар со стороны сущности Продавец (не каждый продавец фасует товары) (см. рис. 15).

Функциональная модель данных

Эта модель была предложена Шипмэном в 1981 г. [ 12 ].

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

М

М

Рис. 15. Фрагмент ER-диаграммы, отображающей работу магазина

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

Диаграммы функциональной модели данных во многом аналогичны ER-диаграммам, но связи между ними представлены в виде функций [ 12 ].

Модель семантических объектов

Модель впервые предложена Кренке в 1988 г. [ 12 ].

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

Рассмотрим диаграммы семантических объектов Магазин, Продавец, Товар (рис. 16):

Магазин

ID Название 1, 1

Адрес

Город 1, 1

Улица 1, 1 1, 1

Дом 1, 1

Склад 0, N

Продавец 1, N

Продавец

ID ИНН 1, 1

ФИО 1, 1

Должность 1, 1

Адрес 1, 1

Магазин 1, N

Товар

ID Артикул 1, 1

Название 1, 1

Цена 1, 1

Производитель 1, N

Цвет 1, N

Магазин 1, N

Рис. 16. Диаграммы семантических объектов

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

Для каждого атрибута указана его кардинальность (минимальное и максимальное количество вхождений этого атрибута в объект). Например, если для атрибута Цена объекта Товар приводится кардинальность 1, 1, это означает, что товар обязательно должен иметь цену, и только одну. Атрибут Производитель объекта Товар имеет кардинальность 1, N. Это указывает на то, что один и тот же товар может изготавливаться одним или несколькими производителями (см. рис. 16). Атрибут Склад объекта Магазин имеет кардинальность 0, N. Следовательно, склад при магазине может отсутствовать, или их имеется несколько. Атрибуты, которые принимают более одного значения, называются многозначными.

В объекте Магазин имеется группированный атрибут Адрес. Атрибуты, входящие в его состав, объединены скобкой (см. рис. 16).

В объекте Магазин существует также атрибут объектного типа Продавец с кардинальностью 1, N (см. рис. 16). Это указывает на то, что данный объект связан с одним или несколькими объектами Продавец (в магазине могут работать один или несколько продавцов). Для обеспечения связи между рассматриваемыми объектами в объект Продавец обязательно должен входить атрибут Магазин, характеризующий этот объект (см. рис. 16).

Диаграммы семантических объектов допускают создание агрегированных объектов, подклассов объектов [ 12 ].