Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

База данных / examen / conceptual_model_пример

.pdf
Скачиваний:
39
Добавлен:
18.03.2015
Размер:
198.15 Кб
Скачать

1

Лекция 5. Разработка концептуальной модели Предметной Области на учебном примере.

5.1

Постановка задачи............................................................................................................................

1

5.2

Определение сущностей, свойств и связей. ...................................................................................

1

5.2.1 Определение сущностей............................................................................................................

1

5.2.2 Определение связей...................................................................................................................

3

5.2.3 Определение ограничений на объекты во внешнем представлении.....................................

6

5.2.4 Определение основных операций над данными.....................................................................

6

5.3

Еще один пример..............................................................................................................................

7

5.4

Построение концептуальной схемы по имеющимся внешним схемам. ......................................

7

5.1 Постановка задачи

Пусть в некотором внешнем представлении выполняется описание поставок товаров на склад.

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

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

Выходные данные: информация о товаре, информация о поставщике, информация о размещении и количестве разных товаров на складе, возможно, некоторая другая информация.

Имея такое неформальное описание внешнего представления, выполним концептуальное проектирование данного внешнего представления.

Согласно п.3.2 лекции 3, данная задача выполняется за 5 шагов, с нужным числом итераций.

5.2 Определение сущностей, свойств и связей.

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

5.2.1 Определение сущностей

Входные данные предполагают, что центральным в данном внешнем представлении будет тип сущностей ПОСТАВКА.

В первом приближении тип сущностей ПОСТАВКА характеризуется такими свойствами (см.

Рис. 5.1)

2

ПОСТАВКА

Цена ед. товара

 

 

Ед. измерения

Код_поставки

Дата_поставки

Название_поставщика

Тип_склада

 

и

Адрес_поставщика

 

Название товара

 

Количество поставленного товара

Рисунок 5.1-Исходный тип сущностей ПОСТАВКА

Недостаток: при такой концептуальной схеме вся информация связана, т.е. информацию об отдельном поставщике, который в данной поставке не участвует, получить нельзя, более того, при внесении новой поставки от того же поставщика все данные о поставщике будут повторно внесены, это может быть источником ошибок при работе оператора, вносящего данные, а также возникнет избыточность при хранении данных. Поэтому, выделим тип сущностей ПОСТАВЩИК, и его свойствами будут название поставщика и его адрес. Поскольку ПОСТАВЩИК может участвовать в нескольких ПОСТАВКАХ, то между двумя типами сущностей возникает связь 1:M. (см. Рис. 5.2). Однако и такая внешняя схема

 

 

1,N

 

1,1

 

ПОСТАВЩИК

участвует

ПОСТАВКА

 

 

 

 

 

 

 

 

 

 

 

 

 

Код_поставщика Название_поставщика Адрес_поставщика

Код_поставки Название товара

Количество поставленного товара Цена ед. товара Ед. измерения Дата_поставки

Тип_склада

и

Рисунок 5.2 - Уточнение внешней схемы. Тип сущностей ПОСТАВЩИК. обладает недостатками: нельзя выдать информацию о товаре, если он отсутствует в поставке.

3

Код_поставки

Количество поставленного товара

 

 

 

 

Дата_поставки

 

 

 

 

Тип_склада

 

 

 

 

и

ПОСТАВЩИК

1,N

участвует

1,1

ПОСТАВКА

 

 

 

 

 

 

1,1

Код_поставщика

 

 

 

Название_поставщика

 

 

был поставлен

Адрес_поставщика

1,M

ТОВАР

Код_товара

Название товара

Цена ед. товара

Ед. измерения

Рисунок 5.3 - Добавление типа сущностей ТОВАР

Поэтому, выделим тип сущностей ТОВАР, его свойствами будут: название товара, ед. измерения, цена ед. товара. Поскольку один экземпляр типа сущностей ТОВАР может участвовать в нескольких экземплярах ПОСТАВОК, но в каждом экземпляре ПОСТАВКИ присутствует только один ТОВАР, то между двумя типами сущностей возникает связь 1:M. (см. Рис. 5.3)

Замечание:

При определении типов сущностей ПОСТАВЩИК и ТОВАР мы неявно добавили по одному свойству к каждому типу: "код_поставки" и "код_товара", и сделали их первичными ключами. Как известно, в концептуальном моделировании с помощью диаграмм Чена, каждый тип сущностей (в том числе и слабая сущность) должен обладать первичным ключом. Поэтому часто, чтобы не делать первичным ключом длинную текстовую строку, вводят дополнительный атрибут, основная задача которого - быть уникальным идентификатором экземпляра типа сущностей.

5.2.2 Определение связей

Типов связей “Участвует” и “Был поставлен” недостаточно для того, чтобы выдавать информацию такого вида:

“Какие товары может поставлять отдельный поставщик” “Какие поставщики могут поставлять данный товар”

Ключевое слово “может” подсказывать, что связи будут необязательными, т.е. типа 0:M. Изменим внешнюю схему с учетом последних требований (см. Рис.5.4)

Код_поставщика Название_поставщика Адрес_поставщика

4

Код_поставки Количество поставленного товара Дата_поставки

Тип_склада

и

ПОСТАВЩИК

1,N

участвует

1,1

ПОСТАВКА

 

 

0,N

0,N

 

 

1,1

 

 

 

 

 

 

 

был поставлен

 

 

Может

0,M

1,M

 

 

 

 

 

поставлять

 

ТОВАР

 

 

 

0,M

Код_товара

Может быть

 

Название товара

 

 

поставлен

 

 

Цена ед. товара

Ед. измерения

Рисунок 5.4 - Добавление типа сущностей ТОВАР

Почти всегда существует более одного варианта построения внешних и концептуальной схем даже для одной и той же задачи.

Например, так может выглядеть второй вариант построения внешней схемы (см. Рис.5.5):

0,N

Возможные

поставки

0,M

Код_поставщика Название_поставщика Адрес_поставщика

ПОСТАВЩИК 1,M

Реальные

поставки

ТОВАР 1,M

Код_товара 1,M

Название товара

Цена ед. товара

Ед. измерения

5

Код_поставки

Количество поставл. товара

Дата_поставки

Тип_склада

и

Рисунок 5.5 - Другой вариант внешней схемы

Сразу определяются два типа сущностей ПОСТАВЩИК и ТОВАР, их первичные ключи, и описательные атрибуты.

Типы связей могут быть такими:

ПОСТАВЩИК “поставляет несколько" ТОВАРОВ (вообще , а не в конкретный момент); ТОВАР "поставляется несколькими" ПОСТАВЩИКАМИ (возможно, разными). В такой интерпретации появляется связь M:N “Реальные Поставки” для фиксации уже произведенных поставок (класс принадлежности: обязателен с двух сторон ). ПОСТАВЩИК "может поставить несколько" ТОВАРОВ и ТОВАР "может быть поставлен несколькими" ПОСТАВЩИКАМИ. Для фиксации таких возможных зависимостей появляется связь M:N “Возможные поставки”, класс принадлежности которой - необязателен с двух сторон).

Комментарий: ”Реальные поставки” (как, впрочем, и ”Возможные поставки”) могут рассматриваться как агрегированные объекты. В данном примере "Реальные поставки" может рассматриваться как агрегированный объект - процесс, в котором участвуют ПОСТАВЩИКИ и ТОВАРЫ. Этот объект имеет набор свойств, характерный для типа сущности ПОСТАВКА в первом варианте внешней схемы.

6

Таким образом, можно сформулировать общий вывод:

Внешние и концептуальные схемы одной и той же предметной области могут иметь разные ER-диаграммы.

Сущности могут стать связями или свойствами, и наоборот. Критерий выбора – понятность, удобство модификации, корректность полученной схемы.

5.2.3 Определение ограничений на объекты во внешнем представлении

Определим ограничения на значения атрибутов выделенных типов сущностей.

Тип сущностей "ПОСТАВКА":

Все атрибуты являются обязательными, единичными, статическими.

Код_поставки - натуральное число от 1 до 9999, обозначающие порядковый номер приходной накладной.

Количество_поставленного_товара - натуральное число от 1 до 999999. Дата_поставки - дата в виде дд_мм_гггг.

Код_склада - натуральное число от 1 до 9.

Тип сущностей "ПОСТАВЩИК":

Все атрибуты являются обязательными, единичными, статическими.

Код_поставщика - натуральное число от 1 до 999, обозначающее порядковый номер поставщика в списке.

Название_поставщика - текст, 50 символов. Адрес_поставщика - текст, 50 символов.

Тип сущностей "ТОВАР":

Все атрибуты являются обязательными, единичными, статическими.

Код_товара - натуральное число от 1 до 999, обозначает порядковый номер товара в списке.

Название товара - текст, 25 символов.

Цена_единицы_товара - вещественное число, формат 999999,999. Ед_измерения - текст, 10 символов.

5.2.4Определение основных операций над данными

Вданной предметной области типичные операции могут быть такие: Операция 1. Оформление новой поставки.

Операция 2. Внесение данных о новом поставщике.

Операция 3. Внесение данных о новом товаре.

Операция 4. Внесение данных обо всех возможных товарах, поставляемых данным поставщиком.

Для каждой операции создается такая таблица (см. например, Табл. 1.):

Таблица 1. – Характеристики для Операции 1.

7

Название

Тип

Частота

Сущности

Сколько

Тип доступа

операции

(I–интерак-

выпол-

 

экземпляров

(R – чтение,

 

тивный

нения

 

 

W - запись)

 

B

 

 

 

 

 

пакетный)

 

 

 

 

Операция

I

50 / день

Поставка

1

W

1

 

 

Товар

1

R

 

 

 

Поставщи

1

R

 

 

 

к

 

 

5.3 Еще один пример

Пусть существует внешнее представление, в котором описан сбыт товаров со склада. Предполагается, что каждый товар можно продать один раз, но за одну операцию продажи можно продать несколько товаров. Сформируем внешнюю схему представления СБЫТА (см.

Рис.5.6):

ТОВАР

1,1

Был

1,M

ПРОДАЖА

 

 

 

 

продан

 

 

Код_товара

 

 

 

Код_продажи

Название товара

 

 

Название_покупателя

Цена ед. товара

 

 

Название товара

Ед. измерения

 

 

Способ_доставки

 

 

 

 

Отпускная_цена

 

 

 

 

Дата_продажи

Рисунок 5.6 - Внешняя схема для задачи о сбыте

5.4 Построение концептуальной схемы по имеющимся внешним схемам.

Для этого рассмотрим типы сущностей:

1.В двух внешних представлениях участвует тип ТОВАР, причем в разных представлениях есть лишь часть всей информации о ТОВАРЕ, следовательно, в концептуальной схеме создается тип сущностей ТОВАР, обобщающий всю информацию из внешних схем.

2.В типе сущностей ПОСТАВКА используется свойство “код_склада”. Очевидно, что для учета поставок на все склады предприятию необходимо создать тип сущностей СКЛАД.

3.Различают товары промышленные и продовольственные, в свою очередь, эти категории разделяются на подкатегории (например, продовольственные – хлебобулочные, молочные или промышленные – оргтехника, и т.д.). Для ускорения поиска товара с нужными свойствами, точной идентификации товара, и возможности создания отчетов по каждой категории товаров, вводится вспомогательная сущность КАТЕГОРИИ ТОВАРОВ. См. Рис.5.7 или более развернутый пример на Рис 5.8.

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

СКЛАД

 

Код_склада

 

 

Название_складаа

 

1,1

Адрес_склада

 

 

Код_поставщика Название_поставщика Адрес_поставщика

ПОСТАВЩИК 1,N

на склад

участвует

0,N 0,N

Может

поставлять

8

 

Код_поставки

 

Количество поставленного товара

 

Дата_поставки

1,1

Продать_до

и

1,1

ПОСТАВКА

 

1,1

был поставлен

1,N

Норма_запаса

0,M

 

ТОВАР

На_складе

0,1

 

0,M

Может быть

1,1

поставлен

 

был продан

Относится к

1,M

Код_товара Название товара Цена ед. товара Ед. измерения

0,M

КАТЕГОРИИ

Код_категории

Название

ПРОДАЖА

Код_продажи Количество Дата_продажи

Отпускная цена

и

Способ_доставки Название_покупателя Адрес_покупателя

9

кодМенеджера

 

 

 

МЕНЕДЖЕР

1,M

 

 

 

ФИО

 

 

 

1,M

 

 

 

 

 

 

 

 

 

едИзм

 

 

 

 

 

 

оформляет

 

 

ЕД.ИЗМЕР.

1,M

имеет

 

оформляет

 

 

 

 

 

 

 

номерПН

покупку

 

 

1,1

 

продажу

 

 

 

 

 

номерРН

 

 

 

 

 

 

дата

 

 

 

номенклНомер

 

 

 

 

 

 

НоменклНомер+

дата

 

 

 

 

 

 

 

1,1

 

название

ТОВАР

 

едИзм

 

1,1

 

 

 

 

 

 

 

 

 

 

ПРИХОДНАЯ

 

количество

1,M

1,M

 

количество

РАСХОДНАЯ

НАКЛАДНАЯ

 

 

 

 

отпЦена

НАКЛАДНАЯ

 

1,M

вхЦена

 

 

 

 

1,M

1,1

1,1

 

 

 

 

 

 

 

Поступил

Отпускается

 

 

 

 

 

 

 

 

 

формирует

 

по

 

по

формирует

 

 

приход

 

 

 

 

расход

 

 

 

1,1

1,1

 

 

1,1

1,1

 

 

участвует

 

ПРИХОДНЫЙ

 

РАСХОДНЫЙ

 

оформляет

в поставке

 

СКЛАДСКОЙ

 

СКЛАДСКОЙ

 

покупку

 

 

ОРДЕР

 

 

 

ОРДЕР

 

 

 

 

1,1

 

 

 

 

1,1

 

 

 

номерПСО

 

 

на

 

со

 

номерРСО

 

 

дата

 

 

 

 

дата

 

1,M

 

 

1,M

1,M

 

 

1,M

 

 

 

 

 

 

ПОСТАВЩИК

 

 

СКЛАД

 

 

ПОКУПАТЕЛЬ

кодПоставщика

 

 

кодСклада

 

 

 

кодПокупателя

НазваниеПоставщика

 

 

НазваниеСклада

 

 

 

НазваниеПокупателя

АдресПоставщика

 

 

типСклада

 

 

 

АдресПокупателя

телефон

 

Рисунок 5.8 – Развернутая ER-диаграмма для БД «Учет товаров на складе»

телефон

 

 

 

Соседние файлы в папке examen