Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Пример последовательность разработки простой ER-модели




При разработке ER-моделей необходимо получить следующую информацию о предметной области:

· Список сущностей предметной области.

· Список атрибутов сущностей.

· Описание взаимосвязей между сущностями.

 

ER-диаграммы удобны тем, что процесс выделения сущностей, атрибутов и связей является итерационным.Разработав первый приближенный вариант диаграмм, мы уточняем их, опрашивая экспертов предметной области. При этом документацией, в которой фиксируются результаты бесед, являются сами ER-диаграммы.

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

Например, в ходе беседы с менеджером по продажам, выясняктся, что он (менеджер) считает, что проектируемая система должна выполнять следующие действия:

· Хранить информацию о покупателях.

· Печатать накладные на отпущенные товары.

· Следить за наличием товаров на складе.

Можно выделить все существительные в этих предложениях и это будут потенциальные кандидаты на сущности и атрибуты. Необходимо их проанализировать:

· Покупатель - явный кандидат на сущность.

· Накладная - явный кандидат на сущность.

· Товар - явный кандидат на сущность.

· Склад - явный кандидат на сущность. Но сколько складов имеет фирма? Если несколько, то это будет кандидатом на новую сущность.

· Наличие товара – это, скорее всего, атрибут. Но к какой сущности относится этот атрибут?

 

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

Рис. .

Задав дополнительные вопросы менеджеру, можно выяснить, что фирма имеет несколько складов. Причем, каждый товар может храниться на нескольких складах и быть проданным с любого склада.

Куда поместить сущности "Накладная" и "Склад" и с чем их связать? Это определяется тем, как связаны эти сущности между собой и с сущностями "Покупатель" и "Товар".

Покупатели покупают товары, получая при этом накладные, в которые внесены данные о количестве и цене купленного товара. Каждый покупатель может получить несколько накладных. Каждая накладная обязана выписываться на одного покупателя. Каждая накладная обязана содержать несколько товаров (не бывает пустых накладных). Каждый товар, в свою очередь, может быть продан нескольким покупателям через несколько накладных. Кроме того, каждая накладная должна быть выписана с определенного склада, и с любого склада может быть выписано много накладных. После уточнения, диаграмма будет выглядеть следующим образом:

Рис. .

 

Какие атрибуты имеют выделенные сущности? Это выясняется при опросах сотрудников фирмы. Например, получена следующая информация:

· Каждый покупатель является юридическим лицом и имеет наименование, адрес, банковские реквизиты.

· Каждый товар имеет наименование, цену, а также характеризуется единицами измерения.

· Каждая накладная имеет уникальный номер, дату выписки, список товаров с количествами и ценами, а также общую сумму накладной. Накладная выписывается с определенного склада и на определенного покупателя.

· Каждый склад имеет свое наименование.

 

Можно опять выписать все существительные. Они будут потенциальными атрибутами:

· Юридическое лицо - термин избыточный, так как фирма не работает с физическими лицами.

· Наименование покупателя - явная характеристика покупателя.

· Адрес - явная характеристика покупателя.

· Банковские реквизиты - явная характеристика покупателя.

· Наименование товара - явная характеристика товара.

· Цена товара - это характеристика товара. Но может ли отличаться ли эта характеристика от цены в накладной?

· Единица измерения - явная характеристика товара.

· Номер накладной - явная уникальная характеристика накладной.

· Дата накладной - явная характеристика накладной.

· Список товаров в накладной - список не может быть атрибутом. Нужно выделить этот список в отдельную сущность.

· Количество товара в накладной - явная характеристика. Но это характеристика не просто "товара", а "товара в накладной".

· Цена товара в накладной - явная характеристика. Но опять же это не просто характеристика товара, а характеристика товара в накладной. Цена товара уже была приведена выше. Цена товара и цена товара в накладной - это одно и то же?

· Сумма накладной - явная характеристика накладной. Эта характеристика не является независимой. Сумма накладной равна сумме стоимостей всех товаров, входящих в накладную.

· Наименование склада - явная характеристика склада.

 

В ходе дополнительной беседы с менеджером можно прояснить различные понятия цен. Например, каждый товар имеет некоторую текущую цену. Эта цена, по которой товар продается в данный момент и эта цена может меняться со временем. Цена одного и того же товара в разных накладных, выписанных в разное время, может быть различной.

Таким образом, имеется две цены - цена товара в накладной и текущая цена товара.

Сущности "Накладная" и "Товар" связаны друг с другом отношением типа много-ко-многим. Такая связь должна быть расщеплена на две связи типа один-ко-многим.

Для этого требуется дополнительная сущность. Этой сущностью может являться сущность "Список товаров в накладной".

Связь сущностей "Накладная" и "Список товаров в накладной" (один-ко-многим) может быть охарактеризована следующими фразами - "каждая накладная обязана иметь несколько записей из списка товаров в накладной", "каждая запись из списка товаров в накладной обязана включаться ровно в одну накладную".

Связь сущностей "Товар" и "Список товаров в накладной" (один-ко-многим) может быть охарактеризована следующими фразами - "каждый товар может включаться в несколько записей из списка товаров в накладной", " каждая запись из списка товаров в накладной обязана быть связана ровно с одним товаром".

Атрибуты "Количество товара в накладной" и "Цена товара в накладной" являются атрибутами сущности " Список товаров в накладной".

Аналогично расщепляется связь, соединяющая сущности "Склад" и "Товар". Вводится дополнительная сущность "Товар на складе". Атрибутом этой сущности будет "Количество товара на складе". Таким образом, товар будет числиться на любом складе и количество его на каждом складе будет свое.

На диаграмме это выглядит следующим образом:

Рис. .

Приведенный пример ER-диаграммы является примером концептуальной диаграммы.Это означает, что диаграмма не учитывает особенности конкретной СУБД.

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


Поделиться:

Дата добавления: 2015-09-14; просмотров: 62; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты