Задание 3 информатика. Задание_3_Квашенко. Описание предметной области
Скачать 27.89 Kb.
|
Описание предметной области. Оптовый магазин закупает товар по цене закупки и продает его по цене продажи. Цена продажи может изменяться в процессе реализации товара. Разница между ценой продажи и ценой закупки каждой единицы товара составляет доход магазина от реализации товара. При продаже каждой единицы товара указывается вид товара, продавец, дата продажи, цена продажи, количество проданных единиц товара. В магазине работает несколько продавцов. Каждый продавец получает комиссионное вознаграждение за проданный товар. Процент комиссионного вознаграждения назначается индивидуально каждому продавцу. Анализ описания предметной области позволяет выделить набор атрибутов, которые должны храниться в проектируемой базе данных: Наименование товара. Единица измерения товара. Цена закупки единицы товара. Цена продажи единицы товара. Дата продажи. Количество проданных единиц товара. ФИО продавца. Процент комиссионных. Исходя из набора атрибутов, которые должны храниться в базе данных, можно выделить два информационных объекта (ИО): ТОВАРЫ (наименование, единица измерения, цена закупки единицы, цена продажи единицы, количество проданных единиц) и ПРОДАВЦЫ (ФИО, процент комиссионных). При выделении ИО нужно из числа заданных атрибутов отнести к данному ИО только те атрибуты, которые характеризуют данный объект и не зависят от других ИО. Так, атрибут «ФИО» характеризует продавца и не зависит от проданных товаров. Аналогично атрибут «Наименование» характеризует только товар и не зависит от продавца. Заметим, что атрибут «Дата продажи» не включен ни в один ИО, поскольку не является характеристикой ни одного из них. Определим соответствующие таблицы «ТОВАРЫ» и «ПРОДАВЦЫ», включив в них поля, соответствующие атрибутам соответствующих ИО. Отметим, что ни одно из первоначально включенных в таблицу «ПРОДАВЦЫ» полей не определяет однозначно каждую запись таблицы и может содержать повторяющиеся значения, то есть не может служить первичным ключом. Введем в таблицу поле «Код продавца», значения в котором будут уникальными для каждого продавца. Это поле будет первичным ключом таблицы «ПРОДАВЦЫ». С этой же целью в таблицу «ТОВАРЫ» введем первичный ключ «Код товара» (рис. 1):
Рис.1. Таблицы «ПРОДАВЦЫ» и «ТОВАРЫ» В таблице «ПРОДАВЦЫ» будут храниться записи следующего вида:
В таблице «ТОВАРЫ» будут храниться записи следующего вида:
Один продавец может продать различные товары. Один и тот же товар может быть продан разными продавцами. Между таблицами «ПРОДАВЦЫ» и «ТОВАРЫ» должна быть установлена связь типа «многие-ко-многим». Для организации такой связи потребуется новая таблица, в которую ключевые поля связываемых таблиц «Код товара» и «Код продавца» войдут как внешние ключи. Такой таблицей в нашем случае может быть таблица «ПРОДАЖИ». Данные в эту таблицу будут заноситься при осуществлении продажи товара тем или иным продавцом. Из первоначального перечня атрибутов в нее войдет атрибут «Дата продажи». В таблице «ПРОДАЖИ» определим первичный ключ «Код продажи».
В таблице «ПРОДАЖИ» будут храниться записи вида:
Установим связи между таблицами посредством совпадающих полей в связываемых таблицах (рис. 2). Тип связи между таблицами «ПРОДАВЦЫ» и «ПРОДАЖИ» – «один-ко-многим». Здесь таблица «ПРОДАВЦЫ» находится на стороне отношения «один» и является главной таблицей. Таблица «ПРОДАЖИ» находится на стороне отношения «многие» и является подчиненной таблицей. Таблица «ТОВАРЫ» является главной для связи между таблицами «ТОВАРЫ» и «ПРОДАЖИ» (связь «один-ко-многим»). Связь между таблицами «ПРОДАВЦЫ» и «ТОВАРЫ» относится к типу «многие-ко-многим»:
Рис. 2. Связи между таблицами проектируемой базы данных Определим свойства полей в каждой из таблиц. При выборе имен полей рекомендуется выбирать короткие имена. Типы полей выбираются, исходя из характера информации, которую предполагается в них хранить. Типы полей таблицы «ПРОДАВЦЫ»
Типы полей таблицы «ТОВАРЫ»
Типы полей таблицы «ПРОДАЖИ»
Теперь наша база данных подготовлена к компьютерной реализации. |