База данных ассоциации шеф-поваров

Автор работы: Пользователь скрыл имя, 05 Декабря 2013 в 06:33, курсовая работа

Краткое описание

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

Содержание

Введение 4
Проектирование базы данных 5
Создание и заполнение таблиц 12
Запросы 35
Представления. 56
Процедуры 57
Триггеры 69
Курсор 71
Заключение. 74
Список используемой литературы 75

Вложенные файлы: 1 файл

Куросовой проект Шариповой Елены 1761.docx

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

 

Рисунок 2.13 - Таблица Шеф-повар

 

insert into [shef] values

('Лобова Юлия Андреевна','1'),

('Кондыбко Кристина Николаевна','2'),

('Молоканов  Данил Петрович','3'),

('Филиппов  Максим Сергеевич','4'),

('Каурдаков Александр Александрович','5'),

('Шарипова Елена Сергеевна','1'),

('Воднева Ирина Сергеевна','2'),

('Аксенов Антон  Игоревич','5'),

('Назаров Юрий  Алексеевич','4'),

('Мельников  Дмитрий Олегович','5'),

('Мельников  Артем Артемович','5'),

('Тюпкин Артем Артемович','2'),

('Носова Евгения  Адольфовна','1'),

('Носкова Дарья Николаевна ','1'),

('Фомина Яна  Михайловна','5')

 

Рисунок 2.14 - Заполнение таблицы Шеф-повар

 

  1. Таблица Повар

 

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 - Заполнение таблицы Повар

 

  1. Таблица Повар_Рецепт

 

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 - Заполнение таблицы Повар-рецепт

 

  1. Таблица Рецепт_Продукт

 

create table recept_product(recept_product_id int identity (1,1) not null, primary key (recept_product_id),  product_id int foreign key references product(product_id), recept_id int foreign key references recept(recept_id) )

 

Рисунок 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 - Заполнение таблицы Рецепт_продукт

 

  1. Таблица Продукт_Склад

 

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 - Заполнение таблицы продукт_склад

 

  1. Таблица Блюдо

 

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_id), time_prigotovlenia_min int ,primary key (bludo_id))

 

Рисунок 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 - Заполнение таблицы Блюдо

 

  1. Таблица Клиент_Блюдо

 

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 - Заполнение таблицы Клиент_блюдо

 

  1. Таблица Заказ

 

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 - Заполнение таблицы Заказ

Запросы

 

  1. Запросы с использованием группировки

 

      1.  Количество поваров по их специализации

 

select specializacia, COUNT(povar_id)'Количество поваров'

from povar

Group by specializacia

 

Рисунок 3.1 - Запрос 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

 

      1.  Количество продуктов, с максимальным сроком годности и какой срок годности

 

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

 

      1.  Количество продуктов, которые по сроку годности меньше среднего срока годности 

 

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

 

      1.  Количество шеф поваров по коду ассоциации

 

select name_asp, COUNT(dbo.shef.asp_id)' Количество шеф-поваров'

from dbo.shef, dbo.assocciacia_shef_povarov

where dbo.shef.asp_id=dbo.assocciacia_shef_povarov.asp_id

Group by name_asp

 

Рисунок 3.5 - Запрос 5

 

      1.  Сумма заказа по каждому адресу доставки

 

select adres_dostavki, SUM(dbo.Zakaz3.cena_bluda_za_zakaz_rub)'сумма заказа одного клиента'

from klient_bludo1, zakaz3, klient

where dbo.zakaz3.zakaz_id=dbo.klient_bludo1.klient_bludo_id and dbo.klient_bludo1.klient_bludo_id=dbo.klient.klient_id

Group by adres_dostavki

 

 

Рисунок 1.6.34 - Запрос 6

 

      1. Количество партнеров по коду ассоциации

 

select dbo.assocciacia_shef_povarov.asp_id, COUNT(dbo.partner.partner_id)' Количество партнеров'

from dbo.partner, dbo.assocciacia_shef_povarov

where dbo.partner.asp_id=dbo.assocciacia_shef_povarov.asp_id

Group by dbo.assocciacia_shef_povarov.asp_id

 

Рисунок 3.7 - Запрос 7

 

      1.  Количество заказов по дате

 

select data_zakaza, COUNT(dbo.Zakaz3.zakaz_id)' Количество заказов'

from dbo.Zakaz3

where dbo.zakaz3.data_zakaza='2013-05-03'

Group by data_zakaza

 

Рисунок 3.8 - Запрос 8

 

      1.  Сумма заказов по дате

 

select data_zakaza, Sum(dbo.Zakaz3.cena_bluda_za_zakaz_rub)' Сумма заказов'

from dbo.Zakaz3

where dbo.zakaz3.data_zakaza='2013-05-03'

Group by data_zakaza

 

Рисунок 3.9 - Запрос 9

 

      1.  Количество услуг оказываемых партнерами ассоциации

 

select dbo.assocciacia_shef_povarov.name_asp, COUNT(dbo.partner.uslugi)' Количество услуг'

from dbo.partner, dbo.assocciacia_shef_povarov

where dbo.partner.asp_id=dbo.assocciacia_shef_povarov.asp_id

Group by dbo.assocciacia_shef_povarov.name_asp

 

 

Рисунок 3.10- Запрос 10

 

      1.  Сумма заказов, ниже средней суммы по адресу доставки

 

select adres_dostavki, SUM(dbo.Zakaz3.cena_bluda_za_zakaz_rub)'сумма заказа одного клиента'

from klient_bludo1, zakaz3, klient

where dbo.zakaz3.zakaz_id=dbo.klient_bludo1.klient_bludo_id and dbo.klient_bludo1.klient_bludo_id=dbo.klient.klient_id

and cena_bluda_za_zakaz_rub < (select AVG(cena_bluda_za_zakaz_rub) from Zakaz3)

Group by adres_dostavki

 

Рисунок 3.11 - Запрос 11

 

      1. Список продуктов, срок годности которых меньше максимального годности всех продуктов

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

 

      1. По специализации повара количество блюд

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_recept.povar_id

and dbo.recept.recept_id=dbo.povar_recept.recept_id

and dbo.bludo1.recept_product_id=dbo.recept_product.recept_product_id

and dbo.recept.recept_id=dbo.recept_product.recept_id

group by specializacia

 

Рисунок 3.13 - Запрос 13

 

      1.  По клиенту количество заказанных им блюд

 

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.klient_bludo1.bludo_id

group by dbo.klient.adres_dostavki

 

Рисунок 3.14 - Запрос 14

 

      1.  Количество заказанных клиентом блюд за промежуток времени

 

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.klient_bludo1.bludo_id

and dbo.zakaz3.klient_bludo_id=dbo.klient_bludo1.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

 

      1.  Каких продуктов и сколько было использовано за промежуток времени

Информация о работе База данных ассоциации шеф-поваров