Разработка базы данных ER-методом для заданной области
Разработка автоматизированной информационной системы "Стол заказов" для учета регистрации заказов и информации о клиентах, ответственных лицах и товарах. Характеристики комплекса задач. Проект базы данных, построение логической и физической моделей.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.12.2014 |
Размер файла | 354,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Тюменский государственный нефтегазовый университет
Институт геологии и нефтегазодобычи
Кафедра автоматизации и вычислительной техники
Пояснительная записка к курсовой работе
по дисциплине «Базы данных»
на тему
Разработка базы данных ER-методом для заданной области
Выполнили студенты группы ИВТ(б)-10
Васильева Д.В., Карабекова Э.Б.
Руководитель: Пономарёва Н.П.
Тюмень, 2013 г.
Содержание
- Введение
- 1. Описание предметной области
- 2. Описание постановки задачи
- 2.1 Характеристики комплекса задач
- 2.2 Выходная информация
- 2.3 Входная информация
- 3. Проектирование БД
- 3.1 Проектирование БД методом «Сущность-связь»
- 3.2 Проектирование БД с помощью CASE-средств
- 3.2.1 IDEF 1X
- 3.2.2 Построение логической модели
- 3.2.3 Построение физической модели
- 3.3 Тестирование информационной модели с помощью CASE-средств
- 4. Создание БД в СУБД
- Заключение
- Список источников
- Приложение А
- Приложение Б
- Введение
В настоящее время в разных сферах деятельности все более нуждаются в средствах, позволяющих быстро и безошибочно перерабатывать большое количество информации. Применение таких средств позволяет существенно снизить затраты и повысить эффективность работы.
Например, в каждом магазине большой поток данных (клиенты, товары и т.п.) и чтобы снизить время обработки информации и облегчить работу сотрудникам заведений создается автоматизированная информационная система, которая может это позволить. Информационные технологии в настоящее время являются средством совершенствования и развития управленческой деятельности. Внедрение информационных систем способствуют более качественному управлению заведением, уменьшают расходы и повышают эффективность принимаемых управленческих решений.
Цель курсовой работы заключается в разработке автоматизированной информационной системы для удобства работы менеджеров магазина. Автоматизированная информационная система будет включать в себя базу данных и приложение для более функциональной работы. Для успешного создания работоспособной, отказоустойчивой и удобной атоматизированной информационной системы необходимо тщательное изучение предметной области, сбор исходных данных и их анализ.
1. Общее описание предметной области
В ходе разработки данного проекта необходимо проанализировать как работает система «Стол заказов». Проект должен включать в себя базу данных и приложение, которые друг с другом связаны.
Стол заказов - это система, позволяющая оптимизировать процесс приема и оформления заказов. Данная система дает возможность получить клиентам (покупателям) полную информацию о товаре, стоимости, наличии, скидках, действующих для постоянных клиентов.
В процессе приема заказа ответственное лицо (менеджер) регистрирует клиента. Данные сохраняются и используются для поиска необходимых клиенту товаров.
Клиент, оплативший заказ, включается в историю покупателей данного Стола заказов.
Статистику заказов, можно посмотреть за любой период, тем самым, выявляя товары, пользующихся наибольшим спросом и соответственно пользующихся меньшим спросом, лучших работников месяца и т.д. Также появляется возможность контроля над ответственными лицами и просмотра статистики заказов осуществленным каждым ответственным лицом.
Таким образом, работа с базой данных позволяет без лишних потерь времени и усилий подсчитать стоимость заказов каждого клиента на определенную дату, оценить ситуацию по продаже каждого товара и т.д.
Итогам проектирования должно быть приложение. Приложение должно иметь дружественный интуитивно понятный интерфейс. Вышеперечисленные действия легко подвергаются автоматизации и создание базы данных (регистрация заказов, данные о клиенте, ведение статистики заказов и прочие). Данная система в соответствии с проведенным ранее анализом легко подвергается автоматизации. В качестве языка программирования выбрала SQL.
2. Описание постановки задачи
2.1 Характеристики комплекса задач
Автоматизированная система предназначена для оптимизации процесса приема и оформления заказов. Данная система дает возможность получить клиентам (покупателям) полную информацию о товаре, стоимости, наличии.
Целями создания системы является:
а) автоматизация подбора и оформления заказов в магазине;
б) быстрый доступ к нужной информации;
в) интуитивно понятный интерфейс программы;
Для достижения целей в системе автоматизируются следующие функции:
а) ввод и корректировка сведений о товарах, имеющихся в ассортименте;
б) хранение и быстрое извлечение информации о товарах;
в) формирование отчетов о заказах и клиентах.
2.2 Выходная информация
а) данные заказа (Приложение А);
б) информация о клиенте (Приложение Б)
Таблица 1
Данные заказа
Идентификатор |
||
Форма представления |
Таблица |
|
Вид представления |
Документ MS Word, в соответствии с типовой формой определенной нормативными актами предприятия (см. Приложение А). |
|
Состав атрибутов |
Дата_заказа; ФИО_ответственного_лица; Заказанный_товар; Категория; Наименование; Стоимость; Дополнительная_информация; |
|
Периодичность выдачи |
По требованию |
|
Получатель |
Пользователь |
|
Назначение |
Таблица, содержащая все необходимые данные заказа |
Таблица 2
Информация о клиенте
Идентификатор |
||
Форма представления |
Таблица |
|
Вид представления |
Документ MS Word, в соответствии с типовой формой определенной нормативными актами предприятия (см. Приложение Б). |
|
Состав атрибутов |
ФИО_клиента; Адрес; Телефон; Дата; Приобретенный_товар; Количество; Единица_измерения |
|
Периодичность выдачи |
По требованию |
|
Получатель |
Пользователь |
|
Назначение |
Таблица, содержащая всю необходимую информацию о клиенте |
2.3 Входная информация
В качестве исходных данных система использует следующие документы:
а) ответственное лицо;
б) товар;
в) клиент.
Таблица 1
Ответственное лицо
Идентификатор |
||
Форма представления |
Таблица |
|
Вид представления |
Текстовые данные |
|
Состав атрибутов |
ИНН, ФИО; |
|
Назначение |
Таблица, содержащая все необходимые сведения об ответственном лице |
Таблица 2
Товар
Идентификатор |
||
Форма представления |
Таблица |
|
Вид представления |
Текстовые данные |
|
Состав атрибутов |
Категория; Наименование; Количество; Стоимость; Дата; |
|
Назначение |
Таблица, содержащая все необходимые сведения о товаре |
Таблица 3
Клиент
Идентификатор |
||
Форма представления |
Таблица |
|
Вид представления |
Текстовые данные |
|
Состав атрибутов |
ФИО_клиента; Адрес; Телефон; Дата; Количество; Единица_измерения |
|
Назначение |
Таблица, содержащая всю необходимую информацию о клиенте |
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-средств
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. Кузнецов С. “Основы современных баз данных”. Центр Информационных Технологий
9. Ребекка Райордан Основы реляционных баз данных. - М.: Русская редакция, 2001. - 384с.
10. Хансен Г., Хансен Д. Базы данных: разработка и уравление. - М.: БИНОМ, 1999.
Приложение А
Данные заказа
Дата заказа
ФИО ответственного лица
Заказанный товар:
Категория |
Товар |
Название |
Количество |
Единица измерения |
Стоимость |
|
Приложение Б
Информация о клиенте
ФИО клиента
Адрес
Телефон
Дата
Приобретенный товар
Категория |
Товар |
Название |
Количество |
Единица измерения |
Стоимость |
|
Размещено на Allbest.ru
Подобные документы
Инфологическая модель задачи автоматизации и формирования заказов поставщикам, контроля состояния склада. Анализ ключей сущностей проектируемой базы данных, разработка и нормализация системы таблиц и форм. Механизм оформления заказов в базе данных.
курсовая работа [358,5 K], добавлен 26.11.2012Создание автоматизированной системы учета заказов и их выполнения в строительной фирме по ремонту квартир. Общие требования к информационной системе. Проектирование структуры базы данных. Построение ER-диаграммы. Реализация информационной системы.
курсовая работа [750,2 K], добавлен 24.03.2014Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.
курсовая работа [318,6 K], добавлен 24.12.2014Системный анализ предметной области проектируемой базы данных. Экономическая сущность комплекса экономических информационных задач. Проектные решения по программному обеспечению комплекса задач. Структура базы данных и технологическое обеспечение.
курсовая работа [303,7 K], добавлен 27.02.2009Основные функции системы управления базами данных - описание структуры базы данных, обработка данных и управление данными. Компьютерный магазин как предметная область, ее технико-экономические характеристики. Построение логической и физической моделей.
курсовая работа [3,7 M], добавлен 02.07.2012Разработка логической и физической моделей базы данных предприятия и описание атрибутов. Порядок создания справочников и реквизитов базы данных на основе программы "1С:Предприятие 8.2", назначение связей таблиц. Пример сгенерированных SQL-кодов.
курсовая работа [2,7 M], добавлен 02.12.2015Создание базы данных, автоматизирующей процесс ведения заказов продукции отделом организации. Описание предметной области. Построение инфологической модели. Задание имени проекта и его расположение. Схема связей между таблицами. Создание отчетов и форм.
курсовая работа [2,4 M], добавлен 03.03.2015Рассмотрение условий работы сотрудников фирмы "Окна Марио". Составление базы данных для проектирования информационной системы учета и контроля заказов. Разработка проекта. Произведенный расчет экономической эффективности и экологичности программы.
дипломная работа [4,6 M], добавлен 29.08.2014Описание предметной области и определение предметной области информационной системы детского сада. Разработка логической и физической модели базы данных дошкольного образовательного учреждения. Анализ функционала информационной системы детского сада.
курсовая работа [1,6 M], добавлен 20.04.2015Разработка информационной системы для отдела учета приема пациентов и медицинского секретариата. Описание исходной (входной) информации и пользовательского интерфейса, логической структуры и технических средств. Построение реляционной базы данных.
дипломная работа [1,9 M], добавлен 16.04.2012