Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PosobieERmodel.doc
Скачиваний:
30
Добавлен:
31.03.2015
Размер:
735.23 Кб
Скачать

2.2. Степень участия

Степень участия: определяет, зависит ли существование некоторой сущности от участия в связи некоторой другой сущности.

Существует два варианта участия сущности в связи: полное (total) и частичное (partial). Степень участия является полной, если для существования некоторой сущ­ности требуется существование другой сущности, связанной с ней определенной свя­зью. В противном случае степень участия является частичной. Например, в случае связи IsAllocated между сущностями Branch и Staff участие сущности Branch в этой связи является полным, поскольку каждое отделение компании имеет некоторый персонал. Однако, поскольку некоторые работники (например, торговые агенты) не относятся ни к какому конкретному отделению компании, то участие сущности Staff в связи IsAllocated является частичным.

На рис. 2.7 эти ограничения представлены в схематическом виде на примере связи IsAllocated между сущностями Branch и Staff. Полную степень участия иногда называют обязательным участием (mandatory), а частичную — необязательным (optional). Участники связи с полным участием соединяется со значком связи двой­ной линией, а участники связи с частичным участием — одинарной линией.

Рис. 2.7. Степень участия сторон в связи Is­Allocated между сущностями Branch и Staff

Допустимо использование и альтернативного варианта обозначений структурных ограничений, накладываемых на некоторую связь, который предусматривает отобра­жение максимальных (Мах) и минимальных (Min) значений в виде надписи (Min, Max) над линией соединения, обозначающей участие сущности в данной связи. Например, на рис. 2.8 эти обозначения применены в отношении связи IsAllocated между сущно­стями Branch и Staff. Подобная система обозначений полезна тем, что иногда позволяет отобразить больше информации о степени участия сторон для данной связи. Например, обозначение (5, N) между сущностью Branch и связью IsAllocated (см. рис. 2.8) указы­вает, что в каждом отделении компании работает, по крайней мере, 5 сотрудников (Min = 5), а максимальное их количество не ограничено (Мах = N). Аналогично, обозначение (0, 1) между сущностью Staff и связью IsAllocated указывает, что сотрудник не обяза­тельно работает в каком-то из отделений компании (Min = 5), но работать одновремен­но в нескольких отделениях он не может (Мах == 1). Такую информацию нельзя полу­чить только на основе показателя кардинальности.

Рис. 2.8. Ограничения участия сторон для связи IsAllocated между сущностями Branch и Staff представлены с использованием альтер­нативной системы обозначений (Min, Мах)

3. Проблемы er-моделирования

В этом разделе рассматриваются некоторые проблемы, которые могут иметь место при разработке концептуальной модели данных. Эти проблемы, которые принято на­зывать ловушками соединения (connection trap), обычно возникают вследствие не­правильной интерпретации смысла некоторых связей. Мы рассмотрим два основных типа ловушек соединения: ловушку разветвления(fan trap) иловушку разрыва(chasm trap), а также укажем способы идентификации и устранения этих проблем в создаваемых ER-моделях. Здесь, однако, следует отметить, что очень важно всегда проверять модель данных на наличие потенциальных ловушек соединения, посколь­ку в одних случаях это может иметь лишь незначительные последствия, тогда как в других — для устранения ловушек может потребоваться выполнить перестройку всей концептуальной модели.

В общем случае для выявления ловушек соединения необходимо гарантировать, что смысл каждой связи четко и ясно определен. При недостаточном понимании сути установленных связей можно построить модель, которая не будет являться истин­ным представлением реального мира.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]