- •1. Базовые определения и соглашения
- •1.1. Определение и описание сущности
- •1.2. Определение и описание связи
- •1.3. Действительные и недействительные связи
- •1.4. Атрибуты
- •1.5. Уникальный (ключевой) идентификатор
- •1.6. Правила оформления er-диаграммы
- •1.7. Резюме
- •2. Дополнительные определения и соглашения
- •2.1. Подтипы сущностей
- •2. Дополнительные определения и соглашения 25
- •2. Дополнительные определения и соглашения 27
- •2.2. Дополнительные соглашения для сущностей
- •2. Дополнительные определения и соглашения 29
- •2.3. Исключающая дуга
- •2. Дополнительные определения и соглашения 31
- •2. Дополнительные определения и соглашения 33
- •2.4. Дополнительные соглашения для связей
- •2. Дополнительные определения и соглашения 35
- •2.5. Домены
- •2. Дополнительные определения и соглашения 37
- •2.6. Резюме
- •3. Классические структуры и общие образцы
- •3.1. Классические иерархические структуры
- •3. Классические структуры и общие образцы 39
- •3. Классические структуры и общие образцы 41
- •3. Классические структуры и общие образцы 43
- •3. Классические структуры и общие образцы 45
- •3.2. Сетевые структуры
- •3. Классические структуры и общие образцы 47
- •3.3. Изменения во времени
- •3. Классические структуры и общие образцы 49
- •3.4. Накладная на материалы
- •3. Классические структуры и общие образцы 51
- •3.5. Классификации и категории
- •3. Классические структуры и общие образцы 53
- •3.6. Типы сущности
- •3. Классические структуры и общие образцы 55
- •3.7. Общая модель для Заказов
- •3. Классические структуры и общие образцы 57
- •3.8. Общая модель для ролей и работ
- •3. Классические структуры и общие образцы 59
- •3.9. Продукция
- •3. Классические структуры и общие образцы 61
- •3. Классические структуры и общие образцы 63
- •3. Классические структуры и общие образцы 65
- •4. Нормализация данных 67
- •4. Нормализация данных
- •4. Нормализация данных 69
- •4. Нормализация данных 71
- •5. Оценка качества модели "Сущность-Связь" 73
- •5.1. Качество er-модели в конце этапа стратегии
- •5. Оценка качества модели "Сущность-Связь" 75
- •5. Оценка качества модели "Сущность-Связь" 77
- •5.2. Качество er-модели в конце этапа анализа
- •5. Оценка качества модели "Сущность-Связь" 79
- •5. Оценка качества модели "Сущность-Связь" 81
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. На коцептуальном уровне можно иметь атрибут, который
служит аналогичной цели. Например, атрибут пол со значениями
мужской и женский будет давать два подтипа сущности ЧЕЛОВЕК.
.
