Alexander Dolnik
unread,Sep 18, 2012, 2:45:19 PM9/18/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to 422_2012_db...@googlegroups.com
Добрый день, группа 422!
Мне кажется, что я внёс больше смуты, чем понимания на паре, - так что попытаюсь просуммировать
основные положения в письме: концепцию, шаги построения и некоторые секреты и тонкости.
Концепция или цель построения ER диаграммы - настройка на конкретную задачу и предметную область.
При этом надо учитывать много параметров. Если задача, казалось бы, незначительно меняет формулировку -
это может привести к совершенно другой ER модели той же самой предметной области.
Построение модели состоит из следующих шагов:
1) Выделение основных понятий области (выписываем их в столбик и выкидываем ненужное).
2) Организация их в сущности с атрибутами, выделение ключей.
3) Создание грубой схемы с поименованными множественными связями (на занятии было, договор-тариф-услуга).
Комментарий,- можно вообще все сущности изучаемой предметной области рассматривать как связанные
одной мега связью,- это правильно, но неудобно и бесполезно. Удобнее пользоваться бинарными связями, но не всегда
удаётся создать схему с бинарными связями без циклов.
4) Определение типов связей и их кратности.
5) Проработка полученной схемы: избавление от n-арных связей
(стараться свести из к бинарным, хотя это не всегда возможно, пример тот
же).
При моделировании предметной области может быть полезно учитывать (зависит от постановки задачи) временные аспекты в схеме,
при которой связь будет действительна лишь некоторое время. В таком случае в неё добавляют специальные атрибуты времени.
Нет единой "правильной" схемы - может быть несколько ER схем, и все они будут правильными с той или иной точки зрения.
Например, атрибуты могут отнести как к самой сущности, так и к связи.
Иногда, для решения проблемы с тернарной связью помогает приём введения искусственной сущности.
Пример: можно связать договор с сущностью тариф-за-услугой, а затем тариф-за-услугу связать с услугой,-
это альтернатива тернарной связи {договор, услуга, тариф}
На связи с вами,
Александр Дольник