
Пример построения er-модели
В качестве предметной области рассмотрим видеотеку. Детализируя диаграмму потоков данных, для каждого из 4-х основных процессов получим 4 хранилища данных: Члены видеотеки, Фильмы, Аренда, Поставщики. В ER-модели им будут соответствовать 4 одноимённых понятия.
Определим структуру данного понятия, принимая во внимание атрибуты документов, которые обрабатываются в видеотеке: учетные карточки членов видеотеки, карточки учета фильмов. Свойства понятий сведем в таблицу.
Понятие |
Свойства |
Понятие |
Свойства |
ЧЛЕНЫ ВИДЕОТЕКИ |
ФИО |
ФИЛЬМЫ |
№ по каталогу |
Адрес |
Название | ||
Телефон |
|
Тип (тематика) | |
Интересы |
Страна-производитель | ||
|
Год выпуска | ||
Анонс | |||
Цена | |||
Количество | |||
ПОСТАВЩИКИ |
Фирма |
АРЕНДА |
№ п/п |
Адрес |
Дата выдачи | ||
Телефон |
Отметка о возврате | ||
Расчетный счет |
Фильм | ||
К кому обращаться |
ФИО клиента |
Рассмотрим ассоциативные связи между понятиями, которые соответствуют информационным процессам.
В процессе учета членов видеотеки при регистрации нового члена необходимо убедиться, не был ли он записан раньше, не является ли должником. При исключении членов следует проверить, вернул ли клиент все арендованные фильмы. Данный процесс использует информацию из понятий ЧЛЕНЫ и АРЕНДА (рис. 6.а). Линия со стрелкой отображает связь между понятиями типа «один ко многим», например, каждому члену видеотеки может соответствовать много записей в журнале аренды, но каждой записи соответствует только один конкретный клиент. При регистрации каждого нового клиента нужно проверить все карточки о членах видеотеки, поэтому на диаграмме показана рекурсивная связь.
При выдаче фильмов в аренду регистратор должен проверить, является ли клиент членом видеотеки, не числятся ли за ним несданные фильмы, затем в журнал аренды заносятся сведения об аренде фильма, а количество имеющихся фильмов уменьшается на 1. При возврате фильмов следует в журнал внести пометку о возврате, а количество имеющихся в наличии экземпляров данного фильма увеличить на 1. Кроме того, регистратор может предложить клиентам справки об имеющихся в наличии фильмах. Соответствующая диаграмма показана на рис.6 б.
3) Процесс Учет поставщиков соединяет понятия ФИЛЬМЫ и ПОСТАВЩИКИ (рис.6. в) с помощью ассоциированного понятия ПОСТАВКИ.
4)Управление фильмотекой заключается в периодическом предоставлении руководству отчетов об имеющихся фильмах и о ходе их аренды, поэтому данный процесс соединяет понятия ФИЛЬМЫ и АРЕНДА (рис. 6. г). Содержание отчетов отображает простое понятие ОТЧЕТЫ НАЧАЛЬСТВУ.
Рис. 6. Построение фрагментов ER-модели при анализе информационных процессов
Обратите внимание, что ассоциированные понятия, как правило, имеют временное свойство (Дата поставки, Дата регистрации и т. п.) и ключевое свойство типа Номер документа, так как они соответствуют информационным процессам, протекающим во времени.
В заключение объединим модели, полученные при анализе разных внешних представлений, устранив двусмысленности, дублирование атрибутов и рекурсивную связь.
Можно построить другой вариант модели, в которой ассоциированные понятия заменены непосредственными бинарными связями между объектами. Таким образом, варианты модели могут различаться. Следует выбрать тот вариант, который наиболее просто, понятно и полно отражает необходимую информацию о предметной области.
Дополнение
Правила атрибутов.
Одна сущность имеет одно единственное значение для каждого атрибута в любой определенный момент времени.
-
Клиент
Модель автомобиля
Изготовитель
Иванов
Фургон
Шевроле
Петров
Джип
Сидоров
Грузовик
Форд
Сузуки
Атрибут не должен содержать никакой внутренней структуры
-
Заводской номер
Модель изготовителя
102030
Москвич 2141
213243
Москвич 412
324354
Луаз 969
Если сущность имеет составной идентификатор,
каждый атрибут не являющийся частью идентификатора, представляет
характеристику всей сущности, а не её части.
Каждый атрибут не являющийся частью идентификатора, представляет характеристику сущности, указанной идентификатором, а не характеристику другого атрибута – не идентификатора.
Формализация связей.
Цель формализации связи состоит в том, чтобы установить связь одной сущности с другой путем размещения вспомогательных атрибутов в соответствующих сущностях модели.
Для формализации связи ‘ один к одному’ вспомогательные атрибуты могут быть добавлены к любой сущности.
Для формализации связи ‘один ко многим ’ вспомогательные атрибуты должны быть добавлены в сущности на стороне ‘многие’, размещение такого вспомогательного атрибута на стороне ‘один’ будет нарушать третье правило атрибутов.
Для формализации связи ‘многие ко многим’ создают отдельную ассоциативную сущность, которая содержит ссылки на идентификаторы каждой из участвующей в связи сущности.