Скачиваний:
114
Добавлен:
30.04.2013
Размер:
735.74 Кб
Скачать

1.7. Резюме

В этой главе были изложены базовые определения и соглашения

техники ER-моделирования. В следующей главе будут введены допол-

нительные концепции, которые дают возможность моделировать более

сложные ситуации.

.

Информационно-логическое моделирование.

24 Модель "Сущность-Связь"

─────────────────────────────────────────────────────────────────

2. Дополнительные определения и соглашения

В этой главе рассматриваются новые более сложные концепции

для:

 Сущности  подтипы;

супертипы;

различия между подтипами;

сущности шаблонов;

межсекционные сущности (интерсекции);

полное определение.

 Связи   разрешение связи типа

"многие ко многим";

определение степени множественности;

избыточность.

А также новые концепции:

 Исключающая дуга определение и

соглашения по использованию

 Домен определение и

использование

2.1. Подтипы сущностей

Подтип сущности является одним из ее типов.

Сущность может быть разделена и представлена в виде двух или

более взаимоисключающих подтипов, имеющих общие атрибуты и/или

связи. Общие атрибуты и/или связи определяются явно только один

раз на верхнем уровне. Подтипы могут быть в свою очередь пред-

ставлены подтипами на следующем нижнем уровне. Опыт использования

подтипов показал, что двух-трех уровней разбиения на подтипы до-

статочно для практических потребностей, использование большего

числа уровней подтипов является необычной ситуацией.

Подтипы всегда и полностью наследуют все атрибуты, связи и

2. Дополнительные определения и соглашения 25

─────────────────────────────────────────────────────────────────

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

Сущность может быть подтипом другой сущности и супертипом

для собственных подтипов (рис. 2.1).

Подтипы сущности должны обязательно составлять полный набор

всех типов этой сущности. Таким образом, любой экземпляр (пример)

супертипа должен принадлежать одному из подтипов. В большинстве

случаев к множеству подтипов для выполнения правила полноты до-

вавляется лишний подтип с именем ДРУГАЯ СУЩНОСТЬ.

Все соглашения, определенные для сущностей, справедливы и

для подтипов и супертипов.

Примеры типов и супертипов показаны на следующем рисунке:

 

┌───────────────────────────────────┐

│ │

│ САМОЛЕТ │<────────  супертипы

│ │

│ ┌─────────────────────────────┐ │ │

│ │ │ │ │

│ │ АЭРОПЛАН │<─┼──────────────┘

│ │ │ │

│ │ ┌──────────┐ ┌────────────┐ │ │

│ │ │ │ │ МОТОРНЫЙ │ │ │

│ │ │ ПЛАНЕР │ │ │<┼──┼──────────  подтипы

│ │ │ │ │ САМОЛЕТ │ │ │

│ │ │ │ │ │ │ │ │ │ │

│ │ └──────────┘ └────────────┘ │ │ │ │ │

│ │ │<─┼────────────┘ │ │

│ └─────────────────────────────┘ │ │ │

│ │ │ │

│ ┌─────────────────────────────┐ │ │ │

│ │ │ │ │ │

│ │ ВЕРТОЛЕТ │<─┼──────────────┘ │

│ │ │ │ │

│ └─────────────────────────────┘ │ │

│ │ │

│ ┌─────────────────────────────┐ │ │

│ │ │ │ │

│ │ ДРУГОЙ САМОЛЕТ │<─┼────────────────┘

│ │ │ │

│ └─────────────────────────────┘ │

│ │

└───────────────────────────────────┘

 

Рис.2.1. Супертип САМОЛЕТ

Заметим, что к набору смысловых подтипов добавлен подтип

ДРУГОЙ САМОЛЕТ. Тем самым определены невключенные в основной на-

бор возможные самолеты, о которых пока ничего неизвестно, но,

впоследствии, информация о них может потребоваться. Вопрос: "Ка-

кие другие типы самолета нам известны?" - может помочь идентифи-

Информационно-логическое моделирование.

26 Модель "Сущность-Связь"

─────────────────────────────────────────────────────────────────

цировать упущенный подтип или добавить "ДРУГОЙ" подтип к основно-

му набору подтипов.

* Правила чтения

При чтении имени супертипа следует добавлять фразу " 1который

 1должен быть либо А, либо В, либо С 0".

Например,

 1... САМОЛЕТ, который должен быть либо АЭРОПЛАНОМ, либо ВЕР-

 1ТОЛЕТОМ, либо ДРУГИМ САМОЛЕТОМ, ...

При чтении имени подтипа следует добавлять " 1который является

 1типом (имя супертипа в родительном падеже) 0".

Например,

 1... ВЕРТОЛЕТ, который является типом САМОЛЕТА, ...

Когда встречаются обе ситуации, то применяются оба правила:

 1... АЭРОПЛАН, который является типом САМОЛЕТА и должен быть

 1либо ПЛАНЕРОМ, либо МОТОРНЫМ САМОЛЕТОМ, ...

* Различия между подтипами

Для последующей реализации подтипов возникает потребность

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

Существуют следующие типовые методы:

1. На уровне реализации добавляется новый пункт данных (ко-

лонка таблицы или поле записи), который дает возможность предста-

вить значения для каждого подтипа. Этот пункт данных может назы-

ваться СУЩНОСТЬ_ПОДТИП (например, САМОЛЕТ_ПОДТИП).

2. На коцептуальном уровне можно иметь атрибут, который

служит аналогичной цели. Например, атрибут  пол  со значениями

мужской и  женский будет давать два подтипа сущности ЧЕЛОВЕК.

.