Министерство образования и науки Российской Федерации
Московский государственный университет печати
Кафедра информационных систем
Курсовая работа
По дисциплине «Базы и банки данных»
«Разработка базы данных для ресторана»
Выполнил:
Подпись____________________
Руководитель: Подпись____________________
Оглавление
Оглавление 2
Описание базы данных 3
ER – модель 3
Модель ANSI-SPARC 5
Описание структуры таблиц 8
Функциональные зависимости 10
(пояснения по выбору первичных ключей) 10
Начальное заполнение таблиц 11
Хранимые процедуры и функции. 26
33
Рис. 9. Блок-схема функции sum_order. 33
Триггеры 35
Литература 38
Приложение №1. ER – Модель базы данных 39
39
Приложение №2. Исходный код создания таблиц 40
Приложение №3. Исходный код занесения данных 42
load data local infile 'D:/xampp/mysql/bin/dishes.txt' into table dishes; 42
load data local infile 'D:/xampp/mysql/bin/orders.txt' into table orders; 42
load data local infile 'D:/xampp/mysql/bin/orders_dishes.txt' into table order_dishes; 42
load data local infile 'D:/xampp/mysql/bin/tables.txt' into table tables; 42
load data local infile 'D:/xampp/mysql/bin/waiters.txt' into table waiters; 42
load data local infile 'D:/xampp/mysql/bin/waiter_tables.txt' into table waiter_tables; 42
load data local infile 'D:/xampp/mysql/bin/firm.txt' into table firm; 42
Описание базы данных
База данных разработана для автоматизации работы с данными ресторана. Она содержит информацию о блюдах, столиках, заказах и персонале. База данных позволяет просматривать нужную информацию (меню, количество заказов за день, среднюю цена блюд по определенному виду, информацию об официанте, обслуживающего данный столик и др.), осуществлять заказы блюд и отменять их, добавлять и удалять данные о блюдах, считать сумму заказа с учетом цены за резервирование столика и 10% скидки.
Er – модель
База данных разработана с использованием модели «сущность – связь» (entity – relationship model, «ER – модель»). ER – модель является средством абстрактного представления структур, т.е. дает возможность описать информацию, которая должна быть представлена в базе данных, и указать взаимосвязь между элементами информации.
ER-модель является графической, поэтому схема базы данных представлена в виде ER-диаграммы (ERD, entity-relationship diagram — «диаграмма сущностей и связей»). ER-диаграмма состоит из элементов трех основных типов: множеств сущностей, атрибутов, связей. Множество сущностей — набор однородных абстрактных объектов определенного вида. Атрибуты — свойства сущностей. Связи — соединения между двумя или большим числом множеств сущностей.
БД содержит 5 сущностей.
Сущность «dishes» — меню ресторана. Имеет атрибуты: «ID_dish» - номер блюда, «name» - название, «descr» - описание, «price» - цена, «kind» - вид блюда. Связь «order_dishes» между сущностью «dishes» и сущностью «orders» типа «многие-ко-многим», т.е. несколько блюд могут принадлежать одному заказу и несколько заказов могут включать одинаковое блюдо, имеет атрибут «quantity» - количество заказанных блюд, определенного номера.
Сущность «firm» включает в себя фирменные блюда, имеет 1 атрибут «ID_firm» - номер блюда, являющегося фирменным.
Сущность «orders» включает в себя информацию о заказах. Имеет атрибуты: «ID_order» - номер заказа, «date» - дата, «ID_table» - номер столика, «reserve» - был ли зарезервирован столик, «discount» - есть ли 10%-ая скидка.
Сущность «tables» содержит информацию о столиках. Имеет атрибуты: «ID_table» - номер столика, «type» - тип столика (ord-обычный, vip), «smoking» - курящая зона либо нет, «busy» - занят столик или нет. Имеет связь «waiter_tables» типа «многие-к-одному» с сущностью «waiters», т. к. один официант обслуживает несколько столиков.
Сущность «waiters» содержит данные об официантах. Имеет атрибуты: «ID_waiter» - ID официанта, «name» - имя, «surname» - фамилия, «address» - адрес, «tel» - телефон.
ER – Модель базы данных представлена в приложении №1.