Построение базы данных "Кулинарная книга"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
Санкт-Петербургский Государственный Политехнический Университет
Построение базы данных "Кулинарная книга"
Выполнил:
студент группы 3174/1
Моренков Е.В.
Руководитель:
Попов С.Г.
Санкт-Петербург 2011
Оглавление
Описание задачи
Иерархия объектов
ER-диаграмма базы данных
ER-диаграмма
Описание таблиц и полей
Создание таблиц в СУБД
Запросы
Заключение
Приложения
Описание задачи
Кулинарный рецепт - руководство по приготовлению кулинарного изделия. Содержит информацию о необходимых пищевых продуктах, их пропорциях и инструкциях по смешиванию и обработке. Кулинарные рецепты описывают механическую и тепловую обработку ингредиентов, способы сервировки готовых изделий.
Рецепты передаются из уст в уста, а также публикуются в кулинарных книгах и на специализированных сайтах. Существуют секретные рецепты, передающиеся кулинарами своим наследникам.
Современный кулинарный рецепт содержит:
) Название (часто и национальную принадлежность) блюда;
) Ориентировочное время приготовления блюда;
) Список необходимых для приготовления блюда ингредиентов, их количество и пропорции;
) Оборудование и условия, необходимые для приготовления блюда;
) Количество персон, на которых расiитано блюдо;
) Калорийность блюда (иногда и содержание белков, жиров и углеводов);
) Пошаговая инструкция по приготовлению блюда;
) Метод сервировки (украшение блюда и его подача на стол).
Старые рецепты часто составлялись для тех, кто умел готовить те или иные блюда, и содержали лишь название блюда, перечень ингредиентов и их пропорции.
Виды рецептов
) Рецепты блюд по времени приема пищи:
а) Завтрак
b) Второй завтрак
c) Обед
d) Полдник
e) Ужин
2) Рецепты по типу блюд:
a) Закуски
b) Салаты
c) Первые блюда
d) Вторые блюда
e) Десерты
3) Рецепты по способу приготовления блюд:
a) Жаренные
b) Варёные
c) Тушёные
d) Печёные
e) Резанные
4) Рецепты национальных кухонь
a) Русская кухня
b) Французская кухня
c) Итальянская кухня
d) Азиатская кухня
5) Рецепты блюд по основе:
a) Из мяса
b) Из рыбы
c) Из овощей
d) Из птицы
e) Из морепродуктов
f) Из теста
6) Рецепты блюд по событию:
a) Новый год
b) Великий пост
c) Пасха
d) День благодарения
7) Рецепты блюд по состоянию здоровья:
a) Диетические
b) Для язвенников
c) Для диабетиков
d) При ожирении
Перед собой я поставил следующую задачу: разделить множество всех рецептов по принадлежности к той или иной национальной кухне (русская, итальянская, европейская, японская), определенному виду блюда (закуска, салат, суп, паста, пицца, горячее, десерт), наличию ингредиентов (рыба, мясо, салат, помидоры и т.д.), основе (рыбная, мясная, овощная), способу приготовления блюда (жареное, вареное, тушеное, печеное). Каждый рецепт имеет своё происхождение, которое также будет храниться в базе данных. Возможно 2 варианта: рецепт будет авторским, либо добавленным из книги. Также, организована возможность комментирования рецепта пользователями с запоминанием имени этого пользователя и когда сообщение было оставлено.
Иерархия объектов
ER-диаграмма базы данных
Все рецепты принадлежат какой-либо категории, приготовлены определенным способом (жарка, варка, резка), относятся к определенной национальной кухне, добавлены из конкретной книги или определенным пользователем, созданы по определенной основе (рыба, мясо, овощи). Рецепты состоят из различных ингредиентов (от 1 до 10). Также, пользователи определяются именем, фамилией, логином и имеют пароль и могут оставлять отзывы к данному рецепту.
Ингредиенты в составе рецепта могут находиться в различных состояниях, а также могут иметь различную единицу измерения.
Каждый рецепт характеризуется временем приготовления, калорийностью, выходом блюда (в г, кг, порциях, тарелках и т.п.) - пользователь сам определяет, названием и описание способа приготовления.
ER-диаграмма
Описание таблиц и полей
РецептRecipe№Название по-русскиНазвание по-английскиТип переменныхПримечаниеСсылкаОбоснование типа1 ID_рецепта Recipe_ID int 2 ID_кухняRec_Cuisine_ID int Cuisine (Cuisine_ID)3 ID_категория Rec_Category_ID int Category (Category_ID)4 ID_способа_приготовления Rec_Cooking_method _ID int Cooking_method (Cooking_method_ID)5 ID_Пользователя Rec_User_ID int User (User_ID)6 ID_Книги Rec_Book_ID int Book (Book_ID)7 Описание_способа_приготовленияDescription_cooking _method tinytext 8 Название рецепта Recipe_name char 1009 Калорийность Сaloric_content int 10 Выход блюда Dish_weight char 10011 ID_основа Rec_Basis_ID int Basis (Basis_ID) 12 ID_автор Rec_Author_ID intAuthor (Author_ID)
КухняCuisine№Название по-русскиНазвание по-английскиТип переменныхПримечаниеСсылкаОбоснование типа1 ID_кухняCuisine_ID int первичный ключ 2 Название_кухни Cuisine_name char 60 знаков
КатегорияCategory№Название по-русскиНазвание по-английскиТип переменныхПримечаниеСсылкаОбоснование типа1 ID_категории Category_ID int первичный ключ 2 Название_категории Category_name char 50 знаков
Способ приготовленияCooking_method№Название по-русскиНазвание по-английскиТип переменныхПримечаниеСсылкаОбоснование типа1 ID_способа приготовления Cooking_method_ID int первичный ключ 2 Название_спос