Концептуальное проектирование баз данных
Одним из средств формализованного представления предметной области является модель «сущность-связь» (ERM – Entity-Relationship Model), предложенная Питером Ченом в 1976 г. Моделирование предметной области базируется на использовании ER-диаграмм, причем существует большое число нотаций и методик их построения. Базовыми понятиями модели являются сущность, связь и атрибут.
Сущность (Entity) – реальный или абстрактный объект, имеющий существенное значение для предметной области. Сущность должна иметь наименование, выраженное существительным в единственном числе (рис. 18). Примерами могут быть такие классы объектов, как Поставщик, Сотрудник, Заказ.
Рис. 18. Графическое представление сущности
Неформальный способ идентификации сущностей – это поиск абстракций, описывающих объекты, процессы, роли и другие понятия.
Формальный способ идентификации сущностей – анализ текстовых описаний предметной области, выделение имен существительных и выбор их в качестве абстракций.
Экземпляр сущности – это конкретный представитель данной сущности. Например, экземпляром сущности Сотрудникможет быть сотрудник Иванов.
Каждая сущность должна обладать следующими свойствами:
· иметь уникальное имя;
· обладать одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через связь;
· обладать одним или несколькими атрибутами, которые однозначно идентифицируют каждый экземпляр сущности.
Атрибут (Attribute) – характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для идентификации, классификации, количественной характеристики или выражения состояния сущности.
Сущность Сотрудник может иметь атрибуты: Табельный номер, Фамилия, Имя, Отчество, Должность. Атрибуты изображаются в пределах прямоугольника, определяющего сущность (рис. 19).
Рис. 19. Сущность с атрибутами
Существуют следующие виды атрибутов:
· простой – состоит из одного элемента данных;
· составной – состоит из нескольких элементов данных;
· однозначный – содержит одно значение для одной сущности;
· многозначный – содержит несколько значений для одной сущности;
· необязательный – может иметь пустое (неопределенное) значение;
· производный – значение, производное от значения другого атрибута.
Уникальным идентификатором называется набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности. Удаление любого атрибута из идентификатора нарушает его уникальность. Уникальные идентификаторы изображаются на диаграмме подчеркиванием (рис. 20).
Рис. 20. Сущность с уникальным идентификатором |
Каждая сущность может обладать любым количеством связей с другими сущностями.
Связь (Relationship) – поименованная ассоциация между сущностями, значимая для рассматриваемой предметной области.
Степенью связи называется количество сущностей, участвующих в связи. Связь степени 2 называется бинарной, степени N – N-арной. Связь, в которой одна сущность участвует в разных ролях, называется рекурсивной (унарной). Один из вариантов графического изображения связи показан на рис. 21.
Рис. 21. Обозначение сущностей и связи
Пары чисел на диаграмме отражают две важные характеристики связи – класс принадлежности (первое число) и мощность связи (второе число).
Класс принадлежности характеризует обязательность участия экземпляра сущности в связи. Может принимать значение 0 (необязательное участие – экземпляр сущности может быть связан с одним, несколькими или ни с одним экземпляром другой сущности) или 1 (обязательное участие – экземпляр сущности должен быть связан не менее чем с одним экземпляром другой сущности). Классы принадлежности на рис. 21 означают, что в каждом отделе работает хотя бы один сотрудник, некоторые сотрудники могут не работать в отделах (работают в цехах).
Мощность связи – число экземпляров сущности, участвующих в связи. Мощность связи может быть равна 1, N или конкретному числу. Мощности связи на рис. 21 означают: каждый сотрудник может работать не более чем в одном отделе, а в каждом отделе может работать любое число сотрудников.
В зависимости от значения мощности, связь может иметь один из трех типов:
· один-к-одному (обозначается 1:1), показана на рис. 22.
· один-ко-многим (обозначается 1:N), показана на рис. 21.
· многие-ко-многим (обозначается M:N), показана на рис. 23.
Рис. 22. Связь типа 1:1
Связи также могут иметь атрибуты. Чтобы узнать ставку сотрудника, нужно знать не только его табельный номер, но и номер отдела (рис. 23). Ставка является атрибутом обеих сущностей Сотрудник и Отдел. Это – атрибут связи.
Рис. 23. Связь типа M:N
В связи «супертип-подтип» общие атрибуты типа определяются в сущности -супертипе, сущность-подтип (подкласс) наследует атрибуты супертипа. Экземпляр подтипа существует только при условии существования экземпляра супертипа. Подтип не может иметь идентификатора (он импортирует его из супертипа). Например, супертип Учредительобразуют подтипы юридическое лицо и физическое лицо (рис. 24). Свойство, по которому проводится разбиение, называется дискриминатором.
Рис. 24. Связь «супертип-подтип»
Существуют следующие виды идентификаторов:
· первичный / альтернативный – сущность может иметь несколько идентификаторов (рис. 25). Один должен быть основным (первичным), другие – альтернативными. Первичный идентификатор на диаграмме подчеркивается. Альтернативные идентификаторы предваряются символами <1> для первого, <2> для второго и т. д.;
·- простойидентификатор, состоящий из одного атрибута,
·- составной идентификатор, состоящий из нескольких атрибутов
·- абсолютный – если атрибуты, составляющие идентификатор, принадлежат сущности, то идентификатор является абсолютным.
Дата добавления: 2017-10-04; просмотров: 2008;