Автор работы: Пользователь скрыл имя, 05 Декабря 2013 в 06:33, курсовая работа
База данных ассоциации шеф-поваров необходима для оперативного учета сотрудников и партнеров ассоциации; динамичного контроля актуальной информации.
Целью работы является составление и заполнение базы данных ассоциации шеф-поваров, заполнение всех сотрудников, партнеров, блюд и заказов.
Введение 4
Проектирование базы данных 5
Создание и заполнение таблиц 12
Запросы 35
Представления. 56
Процедуры 57
Триггеры 69
Курсор 71
Заключение. 74
Список используемой литературы 75
Рисунок 2.13 - Таблица Шеф-повар
insert into [shef] values
('Лобова Юлия Андреевна','1'),
('Кондыбко Кристина Николаевна','2'),
('Молоканов Данил Петрович','3'),
('Филиппов Максим Сергеевич','4'),
('Каурдаков Александр Александрович','5'),
('Шарипова Елена Сергеевна','1'),
('Воднева Ирина Сергеевна','2'),
('Аксенов Антон Игоревич','5'),
('Назаров Юрий Алексеевич','4'),
('Мельников Дмитрий Олегович','5'),
('Мельников Артем Артемович','5'),
('Тюпкин Артем Артемович','2'),
('Носова Евгения Адольфовна','1'),
('Носкова Дарья Николаевна ','1'),
('Фомина Яна Михайловна','5')
Рисунок 2.14 - Заполнение таблицы Шеф-повар
create table povar(povar_id int identity (1,1) not null, name_povar varchar(80), specializacia varchar(50),primary key (povar_id), shef_id int foreign key references shef(shef_id))
Рисунок 2.15 - Таблица Повар
insert into [povar] values
('Петрова Юлия Андреевна','Вторые блюда','2'),
('Иванова Кристина Николаевна','Первые блюда','2'),
('Сидоров Данил Петрович','Вторые блюда','3'),
('Колобков Максим Сергеевич','Первые блюда','4'),
('Дорошин Александр Александрович','Первые блюда','5'),
('Хлебцова Елена Сергеевна','Первые блюда','6'),
('Дудина Ирина Сергеевна','Вторые блюда','7'),
('Марков Антон Игоревич','Десерт','8'),
('Гарков Юрий Алексеевич','Десерт','9'),
('Юнусов Дмитрий Олегович','Напитки','10'),
('Усов Артем Артемович','Напитки','11'),
('Пузов Артем Артемович','Вторые блюда','12'),
('Бусова Евгения Адольфовна','Десерт','13'),
('Гусова Дарья Николаевна ','Напитки','14'),
('Русова Яна Михайловна','Напитки','15')
Рисунок 2.16 - Заполнение таблицы Повар
create table povar_recept(povar_recept_id int identity (1,1) not null, primary key (povar_recept_id), povar_id int foreign key references povar(povar_id), recept_id int foreign key references recept(recept_id) )
Рисунок 2.17 - Таблица Повар_рецепт
insert into [povar_recept] values
('15','1'),
('14','2'),
('13','3'),
('12','4'),
('11','5'),
('10','6'),
('9','7'),
('8','8'),
('7','9'),
('6','10'),
('11','11'),
('7','12')
Рисунок 2.18 - Заполнение таблицы Повар-рецепт
create
table recept_product(recept_product_
Рисунок 1.6.19 - таблица Рецепт_Продукт
insert into [recept_product] values
('1','1'),
('2','1'),
('3','1'),
('5','1'),
('3','2'),
('4','2'),
('5','2'),
('6','2'),
('7','2'),
('3','3'),
('4','3'),
('5','3'),
('7','4'),
('8','4'),
('2','4'),
('7','5'),
('8','5'),
('9','5'),
('2','5'),
('8','6'),
('9','6'),
('2','6'),
('6','6'),
('10','6'),
('11','6'),
('12','6'),
('12','7'),
('3','7'),
('11','7'),
('3','8'),
('4','9'),
('10','10'),
('13','10'),
('14','10'),
('13','11'),
('13','12'),
('15','12')
Рисунок 2.20 - Заполнение таблицы Рецепт_продукт
create table product_sklad(product_sklad_id int identity (1,1) not null, primary key (product_sklad_id), product_id int foreign key references product(product_id), sklad_id int foreign key references sklad(sklad_id))
Рисунок 2.21 - Таблица продукт_склад
insert into [product_sklad] values
('15','1'),
('14','2'),
('13','3'),
('12','4'),
('11','5'),
('10','6'),
('9','7'),
('8','8'),
('7','9'),
('6','10'),
('5','11'),
('4','12'),
('3','13'),
('2 ','14'),
('1','15')
Рисунок 2.22 - Заполнение таблицы продукт_склад
create
table bludo1(bludo_id int identity (1,1) not null,nomer_bluda int, tip
varchar(50), name_bludo varchar(50) not null, recept_product_id int
foreign key references recept_product(recept_product_
Рисунок 2.23 - Таблица Блюдо
insert into [bludo1] values
('1','Первое блюдо','Салат греческий','1','20'),
('1','Первое блюдо','Салат греческий','2','20'),
('1','Первое блюдо','Салат греческий','3','20'),
('1','Первое блюдо','Салат греческий','4','20'),
('2','Первое блюдо','Салат оливье','5','20'),
('2','Первое блюдо','Салат оливье','6','20'),
('2','Первое блюдо','Салат оливье','7','20'),
('2','Первое блюдо','РСалат оливье','8','20'),
('2','Первое блюдо','Салат оливье','9','20'),
('3','Второе блюдо','роллы Филадельфия','10','35'),
('3','Второе блюдо','роллы Филадельфия','11','35'),
('3','Второе блюдо','роллы Филадельфия','12','35'),
('4','Второе блюдо','роллы Калифорния','13','35'),
('4','Второе блюдо','роллы Калифорния','14','35'),
('4','Второе блюдо','роллы Калифорния','15','35'),
('5','Второе блюдо','роллы Унаги-маки','16','40'),
('5','Второе блюдо','роллы Унаги-маки','17','40'),
('5','Второе блюдо','роллы Унаги-маки','18','40'),
('6','Первое блюдо','Борщ','23','50'),
('6','Первое блюдо','Борщ','24','50'),
('6','Первое блюдо','Борщ','25','50'),
('6','Первое блюдо','Борщ','26','50'),
('7','Первое блюдо','Шоколадное мороженное','30','15'),
('7','Первое блюдо','Шоколадное мороженное','31','15'),
('8','Первое блюдо','Сливочное мороженное','32','15'),
('9','Первое блюдо','Клубничное мороженное','33','15'),
('9','Первое блюдо','Клубничное мороженное','34','15')
Рисунок 2.24 - Заполнение таблицы Блюдо
create table klient_bludo1(klient_bludo_id int identity (1,1) not null,primary key (klient_bludo_id), klient_id int foreign key references klient(klient_id), bludo_id int foreign key references bludo1(bludo_id))
Рисунок 2.25 - Таблица Клиент_блюдо
insert into [klient_bludo1] values
('1','2'),
('2','2'),
('3','4'),
('4','4'),
('4','5'),
('3','6'),
('2','7'),
('1','8'),
('13','9'),
('14','10'),
('11','10'),
('11','2'),
('11','4'),
('2 ','4'),
('1','5')
Рисунок 2.26 - Заполнение таблицы Клиент_блюдо
create
table Zakaz3(zakaz_id int identity (1,1) not null, primary key (zakaz_id),
cena_bluda_za_zakaz_rub money, data_zakaza date, klient_bludo_id int
foreign key references klient_bludo1(klient_bludo_id)
Рисунок 2.27 - Таблица Заказ
insert into [Zakaz3] values
('400','03.05.2013','2'),
('500','03.05.2013','3'),
('600','03.05.2013','4'),
('600','03.05.2013','4'),
('250','03.05.2013','5'),
('600','03.05.2013','6'),
('700','04.05.2013','7'),
('800','04.05.2013','8'),
('500','04.05.2013','9'),
('360','04.05.2013','10'),
('360','05.05.2013','11'),
('670','05.05.2013','12'),
('450','05.05.2013','13'),
('450','05.05.2013','14'),
('560','05.05.2013','15')
Рисунок 2.28 - Заполнение таблицы Заказ
select specializacia, COUNT(povar_id)'Количество поваров'
from povar
Group by specializacia
Рисунок 3.1 - Запрос 1
select
time_prigotovlenia_min, count(dbo.bludo1.name_bludo)'
from bludo1
where time_prigotovlenia_min < (select AVG(time_prigotovlenia_min) from bludo1)
Group by time_prigotovlenia_min
Рисунок 3.2 - Запрос 2
select srok_dney, count(dbo.product.srok_dney)'
from product
where srok_dney = (select MAX(srok_dney) from product)
Group by srok_dney
Рисунок 3.3 - Запрос 3
select srok_dney, COUNT(product_id)'Количество продуктов'
from dbo.product
where srok_dney < (select AVG(srok_dney) from product)
Group by srok_dney
Рисунок 3.4 - Запрос 4
select name_asp, COUNT(dbo.shef.asp_id)' Количество шеф-поваров'
from dbo.shef, dbo.assocciacia_shef_povarov
where dbo.shef.asp_id=dbo.
Group by name_asp
Рисунок 3.5 - Запрос 5
select
adres_dostavki, SUM(dbo.Zakaz3.cena_bluda_za_
from klient_bludo1, zakaz3, klient
where dbo.zakaz3.zakaz_id=dbo.
Group by adres_dostavki
Рисунок 1.6.34 - Запрос 6
select
dbo.assocciacia_shef_povarov.
from dbo.partner, dbo.assocciacia_shef_povarov
where dbo.partner.asp_id=dbo.
Group by dbo.assocciacia_shef_povarov.
Рисунок 3.7 - Запрос 7
select data_zakaza, COUNT(dbo.Zakaz3.zakaz_id)' Количество заказов'
from dbo.Zakaz3
where dbo.zakaz3.data_zakaza='2013-
Group by data_zakaza
Рисунок 3.8 - Запрос 8
select
data_zakaza, Sum(dbo.Zakaz3.cena_bluda_za_
from dbo.Zakaz3
where dbo.zakaz3.data_zakaza='2013-
Group by data_zakaza
Рисунок 3.9 - Запрос 9
select
dbo.assocciacia_shef_povarov.
from dbo.partner, dbo.assocciacia_shef_povarov
where dbo.partner.asp_id=dbo.
Group by dbo.assocciacia_shef_povarov.
Рисунок 3.10- Запрос 10
select
adres_dostavki, SUM(dbo.Zakaz3.cena_bluda_za_
from klient_bludo1, zakaz3, klient
where dbo.zakaz3.zakaz_id=dbo.
and cena_bluda_za_zakaz_rub < (select AVG(cena_bluda_za_zakaz_rub) from Zakaz3)
Group by adres_dostavki
Рисунок 3.11 - Запрос 11
select srok_dney, name_product
from product
where srok_dney < (select MAX(srok_dney) from product)
Group by srok_dney, name_product
Рисунок 3.12 - Запрос 12
select dbo.povar.specializacia, count (dbo.bludo1.bludo_id) 'Количество блюд'
from dbo.povar, dbo.bludo1, dbo.recept, dbo.recept_product, dbo.povar_recept
where dbo.povar.povar_id=dbo.povar_
and dbo.recept.recept_id=dbo.
and dbo.bludo1.recept_product_id=
and dbo.recept.recept_id=dbo.
group by specializacia
Рисунок 3.13 - Запрос 13
select dbo.klient.adres_dostavki, count (dbo.bludo1.bludo_id) 'Количество блюд'
from dbo.klient, dbo.bludo1, dbo.klient_bludo1
where dbo.klient.klient_id = dbo.klient_bludo1.klient_id
and dbo.bludo1.bludo_id=dbo.
group by dbo.klient.adres_dostavki
Рисунок 3.14 - Запрос 14
select dbo.klient.adres_dostavki, count (dbo.bludo1.bludo_id) 'Количество блюд'
from dbo.klient, dbo.bludo1, dbo.klient_bludo1, zakaz3
where dbo.klient.klient_id = dbo.klient_bludo1.klient_id
and dbo.bludo1.bludo_id=dbo.
and dbo.zakaz3.klient_bludo_id=
and dbo.zakaz3.data_zakaza between '2013-05-02' AND '2013-05-03'
group by dbo.klient.adres_dostavki
Рисунок 3.15 - Запрос 15