Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая информатика(на проверку).doc
Скачиваний:
5
Добавлен:
18.09.2019
Размер:
6.92 Mб
Скачать

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

Кафедра управления в социально-экономических системах

Курсовая работа

по дисциплине «Информатика»

на тему «Кулинарная книга»

Выполнил студент гр. 1242/3

____________ М.В.Кулик

Проверил преподаватель

____________ Иванова Л.В.

г. Санкт-Петербург

2012

Содержание Оглавление

Введение. Описание предметной области. 4

Логическая схема. 7

Программная схема решения Описание таблиц. 8

Запросы. 19

Список литературы 33

Введение. Описание предметной области.

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

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

Изучение предметной области: Создать базу данных для подбора нужного рецепта по заданным параметрам.

Цели и задачи информационной системы для кулинарной книги.

Цель – Упрощение процесса поиска и хранения рецептов.

Все это было необходимо учесть при создании базы данных кулинарной книги. Следовательно, основными задачами моей базы данных было:

1.Хранение информации о

а. Названии рецепта

b. Месте его происхождения

c. Типе рецепта

d. Используемых в нем продуктах

e. Инструкции его приготовления

2. Поиск рецепта

a. Поиск рецепта по типу блюда

b. Поиск рецепта по названию

с. Поиск рецепта по стране происхождения

d. Поиск рецепта по имеющимся в наличии у домохозяйки продуктам

3.Добавление

a. Нового рецепта к уже имеющимся

b. Добавление новых продуктов в кулинарную книгу

c. Добавление новых стран происхождения

d. Добавление новых типов блюда

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

Т аким образом, форма должна иметь следующий вид:

Информационная модель.

Ингридиенты

Продукты

Описание рецепта

рецепт

Тип блюда

Страна происхождения

Вывод отчета (подходящего рецепта)

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

Главная задача СУБД – поиск рецепта по заданным параметрам и добавление нового рецепта.

Для этого надо хранить информацию о:

Стране происхождения

Типе блюда

Ингредиентах

Продуктах

Описании рецепта

Таким образом получилось 5 таблиц: «Ингредиенты», «Продукты», «Рецепты», «Страна происхождения», «Тип блюда».

Впоследствии добавилась еще одна вспомогательная таблица для временного хранения отобранных товаров под названием «Отбор_на_поиск».

Логическая схема.

Кулинарная книга

Рецепты

Добавление рецепта

Поиск по стране происхождения

Поиск по типу блюда

Поиск по продуктам

Поиск

Печать рецепта

Продукты

Добавление продуктов

Классификация продуктов

Определение ингредиентов

Поиск по названию рецепта

Программная схема решения Описание таблиц.

Мною были выработаны следующие таблицы:

  • Ингредиенты

  • Продукты

  • Рецепты

  • Страна происхождения

  • Тип Блюда

Теперь рассмотрим более подробно каждую из таблиц:

  1. Продукты

Т аблица содержит всю информацию о названии продукта, его количестве, единицах измерения данного продукта:

Для поля ЕденицыИзмерения: значение по умолчанию - гр

  1. Т ип блюда:

Информация о типе блюда:

  1. Страна происхождения:

И нформация о стране, родине рецептов:

  1. Рецепты

Д анная таблица нужна для представления информации о самом рецепте, его названии, описании, стране происхождения, типе блюда:

  1. Ингредиенты

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

Т аблица выглядит так:

  1. Вспомогательная таблица для временного хранения отобранных данных – кодов продуктов (для поиска рецепта по продуктам).

Схема данных.

М ежду таблицами для обеспечения целостности данных установлены следующие связи:

  1. Таблица “Продукты” связана с таблицей “Ингридиенты” с помощью поля “КодПродукта”

  2. Таблица “Тип Блюда” связана с таблицей “Рецепты” с помощью поля “КодТипаБлюда”

  3. Таблица “Страна происхождения” связана с таблицей “Рецепты” с помощью поля “КодСтраныПроисхождения”

  4. Таблица “Ингридиенты” связана с таблицей “Рецепты” с помощью поля “КодБлюда”

Описание форм.

В процессе создания базы данных я построил 7 форм. Формы служат для просмотра, хранения, добавления, изменения информации, для выборки (поиску) информации по заданным параметрам.

Сначала было необходимо создать ленточные формы для каждой таблицы:

  1. П родукты

Автоформа: ленточная.

Источник записей: таблица “Продукты”

Поле “КодПродукта”: вывод на экран – нет

Всплывающее окно: да

Модальное окно:да

  1. Т ипыБлюд

Автоформа: ленточная.

Источник записей: таблица “ТипБлюда”

Поле “КодТипаБлюда”: вывод на экран – нет

Всплывающее окно: да

Модальное окно:да

  1. С траны

Автоформа: ленточная.

Источник записей: таблица “СтранаПроисхождения”

Поле “КодСтраныПроисхождения”: вывод на экран – нет

Всплывающее окно: да

Модальное окно:да

  1. Ингредиенты

Автоформа: Подчиненная к форме Рецепты

Источник записей: таблица “Ингредиенты”

Поля “КодБлюда”,“КодРецепта”: вывод на экран – нет

Для удобства на форму были добавлены следующие кнопки:

К нопка41 (с помощью мастера): категория - работа с формой; действие – открыть форму «Продукты» (для добавления нового продукта)

К нопка42 (с помощью мастера): категория – обработка записей; действие – удалить запись

Также поле КодПродукта преобразовано в поле со списком.

КодПродукта

Данные: КодПродукта

Источник строк: SELECT Продукты.НаименованиеПродукта, Продукты.КодПродукта FROM Продукты ORDER BY Продукты.НаименованиеПродукта;

Добавлено ПолеСоСписком13 для отображения единиц измерения ингредиентов:

ПолеСоСписком13

Данные: КодПродукта

Источник строк: SELECT Продукты.[Еденицы измерения], Продукты.КодПродукта FROM Продукты;

Д оступ: нет

Блокировка: да

  1. Search_Form

Автоформа: Ленточная

Форма служит для отбора ингредиентов из общего списка для дальнейшего поиска рецепта по отобранным значениям

Всплывающее окно: да

Модальное окно: да

При закрытии формы выполняется следующая команда:

Private Sub Form_Close()

DoCmd.SetWarnings False

DoCmd.OpenQuery "ClearOtbor"

DoCmd.SetWarnings False

End Sub

Содержит в себе:

Списки:

S1

Источник строк: запрос SpNoSelect (см. запросы)

Нажатие кнопки: [Процедура обработки событий]

Private Sub S1_Click()

Me.S1.Requery

End Sub

Двойное нажатие кнопки: [Процедура обработки событий]

Private Sub S1_DblClick(Cancel As Integer)

ToSelect_Click

End Sub

S2

Источник строк: запрос SpSelect (см. запросы)

Двойное нажатие кнопки: [Процедура обработки событий]

Private Sub S2_DblClick(Cancel As Integer)

FromSelect_Click

End Sub

Кнопки:

ToSelect:

Нажатие кнопки: [Процедура обработки событий]

Private Sub ToSelect_Click()

DoCmd.SetWarnings False '

DoCmd.OpenQuery "NumSelect"

'Me.S1.Requery

DoCmd.SetWarnings True '

Me.S2.Requery

Me.S1.Requery

S1.Value = Empty

End Sub

FromSelect:

Нажатие кнопки: [Процедура обработки событий]

Private Sub FromSelect_Click()

DoCmd.SetWarnings False

DoCmd.OpenQuery "FromSelect"

DoCmd.SetWarnings False

Me.S1.Requery

Me.S2.Requery

End Sub

Искать (подложен запрос Поиск_по_продуктам)*

*см. запросы

Нажатие кнопки: [Процедура обработки событий]

Private Sub Искать_Click()

On Error Resume Next

Forms("Рецепты").RecordSource = "Поиск_по_продуктам"

Forms("Рецепты").Requery

DoCmd.Close acForm, Me.Name

E nd Sub