Вы находитесь на страницах старой версии сайта.
Переходите на новую версию Interface.Ru

Использование методик моделирования данных IDEF1X и IE в программном средстве AllFusion ERwin Data Modeler компании Computer Associates

© А. Козодаев

Рассмотрены две методики моделирования данных, используемых в программном средстве AllFusion ERwin Data Modeler.Показано, что методики IDEF1X и IE имеют больше сходств, чем различий.

Введение

Проектирование качественных баз данных (БД) с каждым годом приобретает все большее значение. Возможности систем управления базами данных с каждой версией увеличиваются, вместе с ними возрастают объемы БД и их сложность. Ошибка, допущенная на этапе проектирования БД, в дальнейшем может существенно снизить ее производительность и возможное применение. Чтобы снизить риск совершения критических ошибок следует использовать специальные программные средства моделирования данных. К таким средствам относится AllFusion ERwin Data Modeler (далее - Erwin). Одной из особенностей этого программного продукта является поддержка двух методик моделирования данных:

Пользователю ERwin предлагается использовать методику моделирования, которая является для него наиболее удобной. Для того чтобы эффективно использовать все возможности ERwin, необходимо понимать различия и сходства упомянутых методик.

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

Сходства методик моделирования данных IDEF1X и IE.

Обе методики моделирования данных основываются на диаграмме сущность-связь, которая была предложена в 1976 году сотрудником корпорации IBM Питером Ченом.

Рисунок 1. Диаграмма сущность-связь, предложенная П. Ченом

Диаграмма сущность-связь основывается на важной семантической информации о реальном мире. Может использоваться в качестве основы для унификации различных представлений данных на основе иерархической модели, сетевой модели и реляционной модели. Она включает в себя два графических элемента:

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

Рисунок 2. Отображение сущности.

Атрибут первичного ключа - атрибут, значение которого позволяет уникально идентифицировать экземпляр сущности. Атрибут первичного ключа является частью первичного ключа, который необходим, для того чтобы отличать экземпляры сущности друг от друга. Первичный ключ может быть простым - состоящим из одного атрибута и составным - состоящим из нескольких атрибутов.

Связи отображаются как линии между сущностями. В зависимости от роли в связи сущность может быть родительской или дочерней. В методике IDEF1X у дочерней сущности на связи присутствует точка, в методике IE вместо точки используется 'птичья лапка' (crow's foot). Каждая связь имеет глагольную фразу, которая характеризует связь. Глагольная фраза читается по следующей формуле = название родительской сущности + глагольная фраза + название дочерней сущности. Иногда для большей ясности разработчики используют вторую глагольную фразу, которая читается по формуле = название дочерней сущности + глагольная фраза + название родительской сущности.

Существует два типа сущностей:

Существует несколько видов связей:

Рисунок 3. Идентифицирующая связь (методика IDEF1X)

Рисунок 4. Неидентифицирующая связь (методика IDEF1X).

Рисунок 5. Связь многие-ко-многим (методика IDEF1X).

Рисунок 6. Иерархическая связь (методика IDEF1X).

Различия методик моделирования IDEF1X и IE

Первое различие между методиками IDEF1X и IE заключается в отображении мощности связи. Мощность связи - это отношение, показывающее какому количеству экземпляров дочерней сущности, может соответствовать экземпляр родительской сущности.

В методике IDEF1X мощность отображается следующим образом:

Рисунок 7. Методика IDEF1X - экземпляру родительской сущности могут соответствовать 0,1 или много экземпляров дочерней сущности.

Рисунок 8. Методика IDEF1X - экземпляру родительской сущности могут соответствовать 1 или много экземпляров дочерней сущности (буква P у дочерней сущности).

Рисунок 9. Методика IDEF1X - экземпляру родительской сущности могут соответствовать 0 или 1 экземпляров дочерней сущности (буква Z у дочерней сущности).

Рисунок 10. Методика IDEF1X - экземпляру родительской сущности соответствует в точности 5 экземпляров дочерней сущности (цифра 5 у дочерней сущности).

В методике IE мощность связи отображается следующим образом:

Рисунок 11. Методика IE - экземпляру родительской сущности могут соответствовать 0,1 или много экземпляров дочерней сущности.

Рисунок 12. Методика IE - экземпляру родительской сущности могут соответствовать 1 или много экземпляров дочерней сущности.

Рисунок 13. Методика IE - экземпляру родительской сущности могут соответствовать 0 или 1 экземпляров дочерней сущности.

Рисунок 14. Методика IE - экземпляру родительской сущности соответствует в точности 5 экземпляров дочерней сущности (цифра 5 у дочерней сущности).

Из приведенных выше рисунков видно, что в методике IE для отображения мощности связи используется внешний вид связи у дочерней сущности, в то время как в методике IDEF1X для этих целей используются буквы у дочерней сущности.

Второе и самое существенное различие между методиками IDEF1X и IE заключается в разном смысле связи типа иерархия категорий и в ее графическом отображении.

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

Рисунок 15. Связь типа иерархия категорий в методике IDEF1X.

В нотации IDEF1X иерархия категорий может быть двух типов - полная и неполная. Определить, какой тип иерархии категорий представлен в модели данных, можно по стилю отображения дискриминанта: дискриминант с двумя горизонтальными линиями свидетельствует о полноте иерархии категорий, с одной горизонтальной линией - о ее неполноте. Полная иерархия категорий свидетельствует о завершенности анализа. В примере с сотрудником полная иерархия категорий говорит о том, что любой сотрудник является либо штатным сотрудником, либо работающим по контракту и никаких других вариантов быть не может. Если в примере мы изменим иерархию категорий на неполную, это будет свидетельствовать о том, что помимо сотрудников, зачисленных в штат и работающих по контракту, могут быть и другие типы сотрудников, но на данном этапе моделирования данных, они еще не выявлены.

Рисунок 16. Виды иерархии категорий в методике IDEF1X.

Иерархия категорий создается в методике IE исходя из тех же соображений, что и в методике IDEF1X: в процессе моделирования данных выделяются сущности, имеющие общие атрибуты и связи, в таком случае общие атрибуты заключаются в сущность - супертип, а различающиеся атрибуты помещаются в сущности - подтипы.

Рисунок 17. Иерархия категорий в методике IE.

Графическое отображение дискриминанта в методике IE отличается от представления в методике IDEF1X, отличается и смысл всей иерархии категорий. В методике IE есть деление иерархий категорий на эксклюзивную и неэксклюзивную. В рассматриваемом выше примере (рисунок 17) представлена иерархия категорий, где в качестве супертипа представлена сущность транспортное средство. В случае использования эксклюзивной иерархии категорий можно сказать, что транспортное средство является либо автомобилем, либо лодкой. Если изменить иерархию категорий на неэксклюзивную, то это будет говорить о том, что транспортное средство может быть автомобилем, либо лодкой, либо как лодкой, так и автомобилем одновременно (амфибия). Т.е. при эксклюзивной иерархии категорий экземпляр супертипа входит в экземпляр одного из подтипов, при неэксклюзивной иерархии категорий экземпляр супертипа может входить более чем в один подтип.

Примечание: в методике IE все иерархии категорий считаются полными.

Рисунок 18. Типы иерархии категорий в методике IE

Заключение

AllFusion ERwin Data Modeler не ограничивает разработчика в том, какую методику моделирования данных использовать. Это возможно благодаря поддержке двух методик моделирования данных: методики IDEF1X и методики IE. Различий между ними немного, но их нужно понимать для успешного использования выбранной методики в процессе моделирования данных.

Дополнительная информация

 

Обсудить на форуме Computer Associates

Рекомендовать страницу

INTERFACE Ltd.
Телефон/Факс: +7 (495) 925-0049
Отправить E-Mail
http://www.interface.ru
Rambler's Top100
Ваши замечания и предложения отправляйте редактору
По техническим вопросам обращайтесь к вебмастеру
Дата публикации: 08.07.05