Построение базы данных "Кулинарная книга"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



Санкт-Петербургский Государственный Политехнический Университет

Построение базы данных "Кулинарная книга"

Выполнил:

студент группы 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 Название_спос