Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ITU.doc
Скачиваний:
104
Добавлен:
09.02.2015
Размер:
3.52 Mб
Скачать

2.3. Пример выполнения задания2

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

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

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

  1. ТИП;

  2. ТОВАР;

  3. ПОСТАВЩИК;

  4. КЛИЕНТ;

  5. Сотрудники;

  6. ЗАКАЗ;

  7. ЗАКАЗАНО;

  8. ДОСТАВКА.

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

Основным объектом учета в нашей информационной системе будет товар, вот почему прежде всего нам необходимо ввести сущность «Товар», который будет характеризоваться уникальным кодом товара, а также набором атрибутов: наименование товара, цена, единица измерения и сведения о поставщике и о категории товара.

Чтобы упорядочить учет товаров, а также наладить работу с поставщиками товара, нам необходимо ввести сущности «Типы» и «Поставщики», которые будут связаны с сущностью «Товары» отношением «один-ко-многим». В одной категории товаров, например, кондитерские изделия, могут присутствовать множество товаров. Один поставщик может поставлять множество товаров.

Теперь нам необходимо определить, как в нашей системе будут представлены продавцы. Естественно предположить ввести для этого сущность «Сотрудники», каждый экземпляр которой будет соответствовать конкретному сотруднику фирмы. Каждому сотруднику присваивается уникальный номер, который будет однозначно его идентифицировать и являться ключевым атрибутом. Кроме того, в сущности Сотрудники должны присутствовать дополнительные атрибуты, которые требуются для решения поставленных задач: Фамилия, Имя, должность и т.д.

Сотрудники оформляют продажу товаров клиентам, обратившимся в фирму «Борей». Поэтому нам необходимо обеспечить ведение клиентской базы, которая впоследствии может послужить основой для разработок маркетинговых стратегий. Итак, мы вводим в проект сущность «Клиент». Информация о каждом Клиенте включает: наименование клиента, адрес, телефон и др. Таким образом, атрибутами сущности КЛИЕНТ являются «УНИКАЛЬНЫЙ КЛЮЧ КЛИЕНТА», «НАИМЕНОВАНИЕ КЛИЕНТА», «АДРЕС КЛИЕНТА» и т.д.

Каждый сотрудник может оформлять продажи множеству клиентов; с другой стороны, каждый клиент может быть обслужен множеством сотрудников. Таким образом, между сущностями «Сотрудники» и «Клиенты» существует связь «многие-ко-многим» (М:М), для реализации которой вводим связующую сущность «Заказ». Сущности «Клиенты» и «Заказ» связаны отношением «один-ко-многим» (1:М), так как один клиент может множество раз обращаться в фирму «Борей», делая заказы. Также отношением «один-ко-многим» (1:М) связаны сущности «Сотрудники» и «Заказ», так как один и тот же сотрудник может оформлять множество заказов.

Теперь рассмотрим атрибуты сущности «Заказ», содержащие сведения о дате заказа, клиенте, продавце, способе доставки заказа и т.д. Каждому заказу присваивается уникальный код заказа.

В каждый заказ может входить определенный перечень заказанных товаров и их количество, между сущностями «Товар» и «Заказ» также присутствует связь «многие-ко-многим» (М:М), так как один заказ может включать в себя множество товаров, но и один и тот же товар может присутствовать во множестве заказов. Для реализации связи «многие-ко-многим» вводим дополнительную сущность «Заказано», в которой будут присутствовать сведения о заказе, товаре и количестве заказанных товаров. Сущности «Заказ» и «Заказано» связаны отношением «один-ко-многим» (1:М), так как в один заказ может входить несколько товаров, например, молоко, колбаса, хлеб. Также отношением «один-ко-многим» (1:М)связаны сущности «Товар» и «Заказано», так как один и тот же товар, например хлеб, может заказываться многократно.

Из описания предметной области мы знаем, что фирма «Борей» обеспечивает доставку сделанного клиентом заказа. Следовательно, нам следует ввести еще сущность «Доставка», каждый экземпляр которой будет однозначно идентифицироваться кодом доставки – ключевым атрибутом сущности. Кроме того, в сущности «Доставка» должны присутствовать дополнительные атрибуты: Наименование и Стоимость. Между сущностями «Заказ» и «Доставка» установлена связь «один-ко-многим» (1:М), так как один и тот же способ доставки, например автотранспортом, может присутствовать во множестве заказов.

Инфологическая модель представлена на рисунке 2.9.

Рис. 2.9. Инфологическая модель предметной области

Теперь мы можем получить нормализованные таблицы на основе ER-диаграммы предметной области [2, с. 129–134]: каждая сущность и каждая связь выделяется в отдельную таблицу; таблица, отражающая сущность, хранит экземпляры сущности, т.е. записи; свойства сущности, называемые атрибутами, хранятся в полях (столбцах) таблицы (сущность); таблица, отражающая связь, хранит связи между конкретными экземплярами сущностей.

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

Теперь нам осталось подготовить содержимое каждой таблицы без указания ее структуры. Например, содержимое таблицы Товары будет выглядеть так, как показано в таблице 2.1, а таблицы Типы – в таблице 2.2.

Отчет должен содержать: тему и цель работы, задание к работе, инфологическую и логическую модели предметной области и содержимое таблиц.

Рис. 2.10. Логическая модель

Таблица 2.1

Товары

Код

Товара

Марка

Код

Поставщика

Единица

измерения

Цена, руб.

1

Genen Shouyu

1

24 бутылок по 250 мл

697,50

2

Pavlova

2

32 коробок по 500 г

785,25

3

Alice Mutton

3

20 банок по 1 кг

1 755,00

4

Carnarvon Tigers

3

16 кг упаковка

2 812,50

5

Teatime Chocolate Biscuits

2

10 коробок по 12 шт.

414,00

Таблица2.2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]