После определения отношений разработчик может начать строить диаграммы уровней сущностей, изображая графически эти отношения. Пример диаграммы уровней сущностей приведен на рис. 4-5.
Рис. 4-5. Диаграмма уровней сущностей
На этой стадии моделирования все сущности представляются прямоугольными блоками и допускаются неспецифические отношения. Количество и направленность диаграмм уровней сущностей может меняться в зависимости от размеров модели и точки зрения отдельного наблюдателя. Для установления контекста и проверки непротиворечивости полезно, по возможности, изобразить все сущности и их отношения на единой диаграмме. Если создается несколько диаграмм, разработчик должен позаботиться, чтобы диаграммы не противоречили как определениям сущностей и отношений, так и друг другу. Совокупность диаграмм уровней сущностей должна изображать все определенные отношения.
В качестве частного случая диаграммы уровней сущностей можно выделить диаграмму, сосредоточенную на одной сущности и называемую просто диаграммой сущности. На рис. 4-6 приведен пример такой диаграммы.
Рис. 4-6. Диаграмма сущности
Создание отдельной диаграммы сущности для каждой сущности является допустимым, но при этом необходимо придерживаться следующих положений:
- Основная сущность должна располагаться приблизительно в центре страницы.
- Родительские или общие сущности должны размещаться выше основной сущности.
- Сущность-потомок или сущность-категория должны размещаться ниже основной сущности.
- Формы неспецифических отношений часто указываются сбоку от блока основной сущности.
- Линии отношений лучами расходятся от блока основной сущности к связанным сущностям. На диаграмме показываются только ассоциации между основной сущностью и связанными сущностями.
- Каждая линия, представляющая отношение, обладает меткой. В случае неспецифического отношения линия обладает двумя метками, разделенными знаком "/".
Доступная в данный момент информация о каждой сущности включает следующее:
- Определение сущности.
- Имена отношений и возможные определения (для отношений как с родителями, так и с потомками).
- Изображение на одной или более диаграмм уровней сущностей.
Информация о сущности может быть расширена с помощью добавления по усмотрению разработчика справочных диаграмм. К справочным диаграммам (диаграммам "для экспозиции только", иногда называемым FEO-диаграммами) разработчик может обращаться по желанию и вводить для них собственные соглашения. Эти диаграммы являются основой для дискуссий между разработчиком и рецензентами. Они дают разработчику уникальную возможность фиксировать логические обоснования, обсуждать проблемы, анализировать альтернативные варианты и рассматривать различные аспекты разработки модели. На рис. 4-7 приведен пример справочной диаграммы, где изображены варианты выбора отношения, снабженные комментариями разработчика.
Рис. 4-7. Справочная диаграмма (FEO)
Другой тип справочных диаграмм приведен на рис. 4-8. В этом примере разработчик представил проблему и связанные с ней затруднения для привлечения внимания рецензента.
На этой стадии разработчик располагает уже достаточным объемом информации для начала формальной проверки правильности модели с помощью критического анализа (см. разделы 5.2 и 5.4).
Рис. 4-8. Пример справочной диаграммы
8.6.4 4.4. Стадия 3 - определения ключей
Целями стадии 3 являются:
- Детализация неспецифических отношений из стадии 2.
- Определение ключевых атрибутов для каждой сущности.
- Перемещение первичных ключей для установления внешних ключей.
- Проверка правильности отношений и ключей.
Результаты стадии 3 изображаются на одной или нескольких диаграммах (диаграммах ключевого уровня). Помимо определения ключевых атрибутов на стадии 3 расширяются и детализируются определения сущностей и отношений.