Таблица, содержащая все
необходимые данные заказа
Информация о клиенте
Идентификатор
|
|
Форма представления
|
Таблица
|
Вид представления
|
Документ MS Word, в
соответствии с типовой формой определенной нормативными актами предприятия
(см. Приложение Б).
|
Состав атрибутов
|
ФИО_клиента; Адрес;
Телефон; Дата; Приобретенный_товар; Количество; Единица_измерения
|
Периодичность выдачи
|
По требованию
|
Получатель
|
Пользователь
|
Назначение
|
Таблица, содержащая всю
необходимую информацию о клиенте
|
2.3 Входная информация
В качестве исходных данных система использует следующие документы:
а) ответственное лицо;
б) товар;
в) клиент.
Таблица 1
Ответственное лицо
Идентификатор
|
|
Форма представления
|
Таблица
|
Вид представления
|
Текстовые данные
|
Состав атрибутов
|
ИНН, ФИО;
|
Назначение
|
Таблица, содержащая все
необходимые сведения об ответственном лице
|
Таблица 2
Товар
Идентификатор
|
|
Форма представления
|
Таблица
|
Вид представления
|
Текстовые данные
|
Состав атрибутов
|
Категория; Наименование;
Количество; Стоимость; Дата;
|
Назначение
|
Таблица, содержащая все
необходимые сведения о товаре
|
Таблица 3
Клиент
Идентификатор
|
|
Форма представления
|
Таблица
|
Вид представления
|
Текстовые данные
|
Состав атрибутов
|
ФИО_клиента; Адрес;
Телефон; Дата; Количество; Единица_измерения
|
Назначение
|
Таблица, содержащая всю
необходимую информацию о клиенте
|
3. Проектирование базы данных
.1 Проектирование базы данных методом «Сущность-Связь»
Модель «сущность-связь» (англ. “Entity-Relationship model”), или
ER-модель, предложенная П. Ченом в 1976 г., является наиболее известным
представителем класса семантических (концептуальных, инфологических) моделей
предметной области. ER-модель обычно представляется в графической форме, с
использованием оригинальной нотации П. Чена, называемой ER-диаграмма, либо с
использованием других графических нотаций (Crow's Foot, Information Engineering
и др.).
Основные преимущества ER-моделей:
а) наглядность;
б) модели позволяют проектировать базы данных с большим количеством
объектов и атрибутов;
в) ER-модели реализованы во многих системах автоматизированного
проектирования баз данных (например, ERWin).
Основные элементы ER-моделей:
а) объекты (сущности);
б) атрибуты объектов;
в) связи между объектами.
Сущность - объект предметной области, имеющий атрибуты.
Связь между сущностями характеризуется:
а) типом связи (1:1, 1:N, N:М);
б) классом принадлежности. Класс может быть обязательным и
необязательным. Если каждый экземпляр сущности участвует в связи, то класс
принадлежности - обязательный, иначе - необязательный.
Судя по предметной области автоматизируемой системы, сущностей в системе
будет 4:
а) Ответственное лицо;
б) Заказ;
г) Товар.
Первичные ключи для более удобного использования лучше назначить
суррогатные, к примеру: №_Заказа.
Заказ имеет статус (состояние), уже выполнен или находится на оформлении;
Заказ имеет определенный товар (товары), и эти товары могут также
принадлежать другим заказам;
Купить (заказать) товар может любой клиент, если нет возрастного
ограничения;
За каждым заказом закреплено ответственное лицо.
На основе этих данных можно построить диаграмму ER-типа:
Рисунок 1. Диаграмма ER-типа
Исследование набора отношений на избыточность:
Если степень связи M:N, то генерируем три отношения, по одному на каждую
сущность, ключами отношений будут ключи соответствующей сущности и одно
отношение для связи. Отношение связи среди своих атрибутов должно содержать
ключи связываемых сущностей.
Order_Product:
а)
Order (Order_No, Client_No, INN, Date_O, Order_status)
б)
Product (Product_No, Category, Name_product, Cost, Kolichestvo_products,
Date_P)
в)
Order_Product (Order_No, Product_No, Kolichestvo_orders, Sold_orders,
OrderProduct_No)
Если степень связи 1:N и
класс принадлежности N-связной
сущности является обязательным, то генерируем два отношения. Ключами отношения
будут ключи соответствующей сущности. Кроме того ключ односвязной сущности
добавляется в качестве атрибута в отношение выделенное для N-связной сущности.
Responsible_person- Order:
а)
Responsible_person (INN, Surname, Name, Patronymic)
б)
Order (Order_No, Client_No, INN, Date_O, Order_status)
Client-Order:
а)
Client (Client_No, Surname_C, Name_C, Patronymic_C, Adress, Telephone, Date_C,
Unit)
б)
Order (Order_No, Client_No, INN, Date_O, Order_status)
Набор предварительных отношений является избыточным, т.к. существует
отношения, множество атрибутов которого являлось бы подмножеством атрибутов
другого отношения данного набора. Следовательно, предварительный набор
отношений не является окончательным. Тогда окончательным набором будет:
а) Order
(Order_No, Client_No, INN, Date_O, Order_status)
б) Product
(Product_No, Category, Name_product, Cost, Kolichestvo_products, Date_P)
в) Order_Product
(Kolichestvo_orders, Sold_orders, OrderProduct_No, Order_No, Product_No)
г) Responsible_person
(INN, Surname, Name, Patronymic)
д)
Client
(Client_No, Surname_C, Name_C, Patronymic_C, Adress, Telephone, Date_C, Unit)
3.2 Проектирование базы данных с помощью CASE-средств
(англ. Computer-Aided Software Engineering) - набор инструментов и
методов программной инженерии для проектирования программного обеспечения,
который помогает обеспечить высокое качество программ, отсутствие ошибок и
простоту в обслуживании программных продуктов.
Также под CASE понимают совокупность методов и средств проектирования
информационных систем с использованием CASE-инструментов. В нашем случае CASE-средством является программа ERwin.
.2.1 Коротко о IDEF1X (Information Modeling) - одна из методологий
семейства IDEF. Применяется для построения информационной модели, которая
представляет структуру информации, необходимой для поддержки функций
производственной системы или среды.
Метод IDEF1, разработанный Т. Рэмей (T. Ramey), также основан на подходе
П. Чена и позволяет построить модель данных, эквивалентную реляционной модели в
третьей нормальной форме. В настоящее время на основе совершенствования
методологии IDEF1 создана ее новая версия - методология IDEF1X. IDEF1X
разработана с учетом таких требований, как простота изучения и возможность
автоматизации. IDEF1X-диаграммы используются рядом распространённых
CASE-средств (в частности, ERwin, Design/IDEF).
автоматизированный информационный база данный
3.2.2 Построение логической модели
Рисунок 2. Логическая модель БД
.2.3 Построение физической модели
Рисунок 3. Физическая модель
3.3 Тестирование информационной модели с помощью CASE-средств
.3.1 Исходный протокол
Необходимо проанализировать найденные ошибки и, по возможности,
исправить их. Найдена ошибка: Undefined Alternate Keys, т. е. таблица
имеет суррогатный первичный ключ и не имеет альтернативного ключа. Эта ошибка
является допустимой.
Создание БД в СУБД
database if exists TABLE_OF_ORDERS;database
TABLE_OF_ORDERS;TABLE_OF_ORDERS;TABLE Client
(_No INTEGER NOT NULL,_C VARCHAR(50) NOT NULL,_C VARCHAR(50)
NOT NULL,_C VARCHAR(50) NOT NULL,VARCHAR(100) NOT NULL,VARCHAR(50) NOT NULL,_C
DATE NOT NULL,VARCHAR(20) NOT NULL
);TABLE ClientPRIMARY KEY (Client_No);TABLE Orders
(_No INTEGER NOT NULL,_O DATE NOT NULL,INTEGER NOT NULL,_No
INTEGER NOT NULL,_status VARCHAR(20) NULL
);TABLE OrdersPRIMARY KEY (Order_No);TABLE Order_Product
(_No INTEGER NOT NULL,_No INTEGER NOT NULL,_order DOUBLE NOT
NULL,_products INTEGER NULL,_No DOUBLE NOT NULL
);TABLE Order_ProductPRIMARY KEY (OrderProduct _No);TABLE
Product
(_No INTEGER NOT NULL,VARCHAR(50) NOT NULL,_product
VARCHAR(100) NOT NULL,DOUBLE NOT NULL,_products FLOAT NOT NULL,_P DATE NOT NULL
);TABLE ProductPRIMARY KEY (Product_No);TABLE
Responsible_person
(INTEGER NOT NULL,VARCHAR(50) NOT NULL,VARCHAR(50) NOT
NULL,VARCHAR(50) NOT NULL
);TABLE Responsible_personPRIMARY KEY (INN);TABLE
OrdersFOREIGN KEY R_1 (INN) REFERENCES Responsible_person
(INN);TABLE OrdersFOREIGN KEY R_3 (Client_No) REFERENCES
Client (Client_No);TABLE Order_ProductFOREIGN KEY R_2 (Order_No) REFERENCES
Orders (Order_No);TABLE Order_ProductFOREIGN KEY R_5 (Product_No) REFERENCES
Product
(Product_No);view IF exists BEST_EMPLOYEES_OF_THE_MONTH;
//представление «Лучшие работники месяца»VIEW
BEST_EMPLOYEES_OF_THE_MONTHResponsible_person.INN, Responsible_person.Surname,
_person.Name, Responsible_person.Patronymic,
_Product.Kolichestvo_orderResponsible_personJOIN ((Orders INNER JOIN
Order_ProductOrders.Order_No = Order_Product.Order_No)JOIN Product ON
Order_Product.Product_No = .Product_No)Responsible_person.INN = Orders.INNBY
Order_Product.Kolichestvo_order DESC;view IF exists TOP_10_PRODUCTS; // представление «ТОП-10
товаров»VIEW
TOP_10_PRODUCTSProduct.Name_product, Order_Product.Kolichestvo_orderOrdersJOIN
(Product INNER JOIN Order_Product ON .Product_No =
Order_Product.Product_No)Orders.Order_No = Order_Product.Order_NoBY
Order_Product.Kolichestvo_order DESC10;procedure if exists ordered_products; //
получение таблицы
заказанных товаров для отчета «Данные заказа»
delimiter //procedure ordered_products(IN op datetime) // параметр op - дата
заказаProduct.Category,
Product.Name_product, .Kolichestvo_products, Order_Product.Sold_products,
Product.Cost(Product INNER JOIN Order_ProductProduct.Product_No =
Order_Product.Product_No)JOIN OrdersOrder_Product.Order_No =
Orders.Order_NoOrders.Date_O=op;//procedure if exists purchased _products; получение таблицы
приобретенных товаров для отчета «Информация о клиенте»
delimiter //procedure purchased_products(IN sname
varchar(50), namec (50), pname varchar(50)) // параметры sname, namec, pname -
ФИО клиентаProduct.Category,
Product.Name_product, .Kolichestvo_products, Order_Product.Sold_products,
Product.CostClient INNER JOIN ((Product INNER JOIN
Order_ProductProduct.Product_No = Order_Product.Product_No)JOIN Orders ON
Order_Product.Order_No = Orders.Order_No)Client.Client_No =
Orders.Client_NoClient.Surname_C=sname And Client.Name_C=namec And
.Patronymic_C=pname;//select, insert, update, delete, execute on
TABLE_OF_ORDERS.* to @'%'
identified by 'manager'; //
создание учетной записи
пользователя «Manager» и назначение
требуемых прав
Заключение
Цель курсовой работы полностью достигнута. Мною спроектирована база, в
соответствии с предметной областью. Разработана автоматизированная
информационная система “Стол заказов” для учета регистрации заказов и информации
о клиентах, ответственных лицах и товарах. При написании курсовой работы, я как
проектировщик, не только достиг первоначальной цели - создания
автоматизированной информационной системы, но и улучшил навыки работы в области
баз данных и программировании.
1. Ахтырченко К.В., Леонтьев В.В. Распределенные объектные технологии в
информационных системах// СУБД №5-6. - Москва, 1997, С. 52-64.
2. Базы данных: Учебник для высших учебных заведений /Под ред. проф.
А.Д. Хомоненко. - Спб.: КОРОНА принт, 2000. -416 с. Стр. 147-161.
. Гусева Т.И., Башин Ю.Б. Проектирование баз данных в примерах и
задачах. - М.: Радио и связь, 1992. - 160 с., ил.
. Дейт К. Введение в системы баз данных. - К.: Диалектика, 1998.
. Джеймс Р. Грофф, Пол Н. Вайнберг SQL Полное руководство. - Киев: BHV, Ирина, 2001.
. Джексон Г. Проектирование реляционных баз данных для
использования с микро - ЭВМ. - М.: Мир, 1991.
. Карпова Т.С. Базы данных: модели, разработка, реализация. -
СПб.: Питер, 2001. - 304с.
8. Кузнецов
С. “Основы современных баз данных”. Центр Информационных Технологий
9. Ребекка Райордан Основы реляционных баз данных. - М.: Русская
редакция, 2001. - 384с.
10. Хансен Г., Хансен Д. Базы данных: разработка и уравление. - М.:
БИНОМ, 1999.
Приложение А
Данные заказа
Дата заказа
ФИО ответственного лица
Заказанный товар:
Категория
|
Товар
|
Название
|
Количество
|
Единица измерения
|
Стоимость
|
|
|
|
|
|
|
Приложение Б
Информация о клиенте
ФИО клиента
Адрес
Телефон
Дата
Приобретенный товар
КатегорияТоварНазваниеКоличествоЕдиница
измеренияСтоимость
|
|
|
|
|
|
|
|
|
|
|
|
Похожие работы на - Разработка базы данных ER-методом для заданной области
|