Пример построения модели «сущность-связь»

В процессе построения диаграммы "сущность-связь" можно выделить несколько этапов:

1. Определение списка сущностей выбранной предметной области.

2. Определение списка атрибутов сущностей.

3. Описание связей между сущностями (степени, классы принадлежности связей, а также атрибуты связей, если они необходимы).

4. Организация данных в виде диаграммы "сущность-связь".

В качестве примера построим диаграмму, отображающую связь данных для информационной системы учета продажи лекарств в аптеке. БД должна хранить информацию о ЛС, поставляемых в аптеку, их ежедневной продаже, заказах на поставку лекарств, а также о поставщиках ЛС.

Составим список сущностей, необходимых для реализации поставленной задачи:

Лекарственные средства (ЛС)

Для этой сущности необходимы следующие атрибуты:

· Код ЛС – уникальный идентификатор, ключевой атрибут;

· Название ЛС;

· Единица измерения – упаковки (штуки), граммы и т.п.;

· Срок хранения в днях – для определения даты окончания срока годности ЛС;

· Условия хранения – температура, влажность и т.п.

Поставщики

· Код поставщика – уникальный идентификатор, ключевой атрибут;

· Поставщик – название организации или ФИО физического лица;

· Код города – выделим отдельно город, где находится поставщик, для удобства дальнейшей работы (например, для поиска;)

· Адрес – поскольку город выделен в отдельный атрибут, то в адресе остается улица и дом.

Продажи

· Дата продажи;

· Код ЛС – какое именно ЛС было продано;

· Количество – сколько продано этого ЛС в тех единицах измерения, которые указаны для этого ЛС в сущности ЛС;

· Цена продажи – цена при продаже за единицу продукта.

4. Города – поскольку мы выделили отдельно город из адреса поставщика, то возникает необходимость в этой сущности

· Код города – уникальный идентификатор, ключевой атрибут;

· Город

Используя выше перечисленные атрибуты, получим список сущностей:

· Лекарственные средства (Код ЛС, Название ЛС, Единица измерения, Срок хранения в днях, Условия хранения).

· Поставщики (Код поставщика, Поставщик, Код города, Адрес).

· Продажи (Дата продажи, Код ЛС, Количество, Цена продажи). Обратите внимание, что в этой сущности ключ составной, поскольку каждый день продается множество лекарств, и конкретное ЛС может быть продано в разные дни.

· Города (Код города, Город).

Рассмотрим связи, существующие между описанными выше сущностями:

1. ЛС в аптеку поставляются поставщиками, т.е. существует связь M:N (многие-ко-многим) «Поставляют» между сущностями Лекарственные средства и Поставщики. Эта связь имеет следующие атрибуты:

· Дата поставки;

· Код поставщика – какой поставщик поставил этот продукт;

· Код ЛС – какой именно продукт был поставлен;

· КоличествоП – сколько поставлено этого ЛС в тех единицах измерения, которые указаны для этого ЛС в сущности Лекарственные средства;

· Цена поставки – цена при поставке за единицу ЛС;

· Дата изготовления – дата изготовления ЛС. Ключом будет составной атрибут: Дата поставки, Код поставщика, Код ЛС

2. ЛС должны быть заказаны поставщикам, т.е. существует связь M:N (многие-ко-многим) «Заказаны» между сущностями Лекарственные средства и Поставщики. Эта связь имеет следующие атрибуты:

· Дата заказа;

· Код поставщика – какому поставщику заказано это ЛС;

· Код ЛС – какое именно ЛС было заказано;

· КоличествоЗ – сколько заказано этого ЛС в тех единицах измерения, которые указаны для этого ЛС в сущности Лекарственное средство.

Ключом будет составной атрибут: Дата заказа, Код поставщика, Код продукта.

3. В аптеке происходит продажа ЛС, т.е. существует связь N:1 (многие-к-одному) «Происходит» между сущностями Продажи и Лекарственные средства.

4. Поставщики находятся в определенном городе, т.е. существует связь N:1 (многие-к-одному) «Находятся» между сущностями Поставщики и Города.

После объединения всех фрагментов в общую модель и добавления атрибутов, получится диаграмма "сущность-связь", приведенная на Рис. 9.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: