Характеристика связей и язык моделирования
Врач может назначить несколько пациентов на несколько анализов, анализ может быть назначен несколькими врачами нескольким пациентам и пациент может быть назначен на несколько анализов несколькими врачами); Пациент, имея одного лечащего врача, может иметь также несколько врачей-консультантов; врач может быть лечащим врачом нескольких пациентов и может одновременно консультировать несколько других… Читать ещё >
Характеристика связей и язык моделирования (реферат, курсовая, диплом, контрольная)
При построении инфологических моделей можно использовать язык 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).
Пример 2.2. Отдел записей актов гражданского состояния (ЗАГС) имеет дело не со всеми людьми, а только с теми, кто обратился с просьбой о регистрации брака, рождения или смерти. Поэтому в странах, где допускаются лишь традиционные браки, отделы ЗАГС могут размещать сведения о регистрируемых браках в единственной сущности:
Брак (Номер_свидетельства, Фамилия_мужа, Имя_мужа,.
Отчество_мужа, Дата_рождения_мужа, Фамилия_жены,.
…, Дата_регистрации, Место_регистрации, …),.
ER-диаграмма которой приведена на рис. 2.1,б.
Пример 2.3. Теперь рассмотрим ситуацию, когда отдел ЗАГС расположен в стране, допускающей многоженство. Если для регистрации браков использовать сущность «Брак» примера 2.2, то будут дублироваться сведения о мужьях, имеющих несколько жен (см. табл. 2.1).
Таблица 2.1.
Номер свидетельства. | Фамилия мужа. | Фамилия жены. | Дата регистрации. | ||
1-ЮБ 154 745. | Петухов. | Курочкина. | 06/03/1991. | ||
1-ЮБ 163 489. | Петухов. | Пеструшкина. | 11/08/1991. | ||
1-ЮБ 169 887. | Петухов. | Рябова. | 12/12/1992. | ||
1-ЮБ 169 878. | Селезнев. | Уточкина. | 12/12/1992. | ||
1-ЮБ 154 746. | Парасюк. | Свинюшкина. | 06/03/1991. | ||
1-ЮБ 169 879. | Парасюк. | Хаврония. | 12/12/1992. | ||
Дублирование можно исключить созданием дополнительной сущности «Мужья» .
Мужья (Код_М, Фамилия, Имя, Отчество, Дата рождения, Место рождения) и заменой сущности «Брак» характеристикой (см. п. 2.3) со ссылкой на соответствующее описание в сущности «Мужья» .
Брак (Номер свидетельства, Код_М, Фамилия жены, …,.
Дата регистрации, …){Мужья}.
ER-диаграмма связи этих сущностей показана на рис. 2.1,в, а пример их экземпляров в табл. 2.2 и 2.3.
Таблица 2.2.
Код_М. | Фамилия. | Имя. | Отчество. | Год/р. | Место рожд. |
Петухов. | Альфред. | Остапович. | г. Цапелька. | ||
Селезнев. | Вавила. | Абрамович. | г. Гусев. | ||
Парасюк. | Гораций. | Федулович. | г. Свиньин. | ||
Таблица 2.3.
Номер свидетельства. | Код_М. | Фамилия жены. | Имя жены. | Дата регистрации. | |
1-ЮБ 154 745. | Курочкина. | Августина. | 06/03/1991. | ||
1-ЮБ 163 489. | Пеструшкина. | Мариана. | 11/08/1991. | ||
1-ЮБ 169 877. | Рябова. | Милана. | 12/12/1992. | ||
1-ЮБ 169 878. | Уточкина. | Вероника. | 12/12/1992. | ||
1-ЮБ 154 746. | Свинюшкина. | Эльвира. | 06/03/1991. | ||
1_ЮБ 169 879. | Хаврония. | Руфина. | 12/12/1992. | ||
Пример 2.4. Наконец, рассмотрим случай, когда какой-либо организации потребовались данные о наличии в ней семейных пар, а для хранения сведений о сотрудниках уже имеется сущность Сотрудники (Табельный_номер, Фамилия, Имя, …).
Использование, рассмотренной в примере 2.2, сущности «Брак» нецелесообразно: в «Сотрудники» уже есть фамилии, имена, отчества супругов. Поэтому создадим ассоциацию Брак [Сотрудник 1, Сотрудник 1].
(Табельный_номер_мужа, Табельный_номер_жены, …), связывающую между собой определенные экземпляры сущности «Сотрудники» (рис. 2.1,г).
В заключение отметим, что ER-диаграмма рис. 2.1,а описывает структуру размещения данных о браках в отделах ЗАГС стран, допускающих групповые браки, а ER-диаграммы примера 2.1, описания любых видов браков в организациях, где есть сущности «мужчины» и «женщины», включающие холостых и незамужних.
Что же такое «связь»? В ER-диаграммах это линия, соединяющая геометрические фигуры, изображающие сущности, атрибуты, ассоциации и другие информационные объекты. В тексте же этот термин используется для указания на взаимозависимость сущностей. Если эта взаимозависимость имеет атрибуты, то она называется ассоциацией.