Диаграммы «сущность-связь» (ERD)
Одним из наиболее известных и получивших широкое распространение методов семантического моделирования является построение модели «сущность-связь». Этот подход строится на использовании модели «сущность-связь», предложенной Ченом в 1976 году и с тех пор неоднократно усовершенствовавшейся как самим Ченом, так и многими другими исследователями. Была предложена не только сама ER-модель как таковая, но и соответствующая ей технология построения диаграмм, получивших название «ER-диаграммы» (ERD). Диаграммы «сущность-связь» предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними. Фактически с помощью ERD осуществляется детализация хранилищ данных проектируемой системы, а также документируются сущности системы и способы их взаимодействия, включая идентификацию объектов, важных для предметной области (сущностей), свойств этих объектов (атрибутов) и их отношения с другими объектами (связей). Эти диаграммные техники используются, прежде всего, для проектирования реляционных баз данных.
Нотация диаграммы «сущность-связь».
Название объекта | Описание | Изображение |
Сущность | 1.Название сущности пишется внутри прямоугольника; 2.Под прямоугольником сущности всегда указывается ключ, который подчеркивается;3.После последнего ключевого атрибута ставится запятая и многоточие | |
Сущность с обязательным классом принадлежности | На обязательный класс принадлежности сущности ( модальность должен) указывает квадратик, расположенный вокруг точки на линии связи. | |
Сущность с необязательным классом принадлежности | На необязательный класс принадлежности сущности (модальность может) указывает отсутствие квадратика, расположенного вокруг точки на линии связи. | |
Связь | Связь между сущностями изображается при помощи ромба, внутри которого пишется название связи | |
Степень связи | - один к одному- один ко многим- многие ко многим | 1:11:nn:n |
Спецификация сущностей.
Организация
№ | Параметр | Описание |
1 | Имя | Организация |
2 | Множественное число | Организации |
3 | Синонимы | Название компании, Фирма |
4 | Описание | ID организации, Название организации, Адрес |
5 | Уникальный идентификатор (ключ) | ID организации |
6 | Связи | Организация предоставляет заявку, план сопровождения составляется по организациям, организация подписывает акт. |
Атрибуты сущности :
- ID организации;
- Название организации;
- Адрес;
- Заявка;
- План сопровождения;
- Акт.
Заявка
№ | Параметр | Описание |
1 | Имя | Заявка |
2 | Множественное число | Заявки |
3 | Синонимы | Заявка |
4 | Описание | ID Заявки, IDорганизации, Дата и время поступления, текст заявки. |
5 | Уникальный идентификатор (ключ) | ID Заявки |
6 | Связи | Заявка поступает от организации, на заявку оформляется акт по заявке. |
Атрибуты сущности :
- ID Заявки;
- ID организации;
- Дата и время поступления;
- Текст заявки;
- Организация;
- Акт по заявке.
План сопровождения
№ | Параметр | Описание |
1 | Имя | План сопровождения |
2 | Множественное число | Планы сопровождения |
3 | Синонимы | График посещения |
4 | Описание | IDсопроводителя, ID организации, Месяц. |
5 | Уникальный идентификатор (ключ) | ID сопроводителя, ID организации, Месяц. |
6 | Связи | План сопровождения создается по организациям, Сопроводитель создает план сопровождения. |
Атрибуты сущности :
- ID сопроводителя;
- ID организации;
- Месяц;
- Организация;
- Сопроводитель.
Работа
№ | Параметр | Описание |
1 | Имя | Работа |
2 | Множественное число | Работы |
3 | Синонимы | Трудовая деятельность |
4 | Описание | IDакта, ID работы, ID вида работы, ID модуля, Дата начала, дата окончания. |
5 | Уникальный идентификатор (ключ) | ID акта, ID работы. |
6 | Связи | Работа может подразделяться на несколько видов, работа может выполняться на определенном модуле, по окончании работы оформляется акт. |
- ID акта;
- ID работы;
- ID вида работы;
- ID модуля;
- Дата начала;
- Дата окончания;
- Вид работы;
- Модуль;
- Акт.
Вид работы
№ | Параметр | Описание |
1 | Имя | Вид работы |
2 | Множественное число | Виды работы |
3 | Синонимы | Вид работы |
4 | Описание | ID вида работы, Наименование вида работы |
5 | Уникальный идентификатор (ключ) | ID вида работы |
6 | Связи | Работа делится на несколько видов работы. |
Атрибуты сущности :
- ID вида работы;
- Наименование вида работы;
- Работа.
Модуль
№ | Параметр | Описание |
1 | Имя | Модуль |
2 | Множественное число | Модули |
3 | Синонимы | Модуль |
4 | Описание | ID модуля, наименование модуля. |
5 | Уникальный идентификатор (ключ) | ID модуля |
6 | Связи | Работа может выполняться на нескольких модулях. |
Атрибуты сущности :
- ID модуля;
- Наименование модуля;
- Работа.
Сопроводитель
№ | Параметр | Описание |
1 | Имя | Сопроводитель |
2 | Множественное число | Сопроводители |
3 | Синонимы | Работник |
4 | Описание | ID сопроводителя, имя сопроводителя. |
5 | Уникальный идентификатор (ключ) | ID сопроводителя |
6 | Связи | Сопроводитель подписывает акт, и составляет план сопровождения. |
Атрибуты сущности :
- ID сопроводителя;
- Имя сопроводителя;
- Акт;
- План сопровождения.
Акт
№ | Параметр | Описание |
1 | Имя | Акт |
2 | Множественное число | Акты |
3 | Синонимы | Акт |
4 | Описание | ID сопроводителя, ID акта, ID организации, Дата оформления. |
5 | Уникальный идентификатор (ключ) | ID сопроводителя, ID акта. |
6 | Связи | Сопроводитель подписывает акт, иногда акт оформляется по заявке, акт подписывает организация, по выполнению работы подписывается акт. |
Атрибуты сущности :
- ID сопроводителя;
- ID акта;
- ID организации;
- Дата оформления;
- Акт;
- План сопровождения;
- Работа;
- Акт по заявке;
- Сопроводитель;
- Организация.
Акт по заявке
№ | Параметр | Описание |
1 | Имя | Акт по заявке |
2 | Множественное число | Акты по заявкам |
3 | Синонимы | нет |
4 | Описание | ID акта, ID заявки. |
5 | Уникальный идентификатор (ключ) | ID акта. |
6 | Связи | Если организация оставляет заявку тогда акт оформляется по заявке. |
- ID акта;
- ID заявки;
- Заявка;
- Акт.
Данные сущности, связи между ними и характеризующие их атрибуты представлены в Приложении 1.
Глава 4. Построение логической модели.
Методология логического проектирования.
Логическое проектирование баз данных – это процесс конструирования общей информационной модели предприятия на основе отдельных моделей данных пользователей, которая является независимой от особенностей реально используемой СУБД и других физических условий. Построение логической модели данных осуществляется на основе концептуальной модели данных, отражающей представление отдельного пользователя о предметной области приложения, и включает в себя проверку полученной модели с помощью методов нормализации. Доработка концептуальной модели проводится с целью удаления из них всех элементов, затрудняющих реализацию данной модели в среде реляционных СУБД. В результате выполнения этих действий структура концептуальной модели данных будет изменена таким образом, чтобы полностью отвечать требованиям, выдвигаемым реляционной моделью организации баз данных.
При переходе от концептуальной модели к логической осуществляются следующие действия:
Проверка на дублирование сущностей и удаление выявленных дубликатов;
Рассматриваются возможность введения в модель слабых сущностей;
Все связи n:m заменяются на 1:n, что подразумевает введение слабой сущности, с которой устанавливаются связи между ней и ранее связанными n:m сущностями.
Слабая сущность вводится также при наличии связи 1:n и при модальности «может» со стороны дочерней сущности, так как первичный ключ не должен содержать NULL. В ключ слабой сущности могут входить ключи сильных сущностей и дополнительные сущности. Удаляются избыточные связи. Удаляются все вычисляемые атрибуты.