Автор: Пользователь скрыл имя, 07 Января 2015 в 18:58, курсовая работа
В рамках данной курсовой работы была поставлена следующая задача: разделить множество всех рецептов по принадлежности к той или иной национальной кухне (русская, итальянская, европейская, японская), определенному виду блюда (закуска, салат, суп, паста, пицца, горячее, десерт), наличию ингредиентов (рыба, мясо, салат, помидоры и т.д.), основе (рыбная, мясная, овощная), способу приготовления блюда (жареное, вареное, тушеное, печеное). Каждый рецепт имеет своё происхождение, которое также будет храниться в базе данных. Также, организована возможность комментирования рецепта пользователями с запоминанием имени этого пользователя и когда сообщение было оставлено.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
Темой данной курсовой работы является «Проектирование и разработка реляционной базы данных «Электронная кулинарная книга».
На сегодняшний день базы данных занимают одно из первых мест среди различных структур хранения данных. База данных является эффективно организованной структурой хранения данных, которая предоставляет пользователю значительные возможности при работе с информацией, находящейся в ней.
В рамках данной курсовой работы была поставлена следующая задача: разделить множество всех рецептов по принадлежности к той или иной национальной кухне (русская, итальянская, европейская, японская), определенному виду блюда (закуска, салат, суп, паста, пицца, горячее, десерт), наличию ингредиентов (рыба, мясо, салат, помидоры и т.д.), основе (рыбная, мясная, овощная), способу приготовления блюда (жареное, вареное, тушеное, печеное). Каждый рецепт имеет своё происхождение, которое также будет храниться в базе данных. Также, организована возможность комментирования рецепта пользователями с запоминанием имени этого пользователя и когда сообщение было оставлено. Предусмотрена возможность отфильтрования рецептов исходя из предпочтений пользователя (по категории блюда, по калорийности, по принадлежности к национальной кухне и т.д.).
Для создания и сопровождения
базы данных будет
1 ПОСТРОЕНИЕ ИНФОЛОГИЧЕСКОЙ
КОНЦЕПТУАЛЬНОЙ МОДЕЛИ
Инфологической моделью данных является описание, которое выполненно с использованием естественного языка, таблиц, математических формул, и других средств, которые понятны людям, работающим над проектированием базы данных.
Цель инфологического моделирования является обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных.
1.1 Анализ предметной области
и
выявление необходимого набора сущностей
Перед началом разработки базы данных, необходимо определить основные цели, задачи и правила для решаемой проблемы, после чего приступать к проектированию. Поэтому сформулируем краткое описание поставленной задачи.
Наименование задачи – автоматизация учета рецептов в электронной кулинарной книге, добавление нового рецепта, оценка рецепта, которую выполняет пользователь, так же выбор подходящего для себя рецепта.
Цель работы пользователя – добавлять новый рецепт, оставлять отзывы на рецепты
Цель работы администратора – администрирование приложения
Для построения информационной системы требуется для начала выделить необходимы набор сущностей, которые описывают эту систему. Данный набор должен удовлетворять всем условиям на проектирование системы.
Для учета рецептов в кулинарной книге необходимо описание такой сущности как рецепт. В данной сущности должны быть заложены описательные характеристики рецепта, однозначно идентифицирующие его: название, описание способа приготовления, калорийность блюда, выход блюда(кг, г).
Любой рецепт принадлежит какой-либо национальной кухне, поэтому выбелим сущность - кухня.
Так же у каждого рецепта есть своя категория, для этого была выделена сущность – категория.
У любого рецепта есть основа с которой начинается п риготовление блюда, именно для этого была выделена сушность – основа.
Так же у нас есть возможность добавления рецепта из книги, для этого была создана сущность - книга.
Исходя из того что у нас электронная кулинарная книга, было принято решение, что пользователи могут оставлять коментарии о рецепте, именно для этого были созданы сущности - пользователь и отзыв. Любой пользователь может оставлять неограниченное колличество отзывов о рецептах.
Пользователь может подобрать себе рецепт исходя из его предпочтений, например ввести ингридиенты и выбрать подходящий для себя рецепт.
У пользователя есть возможность просмотра ТОП 10 популярных рецептов за текущий месяц, добавлять новый рецепт, просмотрее более полную информацию о данном рецепте.
1.2 Обоснование требуемого набора атрибутов
для каждой сущности
и выделение идентифицирующих атрибутов
Атрибут – поименованная характеристика сущности.
Атрибутом сущности является любая деталь, которая служит для уточнения, идентификации, классификации, числовой характеристики или выражения состояния сущности.
Для каждой сущности, выделенной в пункте 1.1. необходимо определить атрибуты.
№ |
Название атрибута по-русски |
Название атрибута по-английски |
1 |
ID_рецепт |
Recipe_ID |
2 |
ID_кухня |
Rec_Cuisine_ID |
3 |
ID_категория |
Rec_Category_ID |
4 |
ID_способа_приготовления |
Rec_Coocking_method_ID |
5 |
ID_пользователя |
Rec_User_ID |
6 |
ID_книги |
Rec_Book_ID |
7 |
Описание_способа_приготовления |
Description_cooking_method |
8 |
Название_рецепта |
Recipe_name |
9 |
Калорийность |
Caloric_content |
10 |
Выход_блюда |
Dish_weight |
11 |
ID_основа |
Rec_Basis_ID |
12 |
ID_автор |
Rec_Author_ID |
№ |
Название атрибута по-русски |
Название атрибута по-английски |
1 |
ID_кухня |
Cuisine_ID |
2 |
Название_кухни |
Cuisine_name |
№ |
Название атрибута по-русски |
Название атрибута по-английски |
1 |
ID_категории |
Category_ID |
2 |
Название_категории |
Category_name |
№ |
Название атрибута по-русски |
Название атрибута по-английски |
1 |
ID_способа приготовления |
Cooking_method_ID |
2 |
Название_способа |
Method_name |
№ |
Название атрибута по-русски |
Название атрибута по-английски |
1 |
ID_состав |
Composition_ID |
2 |
ID_ ингредиент |
Comp_Ingredient_ID |
3 |
ID_рецепт |
Comp_recipe_ID |
4 |
ID_мера_измерения |
Comp_Unit_measure_ID |
5 |
ID_состояние |
Comp_condition_ID |
6 |
Количество |
Quantity |
№ |
Название атрибута по-русски |
Название атрибута по-английски |
1 |
ID_состояния |
Condition_ID |
2 |
Название |
Condition_name |
№ |
Название атрибута по-русски |
Название атрибута по-английски |
1 |
ID_состояния |
Condition_ID |
2 |
Название |
Condition_name |
№ |
Название атрибута по-русски |
Название атрибута по-английски |
1 |
ID_состояния |
Condition_ID |
2 |
Название |
Condition_name |
№ |
Название атрибута по-русски |
Название атрибута по-английски |
1 |
ID_отзыва |
Reference_ID |
2 |
ID_пользователя |
Ref_User_ID |
3 |
ID_рецепта |
Ref_Recipe_ID |
4 |
Сообщение |
Message |
5 |
Дата |
Date |
№ |
Название атрибута по-русски |
Название атрибута по-английски |
1 |
ID_пользователя |
User_ID |
2 |
Имя |
Name |
3 |
Фамилия |
Surname |
4 |
Логин |
Login |
5 |
Пароль |
Password |
№ |
Название атрибута по-русски |
Название атрибута по-английски |
1 |
ID_книги |
Book_ID |
2 |
Название |
Tittle |
3 |
Автор |
Author |
4 |
Описание |
Description |
№ |
Название атрибута по-русски |
Название атрибута по-английски |
1 |
ID_основы |
Basis_ID |
2 |
Название |
Basis_name |
1.3 Определение связей между объектами
Следующим этапом в проектировании инфологической модели является установление связи между сущностями.
Связью является ассоциирование двух или более сущностей. Было бы очень просто реализовать структуру базы данных, занимающейся хранением несвязных данных. Но в данном случае одной из основных задач является, например, поиск одних сущностей по значениям других. Для этого необходимо установить связи между таблицами, описанными в предыдущем пункте.
Этот процесс представлен на рис. 1.1.
Рисунок 1.1 – Концептуальная схема базы данных
Проследить отношения, в которых состоят таблицы базы данных можно по схеме, изображенной на в приложении A на рис. А.1.
1.4 Описание полученной модели на языке
инфологического проектирования
Проектирование инфологической модели предметной области – частично формализованное описание объектов предметной области в терминах некоторой семантической модели, например, в терминах ER-модели (англ. entity-relationship model). Это концептуальная модель, служащая для упрощения задачи проектирования базы.
Данная модель предлагает инструменты моделирования данных для представления логических объектов (сущностей) и их отношений (связей) в структуре базы данных.
Достоинство концептуальной модели данных заключается в том, что она не зависит от конкретной системы управления базами данных, или платформы, которая используется при реализации БД.
На основе проведенного проектирования, в частности на основе инфологической схемы, приведенной на рисунке 1.1, получим ER-диаграмму базы данных кулинарной книги, представленную в Приложении A
2 ПОСТРОЕНИЕ
СХЕМЫ РЕЛЯЦИОННОЙ
БАЗЫ ДАННЫХ
2.1 Построение набора необходимых отношений базы данных
Для построения схемы реляционной базы данных необходимо определить совокупность отношений, составляющих базу данных. Эта совокупность отношений будет содержать всю информацию, которая должна храниться в базе данных.
На концептуальной модели, которая была получена в предыдущем пункте, можно определить набор необходимых отношений базы данных.