2.2. Характеристика связей и язык
моделирования
При построении инфологических
моделей можно использовать язык ER-диаграмм (от англ.
Entity-Relationship, т.е. сущность-связь). В
них сущности изображаются
помеченными прямоугольниками,
ассоциации – помеченными ромбами
или шестиугольниками, атрибуты –
помеченными овалами, а связи между
ними – ненаправленными ребрами,
над которыми может проставляться
степень связи (1 или буква,
заменяющая слово "много") и
необходимое пояснение.
Между двумя сущностям, например, А
и В возможны четыре вида связей.
Первый тип – связь
ОДИН-К-ОДНОМУ (1:1): в каждый момент
времени каждому представителю
(экземпляру) сущности А
соответствует 1 или 0
представителей сущности В:

Студент может не
"заработать" стипендию,
получить обычную или одну из
повышенных стипендий.
Второй тип – связь
ОДИН-КО-МНОГИМ (1:М): одному
представителю сущности А
соответствуют 0, 1 или несколько
представителей сущности В.

Квартира может пустовать, в ней
может жить один или несколько
жильцов.
Так как между двумя сущностями
возможны связи в обоих
направлениях, то существует еще два
типа связи МНОГИЕ-К-ОДНОМУ (М:1) и
МНОГИЕ-КО-МНОГИМ (М:N).
Пример 2.1. Если связь между
сущностями МУЖЧИНЫ и ЖЕНЩИНЫ
называется БРАК, то существует
четыре возможныхпредставления
такой связи:

Характер связей между сущностями
не ограничивается перечисленными.
Существуют и более сложные связи:
- множество связей между одними
и теми же сущностями

(пациент, имея одного лечащего
врача, может иметь также несколько
врачей-консультантов; врач может
быть лечащим врачом нескольких
пациентов и может одновременно
консультировать несколько других
пациентов);

(врач может назначить несколько
пациентов на несколько анализов,
анализ может быть назначен
несколькими врачами нескольким
пациентам и пациент может быть
назначен на несколько анализов
несколькими врачами);
- связи более высоких порядков,
семантика (смысл) которых
иногда очень сложна.
В приведенных примерах для
повышения иллюстративности
рассматриваемых связей не показаны
атрибуты сущностей и ассоциаций во
всех ER-диаграммах. Так, ввод лишь
нескольких основных атрибутов в
описание брачных связей
значительно усложнит ER-диаграмму
(рис. 2.1,а). В связи с этим язык
ER-диаграмм используется для
построении небольших моделей и
иллюстрации отдельных фрагментов
больших. Чаще же применяется менее
наглядный, но более содержательный язык инфологического
моделирования (ЯИМ), в котором
сущности и ассоциации
представляются предложениями вида:
СУЩНОСТЬ (атрибут 1, атрибут 2 , ..., атрибут n)
АССОЦИАЦИЯ [СУЩНОСТЬ S1, СУЩНОСТЬ S2, ...]
(атрибут 1, атрибут 2, ..., атрибут n)
где S – степень связи, а атрибуты,
входящие в ключ, должны быть
отмечены с помощью подчеркивания.
Так, рассмотренный выше пример
множества связей между сущностями,
может быть описан на ЯИМ следующим
образом:
Врач (Номер_врача, Фамилия, Имя, Отчество, Специальность)
Пациент (Регистрационный_номер, Номер койки, Фамилия,
Имя, Отчество, Адрес, Дата рождения, Пол)
Лечащий_врач [Врач 1, Пациент M]
(Номер_врача, Регистрационный_номер)
Консультант [Врач M,Пациент N]
(Номер_врача, Регистрационный_номер).

Рис. 2.1. Примеры
ER-диаграмм
Для выявления связей между
сущностями необходимо, как минимум,
определить сами сущности. Но это не
простая задача, так как в разных
предметных областях один и тот же
объект может быть сущностью,
атрибутом или ассоциацией.
Проиллюстрируем такое утверждение
на примерах, связанных с описанием
брачных связей (см. пример 2.1).
Пример 2.2. Отдел записей актов
гражданского состояния (ЗАГС) имеет
дело не со всеми людьми, а только с
теми, кто обратился с просьбой о
регистрации брака, рождения или
смерти. Поэтому в странах, где
допускаются лишь традиционные
браки, отделы ЗАГС могут размещать
сведения о регистрируемых браках в
единственной сущности:
Брак (Номер_свидетельства, Фамилия_мужа, Имя_мужа,
Отчество_мужа, Дата_рождения_мужа, Фамилия_жены,
... , Дата_регистрации, Место_регистрации, ...),
ER-диаграмма которой приведена на
рис. 2.1,б.
Пример 2.3. Теперь рассмотрим
ситуацию, когда отдел ЗАГС
расположен в стране, допускающей
многоженство. Если для регистрации
браков использовать сущность
"Брак" примера 2.2, то будут
дублироваться сведения о мужьях,
имеющих несколько жен (см. табл. 2.1).
Таблица 2.1
| Номер свидетельства |
Фамилия мужа |
... |
Фамилия жены |
... |
Дата регистрации |
| 1-ЮБ 154745 |
Петухов |
... |
Курочкина |
... |
06/03/1991 |
| 1-ЮБ 163489 |
Петухов |
... |
Пеструшкина |
... |
11/08/1991 |
| 1-ЮБ 169887 |
Петухов |
... |
Рябова |
... |
12/12/1992 |
| 1-ЮБ 169878 |
Селезнев |
... |
Уточкина |
... |
12/12/1992 |
| 1-ЮБ 154746 |
Парасюк |
... |
Свинюшкина |
... |
06/03/1991 |
| 1-ЮБ 169879 |
Парасюк |
... |
Хаврония |
... |
12/12/1992 |
| ... |
... |
... |
... |
... |
... |
Дублирование можно исключить
созданием дополнительной сущности
"Мужья"
Мужья (Код_М, Фамилия, Имя, Отчество, Дата рождения, Место рождения)
и заменой сущности "Брак"
характеристикой (см. п. 2.3) со
ссылкой на соответствующее
описание в сущности "Мужья".
Брак (Номер свидетельства, Код_М, Фамилия жены, ...,
Дата регистрации, ...){Мужья}.
ER-диаграмма связи этих сущностей
показана на рис. 2.1,в, а пример их
экземпляров в табл. 2.2 и 2.3.
Таблица 2.2
| Код_М |
Фамилия |
Имя |
Отчество |
Год/р. |
Место рожд. |
| 111 |
Петухов |
Альфред |
Остапович |
1971 |
г. Цапелька |
| 112 |
Селезнев |
Вавила |
Абрамович |
1973 |
г. Гусев |
| 113 |
Парасюк |
Гораций |
Федулович |
1972 |
г. Свиньин |
| ... |
... |
... |
... |
... |
... |
Таблица 2.3
| Номер свидетельства |
Код_М |
Фамилия жены |
Имя жены |
Дата регистрации |
... |
| 1-ЮБ 154745 |
111 |
Курочкина |
Августина |
06/03/1991 |
... |
| 1-ЮБ 163489 |
111 |
Пеструшкина |
Мариана |
11/08/1991 |
... |
| 1-ЮБ 169877 |
111 |
Рябова |
Милана |
12/12/1992 |
... |
| 1-ЮБ 169878 |
112 |
Уточкина |
Вероника |
12/12/1992 |
... |
| 1-ЮБ 154746 |
113 |
Свинюшкина |
Эльвира |
06/03/1991 |
... |
| 1_ЮБ 169879 |
113 |
Хаврония |
Руфина |
12/12/1992 |
... |
| ... |
... |
... |
... |
... |
... |
Пример 2.4. Наконец, рассмотрим
случай, когда какой-либо
организации потребовались данные о
наличии в ней семейных пар, а для
хранения сведений о сотрудниках
уже имеется сущность
Сотрудники (Табельный_номер, Фамилия, Имя, ...).
Использование, рассмотренной в
примере 2.2, сущности "Брак"
нецелесообразно: в
"Сотрудники" уже есть фамилии,
имена, отчества супругов. Поэтому
создадим ассоциацию
Брак [Сотрудник 1, Сотрудник 1]
(Табельный_номер_мужа, Табельный_номер_жены, ...),
связывающую между собой
определенные экземпляры сущности
"Сотрудники" (рис. 2.1,г).
В заключение отметим, что
ER-диаграмма рис. 2.1,а описывает
структуру размещения данных о
браках в отделах ЗАГС стран,
допускающих групповые браки, а
ER-диаграммы примера 2.1, описания
любых видов браков в организациях,
где есть сущности "мужчины" и
"женщины", включающие холостых
и незамужних.
Что же такое
"связь"? В ER-диаграммах это
линия, соединяющая геометрические
фигуры, изображающие сущности,
атрибуты, ассоциации и другие
информационные объекты. В тексте же
этот термин используется для
указания на взаимозависимость
сущностей. Если эта
взаимозависимость имеет атрибуты,
то она называется ассоциацией.
[Назад] [Содержание] [Вперед]
|