Проектирование базы данных Шеф-повар
Заказать уникальную курсовую работу- 35 35 страниц
- 6 + 6 источников
- Добавлена 29.07.2017
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
ВВЕДЕНИЕ 2
1. Описание предметной области 4
2 Инфологическое проектирование 5
3 Даталогическое проектирование 9
3.1 Логическое проектирование 9
3.2 Обоснование выбора модели данных 9
3.3 Нормализация данных 11
3.4 Физическое проектирование базы данных 15
5 Обоснование выбора языка и среды программирования 17
6 Описание работы программы 19
ЗАКЛЮЧЕНИЕ 20
СПИСОК ЛИТЕРАТУРЫ 21
ПРИЛОЖЕНИЕ 1. Инфологическая модель 22
ПРИЛОЖЕНИЕ 2. Схема данных 23
ПРИЛОЖЕНИЕ 3. Структуры таблиц Базы Данных 24
ПРИЛОЖЕНИЕ 4. Руководство пользователя 26
ПРИЛОЖЕНИЕ 5. Листинг 33
СПИСОК ЛИТЕРАТУРЫПанферова Л.Ф. Базы данных: учеб.пособие / РГЭУ «РИНХ». – Ростов н/Д, 2006. – 126 с.Ульман Дж.Д., Уидом Дж.. «Введение в системы баз данных», 2000. – 374 с.Зеленков Ю.А. «Введение в базы данных»,1997.Кузин А.В., Демин В.М. «Разработка баз данных в системе MicrosoftAccess», 2007 год.Кириллов В.В. Структурированный язык запросов (SQL). – СПб.: ИТМО, 1994. – 80 с.Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – М.: Финансы и статистика, 1989. – 351 с.ПРИЛОЖЕНИЕ 1. Инфологическая модельРис. П1.1. Инфологическая МОДЕЛЬПРИЛОЖЕНИЕ 2.Схема данныхРис. П2.1. Схема данныхПРИЛОЖЕНИЕ 3. Структуры таблиц Базы ДанныхРис. П3.1. Виды блюдРис. П3.2. Виды кухоньРис. П3.3. Заказы клиентовРис. П3.4. ИнгредиентыРис. П3.5. МенюРис. П3.6.Продукты на складеРис. П3.7. РецептыРис. П3.9. БлюдаРис. П3.10. СтолыПРИЛОЖЕНИЕ 4.Руководство пользователяОбщие сведения о программе: приложение «Шеф-повар»предназначено для организаций связанных с сервисом питания: кафе, ресторанов, столовых и т.п. Данное приложение позволяет просматривать информацию об имеющихся на складе продуктах, о блюдах, изготовляемых в данном заведении, приложение позволяет просмотреть необходимые для блюда ингредиенты и рецепт, позволяет формировать ежедневное меню, оформлять заказы клиентов. Так же, при формировании меню, программа проверяет достаточность количества продуктов на складе для изготовления требуемого количества готового блюда.Пользователь данного программного обеспечения имеет возможность вносить изменения в таблицы: добавлять записи, редактировать и удалять их. Также он может выводить на печать расходную накладную.Для установки и нормального функционирования приложения требуется:процессор с тактовой частотой 500 МГц или выше;объем оперативной памяти 256 Мбайт или более;1,5 Гбайт свободного пространства на жестком диске для загрузки и установки пакета (точный объем зависит от выбранной версии пакета приложений и его конфигурации при установке, кроме того, часть дискового пространства будет освобождена после удаления временных файлов и инсталляционного пакета);монитор с разрешающей способностью 1024×768 пикселей или выше;32-битная операционная система Windows XP с третьим пакетом исправлений — SP 3, или 32 или 64-битные версии операционных систем Windows Vista с первым пакетом исправлений — SP1, Windows 7, Windows Server 2003 R2 с пакетом MSXML 6.0 или Windows Server 2008;для использования аппаратного ускорения графики необходим видеоадаптер, совместимый с технологией DirectX 9.0c с объемом видеопамяти 64 Мбайта или более.Для установки программы необходимо загрузить на компьютер папку Debugс .exeфайлом и файлом базы данных. Описание запуска: для начала работы необходимо запустить .exeфайл. Откроется главное окно программы, представленное на рис. П4.1.Рис. 4.1. Главное окно программыНа данной форме расположены 6 кнопок, которые открывают соответствующие формы. Первая кнопка открывает форму продукты на складе. Рис. 4.2. Продукты на складеНа данной форме представлен справочник продуктов, которые могут быть использованы при приготовлении блюд. Здесь указывается наименование продукта, единица измерения, цена и количество на складе. Данные можно добавить, удалить, редактировать, сортировать (средствами dataGridViewи соответствующих кнопок). Так же возможно осуществить поиск нужной записи по наименованию.Далее, из главной формы мы можем открыть "справочник блюд". На данной форме расположен список всех блюд, которые изготовляются в данном заведении. Возможно осуществить поиск по списку либо отсортировать по любому полю (кликнув на заголовок столбца). С этой формы возможно просмотреть ингредиенты блюда и рецепт блюда (нажав на соответствующие кнопки).Рис. 4.3. БлюдаНа форме "ингредиенты блюда" указаны все продукты, которые необходимы для приготовления с указанием их количества по рецепту.Рис. 4.4. Ингредиенты блюдаНа форме "рецепт блюда" расположено текстовое поле с описанием технологии приготовления.Рис. 4.5. Рецепт блюдаТак же, с главной формы мы можем открыть форму "меню", где будет список блюд по датам, то есть мы можем составить на конкретный день список блюд, которые будем подавать посетителям, а так же просмотреть меню за предыдущие даты. В "меню" мы выбираем блюда из списка блюд и указываем количество, которое хотим приготовить. Программа рассчитывает сколько каких продуктов необходимо для его приготовления, сравнивает с количеством на складе и выдает соответствующее сообщение, если какого-то продукта не хватит.Рис. 4.6. МенюС главной формы мы можем так же перейти к форме "заказов", здесь указываются конкретные заказы конкретных людей. Какой столик заказал, когда, что и сколько.Рис. 4.7. Заказы клиентовТак же на главной форме есть кнопка "справочники", которая открывает следующую форму:Рис. 4.8. - СправочникиНа данной форме расположены три кнопки, открывающие справочники: видов блюд, видов кухонь, столов соответственно. Их заполнение необходимо для дальнейшего описания блюд и заказов.Рис. 4.9. Виды блюдРис. 4.10. Виды кухоньРис. 4.11.СтолыДанная программа позволяет сформировать расходную накладную продуктов исход из данных меню и заказов, в данной накладной отражено когда, сколько и каких продуктов было потрачено.Рис. 4.12. ОтчетПРИЛОЖЕНИЕ 5. Листингusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication16{publicpartialclassForm1 : Form {public Form1() { InitializeComponent(); }privatevoid button1_Click(object sender, EventArgs e) {Products form = newProducts(); form.ShowDialog(); }privatevoid button2_Click(object sender, EventArgs e) {Menu form = newMenu(); form.ShowDialog(); }privatevoid button3_Click(object sender, EventArgs e) {Zakazi form = newZakazi(); form.ShowDialog(); }privatevoid button5_Click(object sender, EventArgs e) {Spravochniki form = newSpravochniki(); form.ShowDialog(); }privatevoid button4_Click(object sender, EventArgs e) {Bluda form = newBluda(); form.ShowDialog(); }privatevoid button6_Click(object sender, EventArgs e) {Report form = newReport(); form.ShowDialog();} }}using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication16{publicpartialclassBluda : Form {public Bluda() { InitializeComponent(); }privatevoid Bluda_Load(object sender, EventArgs e){// TODO: данная строка кода позволяет загрузить данные в таблицу "bdDataSet.Виды_кухонь". При необходимости она может быть перемещена или удалена.this.виды_кухоньTableAdapter.Fill(this.bdDataSet.Виды_кухонь);// TODO: данная строка кода позволяет загрузить данные в таблицу "bdDataSet.Виды_блюд". При необходимости она может быть перемещена или удалена.this.виды_блюдTableAdapter.Fill(this.bdDataSet.Виды_блюд);// TODO: данная строка кода позволяет загрузить данные в таблицу "bdDataSet.Справочник_блюд". При необходимости она может быть перемещена или удалена.this.справочник_блюдTableAdapter.Fill(this.bdDataSet.Справочник_блюд);}privatevoid bdDataSetBindingSource_CurrentChanged(object sender, EventArgs e) { }privatevoid button3_Click(object sender, EventArgs e) {this.справочникБлюдBindingSource.Filter = "[Наименованиеблюда] LIKE '%" + textBox1.Text + "%'"; }privatevoid button4_Click(object sender, EventArgs e) {справочник_блюдTableAdapter.Update(bdDataSet); }privatevoid button2_Click(object sender, EventArgs e) { dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);справочник_блюдTableAdapter.Update(bdDataSet); }privatevoid button1_Click_1(object sender, EventArgs e) {Ingridienti form = newIngridienti();DataRowView currow = (DataRowView)справочникБлюдBindingSource.Current; form.Id = Convert.ToInt32(currow.Row["Код_блюда"].ToString()); form.Text = "Ингредиентыблюда : " + currow.Row["Наименованиеблюда"].ToString(); form.ShowDialog(); }privatevoid button5_Click(object sender, EventArgs e) {recepti recepti = newrecepti();DataRowView currow = (DataRowView)справочникБлюдBindingSource.Current; recepti.Id = Convert.ToInt32(currow.Row["Код_блюда"].ToString()); recepti.Text = "Рецептблюда : " + currow.Row["Наименованиеблюда"].ToString(); recepti.ShowDialog(); } }}using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.OleDb;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication16{publicpartialclassMenu : Form {public Menu() { InitializeComponent(); }privatevoid toolStripContainer1_BottomToolStripPanel_Click(object sender, EventArgs e) { }privatevoid Menu_Load(object sender, EventArgs e){// TODO: данная строка кода позволяет загрузить данные в таблицу "bdDataSet.Справочник_блюд". При необходимости она может быть перемещена или удалена.this.справочник_блюдTableAdapter.Fill(this.bdDataSet.Справочник_блюд);this.менюTableAdapter.Fill(this.bdDataSet.Меню);}privatevoid toolStripButton1_Click(object sender, EventArgs e) {this.менюTableAdapter.Update(bdDataSet); }privatevoid toolStripButton2_Click(object sender, EventArgs e) { dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);this.менюTableAdapter.Update(bdDataSet); }privatevoid dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) {DataRowView currow = (DataRowView)менюBindingSource.Current;if (!currow.Row["Количество"].Equals(DBNull.Value) && !currow.Row["Код_блюда"].Equals(DBNull.Value)) {string connectionString = "provider=Microsoft.Jet.OLEDB.4.0;data source=" + System.IO.Path.Combine(Application.StartupPath, "bd.mdb");OleDbConnection sdwDBConnection = newOleDbConnection(connectionString); sdwDBConnection.Open();string query = "SELECT Продукты.Код_продукта, Продукты.Наименование_продукта, Продукты.Количество AS Приход, Ингредиенты.Количество AS РасходНаБлюдо, " +currow.Row["Количество"].ToString() + " as КоличествоБлюд, Продукты.Количество-(Ингредиенты.Количество * " + currow.Row["Количество"].ToString() + ") AS Остаток, [Справочник блюд].[Наименование блюда]" +" FROM Продукты INNER JOIN ([Справочник блюд] INNER JOIN Ингредиенты ON[Справочник блюд].Код_блюда = Ингредиенты.Код_блюда)" +" ON Продукты.Код_продукта = Ингредиенты.Код_продукта" +" WHERE((([Справочник блюд].Код_блюда) = " + currow.Row["Код_блюда"].ToString() + "));";OleDbCommand queryCommand = newOleDbCommand(query, sdwDBConnection);OleDbDataReader reader = queryCommand.ExecuteReader();string info = "", bludo = "";while (reader.Read()) {if(Convert.ToDouble(reader.GetValue(5)) < 0) { info += "\n Наскладеотсутствует " + Convert.ToString(Convert.ToDouble(reader.GetValue(5)) * -1) + " " + reader.GetString(1); bludo = Convert.ToString(reader.GetValue(6)); } }менюTableAdapter.Update(bdDataSet);if (!info.Equals("")) { info = "Невозможноприготовить " + Convert.ToString(currow.Row["Количество"]) + " единицблюда \"" + bludo + "\"\n" + info;MessageBox.Show(info); } reader.Close(); sdwDBConnection.Close(); } }privatevoid button4_Click(object sender, EventArgs e) {менюTableAdapter.Update(bdDataSet); }privatevoid button2_Click(object sender, EventArgs e) { dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);менюTableAdapter.Update(bdDataSet); }privatevoid button3_Click(object sender, EventArgs e){ } }}
1. Панферова Л.Ф. Базы данных: учеб.пособие / РГЭУ «РИНХ». – Ростов н/Д, 2006. – 126 с.
2. Ульман Дж.Д., Уидом Дж.. «Введение в системы баз данных», 2000. – 374 с.
3. Зеленков Ю.А. «Введение в базы данных»,1997.
4. Кузин А.В., Демин В.М. «Разработка баз данных в системе MicrosoftAccess», 2007 год.
5. Кириллов В.В. Структурированный язык запросов (SQL). – СПб.: ИТМО, 1994. – 80 с.
6. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – М.: Финансы и статистика, 1989. – 351 с.
Вопрос-ответ:
Что такое проектирование базы данных?
Проектирование базы данных - это процесс создания структуры и организации данных в базе данных, чтобы она эффективно хранила и обрабатывала информацию, соответствуя требованиям предметной области и потребностям пользователей.
Каковы основные этапы проектирования базы данных?
Основные этапы проектирования базы данных включают описание предметной области, проведение инфологического и даталогического проектирования, выбор модели данных, нормализацию данных и физическое проектирование базы данных.
Что включает в себя инфологическое проектирование базы данных?
Инфологическое проектирование базы данных включает в себя построение инфологической модели данных, которая описывает сущности, атрибуты и связи между ними в предметной области.
Какими принципами руководствуется нормализация данных?
Нормализация данных руководствуется некоторыми принципами, такими как устранение повторений атрибутов, минимализация хранения ненужной информации, установление связей между таблицами и разделение данных на логически связанные группы.
Как выбрать язык и среду программирования для работы с базой данных?
Выбор языка и среды программирования зависит от требований проекта, доступных ресурсов и опыта разработчиков. Необходимо рассмотреть функциональность языка, его совместимость с базой данных, а также возможности среды программирования для создания удобного интерфейса взаимодействия с базой данных.
Что такое проектирование базы данных?
Проектирование базы данных - это процесс разработки структуры и организации данных, которые будут храниться и обрабатываться в системе управления базами данных.
Какие этапы проходит проектирование базы данных?
Проектирование базы данных проходит через несколько этапов, включая инфологическое проектирование, даталогическое проектирование, логическое проектирование, нормализацию данных и физическое проектирование базы данных.
Что такое инфологическое проектирование базы данных?
Инфологическое проектирование базы данных - это этап, на котором определяются объекты и связи между ними в предметной области системы. В результате этого проектирования создается инфологическая модель, отражающая структуру данных.
Что такое даталогическое проектирование?
Даталогическое проектирование базы данных - это этап, на котором инфологическая модель преобразуется в модель данных, которая определяет схему базы данных и способы хранения данных. В результате этого проектирования создается даталогическая модель базы данных.
Что такое нормализация данных?
Нормализация данных - это процесс разделения данных на отдельные таблицы для исключения избыточности и повышения эффективности хранения и обработки данных. Цель нормализации - достижение сохранения целостности данных и минимизации дублирования информации.
Что представляет собой база данных "Шеф повар"?
База данных "Шеф повар" представляет собой систему для управления рецептами, ингредиентами и меню ресторана. Она позволяет хранить информацию о рецептах, ингредиентах, их количестве, а также о созданных меню.
Какие этапы проектирования базы данных включает статья?
Статья включает описание предметной области, инфологическое проектирование, даталогическое проектирование, обоснование выбора модели данных, нормализацию данных, физическое проектирование базы данных, обоснование выбора языка и среды программирования, а также описание работы программы.