Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв Тюмень РСПСИТ 2010-12-14 Послан в Тюмень....doc
Скачиваний:
18
Добавлен:
24.04.2019
Размер:
5.82 Mб
Скачать

3.2.4. Типы сущностей и иерархия наследования (супертипы, подтипы)

Существуют несколько типов зависимых сущностей.

Характеристическая/Ассоциативная ­– зависимая дочерняя сущность, связанная только с одной/нескольким ро­ди­тельскими сущностями. Связи «Состоит из» и «Визит» являются характеристической и ассоциативной со­ответственно (рисунки 3.2.3.6; 3.2.3.11).

Связь «Визит» является ассоциативной (рисунок 3.2.3.11).

Именующая – ассоциативная сущность без собственных атрибутов (толь­ко атрибуты, мигрировавшие в качестве внешнего ключа, например связь «Врач_Пациент») (рисунок 3.2.3.10).

Категориальная – дочерняя сущность (подтип) в иерархии наследования.

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

Рисунок 3.2.4.1. Иерархия наследования (полная категория)

Для создания категориальной связи нужно последовательно щел­к­нуть на кнопке Complete subcategory по родовому предку (супертипу), затем – по потомку (подтипу). Для установки второй связи следует щел­к­нуть по символу категории, затем – по второму потомку.

Существуют два типа категории:

  • полная (Complete), когда ­ любому экземпляру предка обязательно соответ­ст­вует один из по­том­ков (сотрудник обязательно постоянный или совместитель, и других вариантов нет);

  • неполная (Incomplete), когда существует экземпляр предка, для которого отсутствует по­том­ок (сотрудник может быть консультантом).

Дискриминатор и тип категории устанавливаются командой Subtype Relationship из контекстного меню символа категории.

Порядок постоения иерархии наследования:

  • определение сущностей с общими атрибутами («Постоянный сотруд­ник» и «Совместитель»);

  • создание и перенос общих атрибутов в сущность – родовой предок (супертип «Сотрудник»);

  • создание категориальных связей;

  • задание типа категорий и дискриминаторов;

  • при необходимисоти для каждого потомка можно продолжить иерархию наследования.

3.2.5. Ключи

Атрибуты первичного ключа находятся выше горизонтальной ли­нии в диаграмме. Ключ может соcтоять из нескольких атрибутов (состав­ной или сложный ключ). Атрибуты ключа не должны содержать нулевых значений.

Все не первичные, но уникальные ключи называются альтер­на­тив­ны­ми (Alternate Key) (вто­рич­ными, кандитами, дополнительными).

Для каждого инверсионного входа (п. 3.1.1) генерируется не­уни­каль­­ный (регулярный) индекс.

Для создания альтернативных ключей или инверсионных входов (ин­дек­сов) ис­поль­­зуется команда Key Groups из контекстного меню сущ­нос­ти. Кноп­кой New (рисунок 3.2.5.1) можно создать новый ключ или вход (рисунок 3.2.5.2).

На диаграмме атрибуты альтернативного ключа/входа изображаются после имени атрибута в виде:

(AK/IE<номер ключа/входа>.<номер атрибута в ключе/входе>)

Если атрибут входит в состав нескольких ключей или входов, то они перечиляются через запятую (AK1.2, IE2,3).

Если имеется один и тот же внешний ключ из нескольких роди­тельских сущностей, то он помещается на диаграмму только один раз, хотя в поле Key Group он показывается несколько раз (рисунок 3.2.5.1).

Для отображения ключей и входов следует выполнить команду Format/Entity Dispaly/Alternate Key Designator.

Рисунок 3.2.5.1. Редактирование альтернативных ключей и инверсионных входов

Рисунок 3.2.5.2. Создание альтернативного ключа или инверсионного входа