Проверка законченности ER—диаграммы
При построении модели с использованием методологии Ричарда Баркера, необходимо, соблюдая четкость и аккуратность, придерживаться следующего:
— размер четырехугольников по вертикали, отображающих классы объектов, сопоставлять с количеством включенных в него свойств;
— линии связи рисовать прямыми и направленными вверх, по горизонтали и по диагонали; для диагональных линий использовать углы в 30 или 60 градусов, это упрощает чтение, если связи пересекаются;
— избегать большого количества параллельных линий, их трудно отслеживать;
— избегать сокращений и жаргонов в названиях классов объектов, свойств, добавлять к названиям прилагательные для облегчения понимания модели;
— имена связей указывать на концах линий с разных сторон от неё;
— для упрощения чтения диаграммы рекомендуется располагать так классы объектов, чтобы "воронья лапа", обозначающая связь «много» была направлена вверх и влево. Таким образом, самые динамичные и объемные классы объектов будут всегда расположены ближе к верхнему, левому углу диаграммы;
— нежелательно вычерчивать диаграмму на сетке.
ER—диаграмма должна легко читаться как непрерывное предложение, начиная с любого места, и иметь смысл с точки зрения бизнеса.
Для того чтобы получить законченную и качественную ER—диаграмму, построенную по методологии Ричарда Баркера необходимо убедиться в следующем.
1 Для классов объектов: представлены четырехугольниками с закругленными углами; название в единственном числе, заглавными буквами; обязательно имеют уникальные идентификаторы.
2 Для свойств классов объектов: имена записаны строчными буквами и не включают имя класса объектов; имеют одну из меток «*» (обязательное свойство) или «о» (необязательное свойство). Все свойства разбиты на атомарные компоненты.
3 Для подтипов: полностью описывают класс объектов; не перекрывают друг друга; существование каждого подтипа оправдано – имеют разные свойства, разные связи.
4 Для связей: каждая сторона имеет имя (пишется строчными буквами), мощность и опциональность. Для больших моделей необязательно указывать названия связей на диаграмме, но они должны быть обязательно указаны в формализованном описании предметной области. Необходимо проверить опциональность связей: для обязательных связей – действительно ли связь должна существовать, то есть объект не может быть создан без одновременного создания связи; для необязательных связей – действительно ли связь только может существовать, может ли объект существовать без этой связи.
5 Для рекурсивных связей: рекурсивные связи имеют необязательное значение с обеих сторон (кроме рекурсивных подтипов).
6 Для арков: связи, входящие в арк имеют одинаковый тип и опциональность с обеих сторон и помечены кружками.
7 Все ли выявленные в классе объектов свойства имеют одно значение (рисунок 20). В противном случае необходимо дообследовать предметную область и выявить необходимые классы объектов.
![]() |
Рисунок 20 — Пример дообследования предметной области
8 Каждое ли свойство класса объектов зависит от всего уникального идентификатора этого класса объектов — рисунок 21. Чем больше отдельных существительных предметной области выделено в виде классов объектов, тем более нормализованной будет схема будущей реляционной БД.
![]() |
Рисунок 21 — Нормализация на уровне ER—диаграммы
ER—диаграмма должна соответствовать формализованному описанию предметной области, представленному в виде таблиц.