Разработка базы данных ER-методом для заданной области

Автор работы: Пользователь скрыл имя, 16 Декабря 2014 в 08:26, курсовая работа

Описание работы

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

Содержание работы

Введение…………………………………………………………………………...3
1. Описание предметной области………………………………………………..4
2. Описание постановки задачи………………………………………………….5
2.1 Характеристики комплекса задач…………………………………………..5
2.2 Выходная информация………………………………………………………5
2.3 Входная информация…………………………………………………………7
3. Проектирование БД…………………………………………………………..9
3.1 Проектирование БД методом «Сущность-связь»………………………….9
3.2 Проектирование БД с помощью CASE-средств…………………………...12
3.2.1 IDEF 1X……………………………………………………………………12
3.2.2 Построение логической модели………………………………………….13
3.2.3 Построение физической модели …………………………………………13
3.3 Тестирование информационной модели с помощью CASE-средств……..14
4. Создание БД в СУБД………………………………………………………….16
Заключение……………………………………………………………………….19
Список источников………………………………………………………………20

Файлы: 1 файл

стол_заказов_ver3.docx

— 144.38 Кб (Скачать файл)

в) 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-средств

CASE (англ. Computer-Aided Software Engineering) — набор инструментов и методов программной инженерии для проектирования программного обеспечения, который помогает обеспечить высокое качество программ, отсутствие ошибок и простоту в обслуживании программных продуктов.

Также под CASE понимают совокупность методов и средств проектирования информационных систем с использованием CASE-инструментов. В нашем случае CASE-средством является программа ERwin.

3.2.1 Коротко о IDEF1X.

IDEF1 (Information Modeling) — одна из методологий семейства IDEF. Применяется для построения информационной модели, которая представляет структуру информации, необходимой для поддержки функций производственной системы или среды.

Метод IDEF1, разработанный Т. Рэмей (T. Ramey), также основан на подходе П. Чена и позволяет построить модель данных, эквивалентную реляционной модели в третьей нормальной форме. В настоящее время на основе совершенствования методологии IDEF1 создана ее новая версия — методология IDEF1X. IDEF1X разработана с учетом таких требований, как простота изучения и возможность автоматизации. IDEF1X–диаграммы используются рядом распространённых CASE–средств (в частности, ERwin, Design/IDEF).

 

 

 

 

 

 

3.2.2 Построение логической модели

Рисунок 2. Логическая модель БД

 

 

3.2.3 Построение физической модели

Рисунок 3. Физическая модель

 

 

 

 

 

 

 

 

3.3 Тестирование информационной модели с помощью CASE-средств

3.3.1 Исходный протокол

 

Необходимо проанализировать найденные ошибки и, по возможности, исправить их. Найдена ошибка: Undefined Alternate Keys, т. е. таблица имеет суррогатный первичный ключ и не имеет альтернативного ключа. Эта ошибка является допустимой.

 

 

 

 

 

 

 

 

 

 

Создание БД в СУБД

 

drop database if exists TABLE_OF_ORDERS;

create database TABLE_OF_ORDERS;

use TABLE_OF_ORDERS;

 

CREATE TABLE Client

(

Client_No            INTEGER NOT NULL,

Surname_C            VARCHAR(50) NOT NULL,

Name_C               VARCHAR(50) NOT NULL,

Patronymic_C         VARCHAR(50) NOT NULL,

Adress               VARCHAR(100) NOT NULL,

Telephone            VARCHAR(50) NOT NULL,

Date_C               DATE NOT NULL,

Unit                 VARCHAR(20) NOT NULL

);

 

 

 

ALTER TABLE Client

ADD PRIMARY KEY (Client_No);

 

 

 

CREATE TABLE Orders

(

Order_No             INTEGER NOT NULL,

Date_O               DATE NOT NULL,

INN                  INTEGER NOT NULL,

Client_No            INTEGER NOT NULL,

Order_status         VARCHAR(20) NULL

);

 

 

 

ALTER TABLE Orders

ADD PRIMARY KEY (Order_No);

 

 

 

CREATE TABLE Order_Product

(

Order_No             INTEGER NOT NULL,

Product_No           INTEGER NOT NULL,

Kolichestvo_order    DOUBLE NOT NULL,

Sold_products        INTEGER NULL,

OrderProduct _No              DOUBLE NOT NULL

);

 

 

 

ALTER TABLE Order_Product

ADD PRIMARY KEY (OrderProduct _No);

 

 

 

CREATE TABLE Product

(

Product_No           INTEGER NOT NULL,

     Category             VARCHAR(50) NOT NULL,

Name_product         VARCHAR(100) NOT NULL,

Cost                 DOUBLE NOT NULL,

Kolichestvo_products FLOAT NOT NULL,

Date_P               DATE NOT NULL

);

 

 

 

ALTER TABLE Product

ADD PRIMARY KEY (Product_No);

 

 

 

CREATE TABLE Responsible_person

(

INN                  INTEGER NOT NULL,

Surname              VARCHAR(50) NOT NULL,

Name                 VARCHAR(50) NOT NULL,

Patronymic           VARCHAR(50) NOT NULL

);

 

 

 

ALTER TABLE Responsible_person

ADD PRIMARY KEY (INN);

 

 

 

ALTER TABLE Orders

ADD FOREIGN KEY R_1 (INN) REFERENCES Responsible_person (INN);

 

 

 

ALTER TABLE Orders

ADD FOREIGN KEY R_3 (Client_No) REFERENCES Client (Client_No);

 

 

 

ALTER TABLE Order_Product

ADD FOREIGN KEY R_2 (Order_No) REFERENCES Orders (Order_No);

 

 

 

ALTER TABLE Order_Product

ADD FOREIGN KEY R_5 (Product_No) REFERENCES Product (Product_No);

 

drop view IF exists BEST_EMPLOYEES_OF_THE_MONTH; //представление «Лучшие работники месяца»

CREATE VIEW BEST_EMPLOYEES_OF_THE_MONTH

AS

SELECT Responsible_person.INN, Responsible_person.Surname, Responsible_person.Name, Responsible_person.Patronymic, Order_Product.Kolichestvo_order

FROM Responsible_person

INNER JOIN ((Orders INNER JOIN Order_Product

ON Orders.Order_No = Order_Product.Order_No)

INNER JOIN Product ON Order_Product.Product_No = Product.Product_No)

ON Responsible_person.INN = Orders.INN

ORDER BY Order_Product.Kolichestvo_order DESC;

 

drop view IF exists TOP_10_PRODUCTS; // представление «ТОП-10 товаров»

CREATE VIEW TOP_10_PRODUCTS

AS

SELECT Product.Name_product, Order_Product.Kolichestvo_order

FROM Orders

INNER JOIN (Product INNER JOIN Order_Product ON Product.Product_No = Order_Product.Product_No)

ON Orders.Order_No = Order_Product.Order_No

ORDER BY Order_Product.Kolichestvo_order DESC

LIMIT 10;

 

drop procedure if exists ordered_products;  // получение таблицы заказанных товаров для отчета «Данные заказа»

delimiter //

create procedure ordered_products(IN op datetime) // параметр op – дата заказа

begin

SELECT Product.Category, Product.Name_product, Product.Kolichestvo_products, Order_Product.Sold_products, Product.Cost

FROM (Product INNER JOIN Order_Product

ON Product.Product_No = Order_Product.Product_No)

INNER JOIN Orders

ON Order_Product.Order_No = Orders.Order_No

WHERE Orders.Date_O=op;

end//

 

drop procedure if exists purchased _products;  получение таблицы приобретенных товаров для отчета «Информация о клиенте»

delimiter //

create procedure purchased_products(IN sname varchar(50), namec varchar(50), pname varchar(50))  // параметры sname, namec, pname - ФИО клиента

begin

SELECT Product.Category, Product.Name_product, Product.Kolichestvo_products, Order_Product.Sold_products, Product.Cost

FROM Client INNER JOIN ((Product INNER JOIN Order_Product

ON Product.Product_No = Order_Product.Product_No)

INNER JOIN Orders ON Order_Product.Order_No = Orders.Order_No)

ON Client.Client_No = Orders.Client_No

WHERE Client.Surname_C=sname And Client.Name_C=namec And Client.Patronymic_C=pname;

end//

 

grant select, insert, update, delete, execute on TABLE_OF_ORDERS.* to Manager@'%' identified by 'manager';  // создание учетной записи пользователя «Manager» и назначение требуемых прав

 

 

 

 

 

 

Заключение

Цель курсовой работы полностью достигнута. Мною спроектирована база, в соответствии с предметной областью. Разработана автоматизированная информационная система “Стол заказов” для учета регистрации заказов и информации о клиентах, ответственных лицах и товарах. При написании курсовой работы, я как проектировщик, не только достиг первоначальной цели – создания автоматизированной информационной системы, но и улучшил навыки работы в области баз данных и программировании.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список источников

  1. Ахтырченко К.В., Леонтьев В.В. Распределенные объектные технологии в информационных системах// СУБД № 5-6. - Москва, 1997, С.52-64.
  2. Базы данных: Учебник для высших учебных заведений /Под ред. проф. А.Д. Хомоненко. –Спб.: КОРОНА принт, 2000. –416с. Стр. 147–161.
  3. Гусева Т.И., Башин Ю.Б. Проектирование баз данных в примерах и задачах. - М.: Радио и связь, 1992. - 160 с., ил.
  4. Дейт К. Введение в системы баз данных. - К.: Диалектика, 1998.
  5. Джеймс Р. Грофф, Пол Н. Вайнберг SQL Полное руководство. – Киев: BHV, Ирина, 2001.
  6. Джексон Г. Проектирование реляционных баз данных для использования с микро - ЭВМ. - М.: Мир, 1991.
  7. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2001. - 304с.
  8. Кузнецов С. “Основы современных баз данных”. Центр Информационных Технологий, http://www.citforum.ru/database/osbd/contents.shtml.
  9. Ребекка Райордан Основы реляционных баз данных. – М.: Русская редакция, 2001. – 384с.
  10. Хансен Г., Хансен Д. Базы данных: разработка и уравление. - М.: БИНОМ, 1999.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение А

«Данные заказа»


Дата заказа


ФИО ответственного лица

 

Заказанный товар:

Категория

Товар

Название

Количество

Единица измерения

Стоимость

           

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение Б

«Информация о клиенте»


ФИО клиента


Адрес


Телефон


Дата

 

Приобретенный товар

Категория

Товар

Название

Количество

Единица измерения

Стоимость

           

 

 

 

 


Информация о работе Разработка базы данных ER-методом для заданной области