Проектирование и разработка реляционной базы данных «Электронная кулинарная книга»

Автор: Пользователь скрыл имя, 07 Января 2015 в 18:58, курсовая работа

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

В рамках данной курсовой работы была поставлена следующая задача: разделить множество всех рецептов по принадлежности к той или иной национальной кухне (русская, итальянская, европейская, японская), определенному виду блюда (закуска, салат, суп, паста, пицца, горячее, десерт), наличию ингредиентов (рыба, мясо, салат, помидоры и т.д.), основе (рыбная, мясная, овощная), способу приготовления блюда (жареное, вареное, тушеное, печеное). Каждый рецепт имеет своё происхождение, которое также будет храниться в базе данных. Также, организована возможность комментирования рецепта пользователями с запоминанием имени этого пользователя и когда сообщение было оставлено.

Файлы: 1 файл

Poyasnitelnaya_zapiska.doc

— 1.14 Мб (Скачать)

 

 

 

СОДЕРЖАНИЕ

 

 

ВВЕДЕНИЕ

 

Темой данной курсовой работы является «Проектирование и разработка реляционной базы данных «Электронная кулинарная книга».

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

В рамках данной курсовой работы была поставлена следующая задача: разделить множество всех рецептов по принадлежности к той или иной национальной кухне (русская, итальянская, европейская, японская), определенному виду блюда (закуска, салат, суп, паста, пицца, горячее, десерт), наличию ингредиентов (рыба, мясо, салат, помидоры и т.д.), основе (рыбная, мясная, овощная), способу приготовления блюда (жареное, вареное, тушеное, печеное). Каждый рецепт имеет своё происхождение, которое также будет храниться в базе данных. Также, организована возможность комментирования рецепта пользователями с запоминанием имени этого пользователя и когда сообщение было оставлено. Предусмотрена возможность отфильтрования рецептов исходя из предпочтений пользователя (по категории блюда, по калорийности, по принадлежности к национальной кухне и т.д.).

 Для создания и сопровождения  базы данных будет использоваться  СУБД Microsoft SQL Server 2012. Для создания клиентского приложения будет использоваться язык программировния C# в среде разработки Microsoft Visual Studio 2012.

 

1 ПОСТРОЕНИЕ ИНФОЛОГИЧЕСКОЙ 
КОНЦЕПТУАЛЬНОЙ МОДЕЛИ

 

 

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

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

 

1.1   Анализ предметной области  и  
выявление необходимого набора сущностей

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

Наименование задачи – автоматизация учета рецептов в электронной кулинарной книге, добавление нового рецепта, оценка рецепта, которую выполняет пользователь, так же выбор подходящего для себя рецепта.

Цель работы пользователя – добавлять новый рецепт, оставлять отзывы на рецепты

Цель работы администратора – администрирование приложения

Для построения информационной системы требуется для начала выделить необходимы набор сущностей, которые описывают эту систему. Данный набор должен удовлетворять всем условиям на проектирование системы.

Для учета рецептов в кулинарной книге необходимо описание такой сущности как рецепт. В данной сущности должны быть заложены описательные характеристики рецепта, однозначно идентифицирующие его: название, описание способа приготовления, калорийность блюда, выход блюда(кг, г).

Любой рецепт принадлежит какой-либо национальной кухне, поэтому выбелим сущность -  кухня.

Так же у каждого рецепта есть своя категория, для этого была выделена сущность – категория.

У любого рецепта есть основа с которой начинается п риготовление блюда, именно для этого была выделена сушность – основа.

Так же у нас есть возможность добавления рецепта из книги, для этого была создана сущность - книга.

Исходя из того что у нас электронная кулинарная книга, было принято решение, что пользователи могут оставлять коментарии о рецепте, именно для этого были созданы сущности - пользователь и отзыв.  Любой пользователь может оставлять неограниченное колличество отзывов о рецептах.

Пользователь может подобрать себе рецепт исходя из его предпочтений, например ввести ингридиенты и выбрать подходящий для себя рецепт.

У пользователя есть возможность просмотра ТОП 10 популярных рецептов за текущий месяц, добавлять новый рецепт, просмотрее более полную информацию о данном рецепте.

 

1.2 Обоснование требуемого набора атрибутов для каждой сущности 
и выделение идентифицирующих атрибутов

Атрибут – поименованная характеристика сущности.

Атрибутом сущности является любая деталь, которая служит для уточнения, идентификации, классификации, числовой характеристики или выражения состояния сущности.

Для каждой сущности, выделенной в пункте 1.1. необходимо определить атрибуты.

    1. Сущность – «Recipe»(Рецепт):

Название атрибута по-русски

Название атрибута по-английски

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. Сущность – «Cuisine»(Кухня):

Название атрибута по-русски

Название атрибута по-английски

1

ID_кухня

Cuisine_ID

2

Название_кухни

Cuisine_name


    1. Сущность – «Category»(Категория):

Название атрибута по-русски

Название атрибута по-английски

1

ID_категории

Category_ID

2

Название_категории

Category_name


    1. Сущность – «Cooking_method»(Способ приготовления):

Название атрибута по-русски

Название атрибута по-английски

1

ID_способа приготовления

Cooking_method_ID

2

Название_способа

Method_name


    1. Сущность – «Composition»(Состав):

Название атрибута по-русски

Название атрибута по-английски

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. Сущность – «Condition»(Состояние):

Название атрибута по-русски

Название атрибута по-английски

1

ID_состояния

Condition_ID

2

Название

Condition_name


    1. Сущность – «Unit_measure»(Единица измерения):

Название атрибута по-русски

Название атрибута по-английски

1

ID_состояния

Condition_ID

2

Название

Condition_name


 

 

    1. Сущность – «Ingredient»(Ингредиент):

Название атрибута по-русски

Название атрибута по-английски

1

ID_состояния

Condition_ID

2

Название

Condition_name


    1. Сущность – «Reference»(Отзыв):

Название атрибута по-русски

Название атрибута по-английски

1

ID_отзыва

Reference_ID

2

ID_пользователя

Ref_User_ID

3

ID_рецепта

Ref_Recipe_ID

4

Сообщение

Message

5

Дата

Date


    1. Сущность – «User_1»(Пользователь):

Название атрибута по-русски

Название атрибута по-английски

1

ID_пользователя

User_ID

2

Имя

Name

3

Фамилия

Surname

4

Логин

Login

5

Пароль

Password


    1. Сущность – «Book»(Книга):

Название атрибута по-русски

Название атрибута по-английски

1

ID_книги

Book_ID

2

Название

Tittle

3

Автор

Author

4

Описание

Description


    1. Сущность – «Basis»(Основа):

Название атрибута по-русски

Название атрибута по-английски

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 Построение набора необходимых  отношений базы данных

Для построения схемы реляционной базы данных необходимо определить совокупность отношений, составляющих базу данных. Эта совокупность отношений будет содержать всю информацию, которая должна храниться в базе данных.

На концептуальной модели, которая была получена в предыдущем пункте, можно определить набор необходимых отношений базы данных.

Информация о работе Проектирование и разработка реляционной базы данных «Электронная кулинарная книга»