Представление системы в форме ERM При разработке корпоративных информационных систем проект базы данных является тем фундаментом, на котором строится вся система в целом. Модель «сущность-связь» (entry-relationship model – ERM) является наиболее общей и может порождать все существующие модели: иерархические, сетевые, реляционные и объектные. В ER-модели, предложенной Пин-Шен Ченом в 1976 г., любой фрагмент предметной области может быть представлен как множество сущностей, между которыми существует множество связей. Таким образом ER-модель прежде всего связана с попыткой представления семантики (смысла) предметной области в модели базы данных. Реляционная модель данных в силу своей простоты и лаконичности не позволяет отобразить семантику, т.е. смысл предметной области в отличие от ранних теоретико-графовых моделей, которые в большей степени определяли иерархические связи между объектами предметной области.
В настоящий момент ER-модель стала фактическим стандартом при моделировании данных в информационных системах и большинство современных CASE-средств содержат инструментальные средства для описания данных в формализме этой модели. Кроме того, разработаны методы автоматического преобразования проекта базы данных из ER-модели в реляционную, при этом преобразование выполняется в модель, соответствующую конкретной системе управления базами данных.
Как и любая модель, модель «сущность-связь» имеет несколько базовых понятий, которые образую исходные кирпичики, из которых строится уже более сложные объекты.
Эта модель в наибольшей степени согласуется с концепцией объектно-ориентированного проектирования, которая в настоящий момент, несомненно, является базовой для разработки сложных программных систем.
В основе ER-модели лежат следующие базовые понятия:
· Сущность (entry), с помощью которой моделируется класс однотипных объектов, который может быть идентифицирован неким способом, отличающим его от других объектов, например, Сотрудник, Подразделение. Экземпляром сущности Сотрудник будет описание конкретного сотрудника предприятия. Сущность, имеет имя, уникальное в пределах моделируемой системы. На ER-диаграммах сущность обозначается прямоугольником.
· Набор сущностей (entry set) – множество сущностей одного типа, т.е. с одинаковыми свойствами. Так как сущность соответствует некоторому классу однотипных объектов, то предполагается, что в системе существует множество экземпляров данной сущности (в нашем примере – множество сотрудников предприятия).
· Атрибуты сущности – множество характеристик, определяющих свойства данного объекта, которому соответствует понятие сущности. При этом набор атрибутов должен быть таким, чтобы можно было различать различные экземпляры сущности. Например, у сущности Сотрудник может быть следующий набор атрибутов: Табельный номер, Фамилия, Имя, Отчество, Дата рождения, Пол. Наименование атрибутов уникально в рамках сущности.
· Домен – это множество значений или область определения атрибута. Например, для атрибута Дата рождения можно определить домен Дата, который задается интервалом дат
· Ключ сущности – это набор атрибутов, однозначно идентифицирующий конкретный экземпляр сущности. Для сущности Сотрудник ключевым будет атрибут Табельный номер, поскольку для всех сотрудников данного предприятия табельные номера будут различны. Ключевые атрибуты сущности в ER-модели помечаются, например, подчеркиванием или специальным шрифтом
· Связь (relationship) – это ассоциация, установленная между несколькими сущностями. Например, между сущностями Сотрудник и Подразделение существует связь Работает в, поскольку каждый сотрудник работает в каком-либо подразделении (рисунок 65)
Рисунок 65– Фрагмент диаграммы «сущность-связь»
Итак, сущности представляют собой базовые типы информации, хранимой в базе данных, а отношения показывают как эти типы данных взаимосогласованы друг с другом. В таблице 11 представлено обозначение символов ER-модели.
В методике проектирования данных существует правило «хорошего тона», согласно которому рекомендуется использовать в качестве наименовании сущность – существительное, а связи – глагольную форму.
Роль сущности в связи – это функция, которую выполняет сущность в данной связи. Набор связей – это отношение между несколькими (больше двух) сущностями, каждая из которых относится к некоторому набору сущностей. Связь, объединяющая две сущности называется бинарной. Доказано, что n-арный набор связей (n>2) всегда можно заменить множеством бинарных, но первые лучше отражают семантику (смысл) предметной области.
Таблица 11
Сущности, отношения и атрибуты в ERM
Символ ERD
| Описание
|
| · представляет независимые данные, всегда присутствует в системе;
· отношения с другими сущностями могут как существовать, так и отсутствовать;
|
| · представляет зависимые данные, зависящие от других сущностей в системе;
· всегда имеет отношения с другими сущностями;
|
| · предоставляет данные, ассоциирующиеся с отношениями между двумя и более сущностями;
|
| · обязательно существует, пока существует относящиеся к нему сущности (обязательное или безусловное отношение)
|
| · наименованием служит имя существительное;
· имя атрибута уникально в рамках данной сущности;
|
| · уникально определяет соответствующую сущность
| Существуют две важные характеристики связей: степень и кардинальность.
Степень связи – число сущностей, которое может быть ассоциировано через набор связей с другой сущностью. Эта характеристика особенно важна для бинарных связей следующих типов:
· Один к одному (1 : 1). В такой связи сущности с одной ролью всегда соответствует не более одной сущности с другой ролью. Так как степень связи для каждой сущности равна 1, то они соединяются одной линией.
· Один ко многим (1 : n). В данном случае сущности с одной ролью может соответствовать любой число сущностей с другой ролью. Графически степень связи n отображается «древообразной» линией («веткой).
· Много к одному (n : 1). Эта связь аналогична отображению 1 : n.
· Многие ко многим (n : m). В данном случае каждая из ассоциированных сущностей может быть представлена любым количеством экземпляров. На рисунке 5.1 между сущностями Сотрудник и Подразделение представлена связь имеющая степень n : m . Поскольку каждый сотрудник может работать в нескольких подразделениях (или ни в одном), а в каждом подразделении должен работать хотя бы один сотрудник.
Кроме степени связи, еще одной важной характеристикой связи является класс принадлежности входящих в нее сущностей, или кардинальность связи. Существуют обязательный и необязательный классы принадлежности, обозначение которых представлены в таблице 12 (обозначения соответствуют нотации Мартина).
Таблица 1Ошибка! Текст указанного стиля в документе отсутствует.
Варианты обозначений характеристик связи
Класс
принадлежности
| Степень связи
|
| n
| Необязательный (o)
| (0,1)
Возможно только один
| (0,n)
Возможно много
| Обязательный (1)
| (1,1)
Обязательно только один
| (1,n)
По крайней мере один
| Зависимые сущности: x называется зависимой (слабой) сущностью, если существование сущности x зависит от существования сущности y (сильной сущности). При этом связь между такими сущностями называется обязательной. Зависимая сущность обозначается двойным прямоугольником, а ее связь с «сильной» сущностью – линией со стрелкой. Кардинальность связи для сильной сущности всегда будет (1,1), класс принадлежности и степень связи для зависимой сущности могут быть любыми. Сущность может быть «слабой» в одной связи и «сильной» в другой, но не может быть «слабой» более чем в одной связи.
Этапы построения ER-модели:
1. Идентификация сущностей и связей
2. Выявление наборов связей типа 1:n.
3. Определение кардинальностей связей
4. Определение атрибутов и доменов
5. Организация данных в виде ER-отношений.
|