Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Разработка базы данных

Тип Курсовая
Предмет Базы данных и экспертные системы

ID (номер) заказа
3380780

500 руб.

Просмотров
1088
Размер файла
2.74 Мб
Поделиться

Ознакомительный фрагмент работы:

Оглавление
TOC \o "1-3" \h \z \u Введение PAGEREF _Toc82549175 \h 31Анализ предметной области PAGEREF _Toc82549176 \h 42Концептуальная модель базы данных PAGEREF _Toc82549177 \h 73Физическая модель базы данных PAGEREF _Toc82549178 \h 134Разработка базы данных в СУБД SQL Server PAGEREF _Toc82549179 \h 165Разработка запросов PAGEREF _Toc82549180 \h 196Разработка приложения PAGEREF _Toc82549181 \h 22Заключение PAGEREF _Toc82549182 \h 27Список литературы PAGEREF _Toc82549183 \h 28Приложение. Фрагменты исходного кода PAGEREF _Toc82549184 \h 29

ВведениеПроектирование базы данных (БД) является одной из наиболее сложных и ответственных задач, связанных с созданием информационных систем.
Методология проектирования баз данных может рассматриваться как совокупность методов и средств, последовательное применение которых обеспечивает разработку проекта баз данных, удовлетворяющего заданным целям.
Выполнение курсовой работы является заключительным этапом обучения по дисциплине «Базы данных» и имеет своей целью систематизацию, закрепление и расширение теоретических знаний и получение практических навыков при решении конкретных задач, связанных с созданием баз данных, развитие творческих навыков при самостоятельном решении задач.
В данном курсовом проекте будет разработана база данных для предметной области «Кафе».
Объектом исследования является процесс разработки базы данных, а предметом курсовой работы является разработка для кафе.
Цель курсовой работы – создание БД для кафе.
Для достижения поставленной цели необходимо выполнить следующие задачи:
Проанализировать предметную область.
Построить ER-модель.
Разработать реляционную модель БД.
Создать объекты БД (таблицы, запросы).

Анализ предметной областиБаза данных – совокупность данных, организованных по определённым правилам, которые предусматривают общие принципы описания, хранения и манипулирования данными, независимая от прикладных программ.
Эти данные относятся к определённой предметной области и организованы таким образом, что могут быть использованы для решения многочисленных задач разными пользователями.
Целью выполнения данной курсовой работы является создание системы для кафе, автоматизирующей учет приготовленных блюд, базы ингредиентов, необходимых для их приготовления, фиксирование всех заказов клиентов, а также изучение ключевых определений, свойств баз данных и систем управления ими.
Проектируемая база данных должна обеспечить ввод соответствующих данных, иметь доступный пользовательский интерфейс. К основным задачам курсовой работы можно отнести:
анализ заданной предметной области;
разработку структуры базы данных;
составление исходных таблиц, которые содержат необходимую информацию для работы с базой данных;
формирование запросов и форм для обработки хранимой информации;
создание отчета.
Предметная область – часть реальной системы, представляющая интерес для данного исследования. В процессе анализа заданной предметной области можно выделить следующие объекты – блюда и их виды, ингредиенты, составляющие основу блюд, а также заказы клиентов, включающие определенные блюда.
Каждое блюдо характеризуется следующими показателями:
код блюда;
название блюда;
наименование вида блюда;
название ингредиента, входящего в состав блюда.
Для формирования заказа блюда в систему вносятся данные:
вес блюда;
дата и время приготовления блюда;
цена блюда.
Название блюда и наименование вида блюда могут быть одинаковыми, однако отличаться составом ингредиентов и уникальным кодом.
Все блюда объединены в группы по видам блюда. Для этого необходимы следующие данные:
код вида блюда;
наименование вида блюда.
Для каждого ингредиента, входящего в состав определенного блюда должны быть учтены:
код ингредиента;
название ингредиента;
остаток на складе.
Для заказа блюда клиентом необходимо учитывать код заказа, номер заказа, название блюда, количество порций.
При разработке курсовой работы допускаются следующие ограничения:
одно блюдо может быть приготовлено из нескольких ингредиентов;
вес блюда хранится в граммах;
существует несколько видов блюд: первое, второе, десерт, напитки;
остаток на складе фиксируется в килограммах;
дата и время хранится в стандартном формате (DD.MM.YYYY 15:30:00);
у разных блюд разная цена;
в одном заказе может быть не более 6 наименований блюд, а количество каждого наименования не более 2-х штук.
Входными данными в заданной предметной области будут являться: список блюд и их виды (вес, дата и время приготовления), ингредиенты, входящие в состав блюд, заказы клиентов, включающие номер и дату заказа, количество порций, цену.
В качестве выходных данных применяются результаты запросов.
Используя заданную систему базы данных можно решать следующие задачи:
вносить данные о блюде, его количестве и стоимости, дате и времени приготовления;
просматривать информацию о наличии необходимых ингредиентов на складе;
изменять данные о блюдах и ингредиентах;
оформлять и отслеживать заказы клиентов.

Концептуальная модель базы данныхКонцептуальная модель базы данных – диаграмма, схематически нарисованная в соответствующих обозначениях и отображающая связь между объектами и их характеристиками. Концептуальная модель необходима для дальнейшего проектирования базы данных. На концептуальной модели показаны связи между объектами данных и их характеристиками.
Для концептуальных баз данных существуют основные понятия:
объект (сущность) – фактическая вещь или объект (для людей) за которой пользователь ведет наблюдение;
атрибут – характеристика объекта, соответствующая его сущности;
связь (отношения) между объектами.
Диаграмму объект/связь (сущность/отношения) называют ER-диаграммой, она была предложена профессором Питером Ченом (Peter Chen) в 1976 году,  в качестве унифицированного способа описания предметной области.
Для ER-диаграмм приняты следующие условные обозначения:
объект (сущность) обозначать прямоугольником;
отношения – ромбом;
атрибуты объектов описываются овалом;
если объект связан с отношением, то их связь обозначается прямой линией;
у объектов выделяются ключевые атрибуты – ключ объекта – это один или более атрибутов, уникально определяющих данный объект. Каждый атрибут может быть связан с одним объектом (сущностью).
Для предметной области «Кафе» можно выделить следующие объекты:
блюда;
виды блюд;
ингредиенты;
заказ клиента.
Каждый из выделенных объектов имеет соответствующие атрибуты:
Объект «Блюда». Сведения об атрибутах объекта «Блюда» отражены в таблице 1:
код блюда – ключевой атрибут, первичный ключ;
название блюда;
наименование вида блюда (существует несколько видов блюд: первое, второе, десерт, напитки);
название ингредиента (блюдо может быть приготовлено из нескольких ингредиентов);
вес блюда (хранится в граммах);
дата и время приготовления - хранится в стандартном формате (DD.MM.YYYY 15:30:00);
цена блюда (у разных блюд разная цена).
Таблица 1 – Атрибуты для объекта «Блюда»
Наименование атрибута Смысловое
значение Признак ключа Формат
Код блюда Код блюда Первичный ключ Счетчик
Название блюда Название блюда Нет Текстовый
Код вида блюда Наименование вида блюда Внешний ключ Числовой
Вес блюда Вес приготовленного блюда Нет Числовой
Цена блюда Стоимость заказанных блюд Нет Числовой
Дата и время приготовления Дата и время приготовления Нет Дата/Время
Объект «Виды блюд». Сведения об атрибутах объекта «Виды блюд» отражены в таблице 2:
код вида - ключевой атрибут, первичный ключ;
наименование вида блюда (существует несколько видов блюд).
Таблица 2 – Атрибуты для объекта «Виды блюд»
Наименование атрибута Смысловое
значение Признак
ключа Тип данных
Код вида Код вида блюда Первичный ключ Счетчик
Наименование вида Наименование вида
блюда Нет Текстовый
Объект «Ингредиенты». Сведения об атрибутах объекта «Ингредиенты» отражены в таблице 3:
код ингредиента – ключевой атрибут, первичный ключ;
название ингредиента;
остаток на складе (фиксируется в килограммах).
Таблица 3 – Атрибуты для объекта «Ингредиенты»
Наименование атрибута Смысловое
значение Признак
ключа Тип данных
Код ингредиента Код ингредиента Первичный ключ Счетчик
Название ингредиента Название ингредиента Нет Текстовый
Остаток на складе Количество продуктов на складе Нет Числовой
Объект «Состав блюда». Сведения об атрибутах объекта «Состав блюда» отражены в таблице 4.
Таблица 4 – Атрибуты для объекта «Состав блюда»
Наименование атрибута Смысловое
значение Признак
ключа Тип данных
Код состава Код вида блюда Счетчик
Код блюда Идентификатор блюда Внешний ключ Числовой
Код ингредиента Идентификатор ингредиента Внешний ключ Числовой
Количество Количество Нет Числовой
Объект «Заказ». Сведения об атрибутах объекта «Заказ» отражены в таблице 5:
номер заказа – ключевой атрибут, первичный ключ;
дата заказа.
Таблица 5 – Атрибуты для объекта «Заказ»
Наименование атрибута Смысловое
значение Признак ключа Формат
Номер заказа Номер заказа Первичный ключ Счетчик
Дата заказа Дата оформления заказа Нет Дата/время
Объект «Состав заказа». Сведения об атрибутах объекта «Состав заказа» отражены в таблице 6.
Таблица 6 – Атрибуты для объекта «Состав заказа»
Наименование атрибута Смысловое
значение Признак ключа Формат
Код состава Код состава Первичный ключ Счетчик
Код заказа Код заказа Нет Счетчик
Код блюда Идентификатор заказанного блюда Внешний ключ Числовой
Количество порций Количество порций в заказе Нет Числовой
Связь представляет взаимодействие между объектами. Она характеризуется мощностью, показывающей, какое количество объектов участвует в связи. Связь между двумя объектами называется бинарной, а более чем с двумя – тернарной.
В рассматриваемой предметной области «Кафе» можно выделить следующие бинарные связи:
Блюда – состоят из – ингредиентов (рис. 1).
Виды блюд – относятся к – блюдам (рис. 2).
Заказ – состоит из – блюда (рис. 3).
Основной характеристикой связи является ее тип. Рассмотрим типы выделенных связей.
Так как одно блюдо может быть приготовлено из нескольких ингредиентов, то связь 1 (объекты «Блюда» и «Ингредиенты») имеет тип «один ко многим». Связь 2 (объекты «Виды блюд» и «Блюда») - «один ко многим», так как к одному виду блюд соотносятся несколько блюд. Объекты «Заказ» и «Блюда» находятся в отношении «один ко многим» (связь 3) - заказ клиента может содержать разное наименование блюд.
При рассмотрении класса принадлежности объекта заданной предметной области можно выделить следующие классы:
каждое блюдо обязательно состоит из ингредиентов;
заказ клиента обязательно состоит из блюд;
каждый продукт не обязательно включен в каждое блюдо;
определенное блюдо не обязательно входит в заказ клиента;
виды блюда обязательно включают перечень блюд;
каждое блюдо не обязательно принадлежит каждому виду блюда.

Рисунок 1 – Связь «Состоят из» между объектами «Блюда» и «Ингредиенты»

Рисунок 2 – Связь «Состоит из» между объектами «Заказ» и «Блюда»

Рисунок 3 – Связь «Относятся к» между объектами «Виды блюд» и «Блюда»
Для этапа логического проектирования основной задачей является создание логической модели, созданной на основе выбранной модели организации данных (СУБД) и соответствующей ей системы управления базами данных. Концептуальная модель данных, созданная на предыдущем этапе, уточняется и преобразуется в логическую модель данных.
На этапе логического проектирования необходимо определить, какая СУБД будет использоваться в качестве основной. Различают сетевые, иерархические, объектно-ориентированные и реляционные СУБД.
Для создания заданной базы данных выбрана реляционная модель. Можно выделить основные достоинства реляционной модели:
простота использования, служащая для легкости формулирования запросов и, соответственно, сокращения времени, затрачиваемого пользователем на формулировку запросов;
эффективность реализации, реляционная модель оперирует только одной конструкцией, понятной конечному пользователю, формулирующему запросы на данные.
В основе реляционной модели данных лежит понятие теоретико-множественных отношений. Отношение можно представить в виде двумерной таблицы при соблюдении определенных ограничений. Набор таблиц может быть использован для хранения данных об реальных объектах и моделирования связей между ними. В реляционной базе данных на каждое отношение накладывается ограничительное условие – они должны быть нормализованы.
Рассмотрим схему преобразования модели «сущность-связь» к реляционной модели для заданных условий.
В заданной модели выделены следующие объекты:
блюда;
ингредиенты;
состав блюда;
виды блюд;
заказ;
состав заказа.
На рисунке 4 представлена логическая модель базы данных.

Рисунок 4 – Логическая модель БД
Физическая модель базы данныхВ таблице 7 представлено описание физической модели базы данных.
Таблица 7 – Физическая модель базы данных
Таблица Атрибуты Тип данных
Вид блюда Код вида блюда Integer
Наименование Varchar (150)
Блюдо Код блюда Integer
Наименование Varchar (150)
Код вида блюда Integer
Цена блюда Decimal
Дата и время приготовления DateTime
Ингредиенты Код ингредиента Integer
Наименование Varchar (150)
Остаток на складе Decimal
Состав блюда Код состава Integer
Код блюда Integer
Код ингредиента Integer
Количество Integer
Заказ Номер заказа Integer
Дата заказа DateTime
Состав заказа Код состава Integer
Код блюда Integer
Количество порций Integer
Номер заказа Integer
Физическая модель базы данных представлена на рисунке 5.

Рисунок 5 – Физическая модель базы данных

Разработка базы данных в СУБД SQL ServerДля создания базы данных кафе выбрана СУБД SQL Server. Схема базы данных представлена на рисунке 6.
Рисунок 6 – Схема базы данных
Структура таблицы «Блюдо» представлена на рисунке 7.

Рисунок 7 – Структура таблицы «Блюдо»
Структура таблицы «Вид блюда» представлена на рисунке 8.

Рисунок 8 – Структура таблицы «Вид блюда»
Структура таблицы «Заказ» представлена на рисунке 9.

Рисунок 9 – Структура таблицы «Заказ»
Для учета ингредиентов используется таблица, представленная на рисунке 10.

Рисунок 10 – Структура таблицы «Ингредиенты»
Структура таблицы «Состав блюда» представлена на рисунке 11.

Рисунок 11 – Структура таблицы «Структура блюда»
Для учета состава заказа используется таблица, представленная на рисунке 12.

Рисунок 12 – Структура таблицы «Состав заказа»
Для ограничения количества блюда в заказе используется следующий триггер, представленный на рисунке 13.

Рисунок 13 - Триггер

Разработка запросовДля разработки приложения были созданы следующие запросы:
Найти блюда, которые содержат все ингредиенты из указанных пользователем при поиске.
Структура запроса представлена на рисунке 14. Список ингредиентов задается программно.

Рисунок 14 – Структура запроса
В. Вывести всю информацию о тех заказах, где был заказан хотя бы один десерт за период времени, указанный пользователем.  Период выборки данных задается в программе (рисунок 15).

Рисунок 15 – Структура запроса
Вывести все продукты, которые входят в состав первых блюд (рисунок 16).

Рисунок 16 – Структура запроса
Вывести информацию о блюдах, цена которой выше средней по меню и при этом эти блюда не были заказаны ни разу за период времени, указанный пользователем (рисунок 17).

Рисунок 17 – Структура запроса

Разработка приложенияДля разработки клиентского приложения для работы с базой данных «Кафе» использована среда разработки Visual Studio и язык программирования C#.
На рисунке 18 представлена главная форма приложения.

Рисунок 18 – Главная форма приложения
Номер и дата заказа заполняются автоматически. При выборе заказа в правой части формы отображается список товаров в заказе.
На рисунке 19 представлена форма учета видов блюд.

Рисунок 19 – Виды блюд
Форма учета ингредиентов представлена на рисунке 20.

Рисунок 20 – Список ингредиентов
Для учета реализуемых блюд используется форма, представленная на рисунке 21.

Рисунок 21 – Список блюд
В верхней части формы находится список блюд, а в нижней части список ингредиентов блюда.
На рисунке 22 представлен пример работы триггера на ограничение количества позиций в заказе.

Рисунок 22 – Проверка работы триггера
На рисунке 23 представлена форма поиска блюд по ингредиентам.

Рисунок 23 – Поиск блюд по ингредиентам
Результат выполнения запроса поиска заказов с десертом за период представлен на рисунке 24.

Рисунок 24 – Результат выполнения запроса
На рисунке 25 представлен пример запроса для просмотра ингредиентов первых блюд.

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

Рисунок 26 – Результат запроса

ЗаключениеВ ходе выполнения курсовой работы была создана база данных для предметной области «Кафе»,
Выполнена постановка задачи.
Выделены сущности и их атрибуты, определена взаимосвязь сущностей. Создана модель «Сущность-связь».
В состав базы данных входят таблицы, между которыми определена связь. Рассмотрены функциональные связи между атрибутами выделенных сущностями, проведена нормализация базы данных к 3НФ.
Для проектирования базы данных была выбрана СУБД MS SQL Server.
Созданы основные запросы к базе данных. Рассмотрены механизмы защиты данных и требования к техническому обеспечению.
Описаны запросы к базе данных.
Разработано клиентское приложение с использованием среды разработки Visual Studio.
В ходе выполнения курсового проекта были приобретены устойчивые навыки проектирования баз данных и разработки запросов. Полученные знания могут быть использованы при разработке более серьезных коммерческих проектов.

Список литературыБаканов М.И., Шеремет А.Д. Теория проектирования баз данных: Учебник. – М.: Финансы и статистика, 2017. – 369 с.
Коротков Э.М. Разработка баз данных: учебник. - 2-е изд. – М.: ИНФРА - М, 2017. – 398 с.
Кузин А. В. Базы данных: учеб. Пособие для студентов ВУЗов / А. В. Кузин, С. В. Левонисова. – 5-е изд., испр. – М.: издательский центр «Академия», 2019. – 320 с.
Мирошниченко Г. А. Реляционные базы данных: практические приемы оптимальных решений. – СПб.: БХВ-Петербург, 2017. – 400 с.
Мухин К.А. Проектирование баз данных, М.: Горячая линия – Телеком, 2017. – 240 с.

Приложение. Фрагменты исходного кодаusing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace KafeRab{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "bd_kafeDataSet.Блюдо". При необходимости она может быть перемещена или удалена.
this.блюдоTableAdapter.Fill(this.bd_kafeDataSet.Блюдо);
// TODO: данная строка кода позволяет загрузить данные в таблицу "bd_kafeDataSet.Состав_заказа". При необходимости она может быть перемещена или удалена.
this.состав_заказаTableAdapter.Fill(this.bd_kafeDataSet.Состав_заказа);
// TODO: данная строка кода позволяет загрузить данные в таблицу "bd_kafeDataSet.Заказ". При необходимости она может быть перемещена или удалена.
this.заказTableAdapter.Fill(this.bd_kafeDataSet.Заказ);
bd_kafeDataSet.Заказ.Дата_заказаColumn.DefaultValue = DateTime.Now;
}
private void ToolStripButton1_Click(object sender, EventArgs e)
{
this.Validate();
this.заказBindingSource.EndEdit();
bd_kafeDataSet.ЗаказDataTable deletedOrders = (bd_kafeDataSet.ЗаказDataTable)
bd_kafeDataSet.Заказ.GetChanges(DataRowState.Deleted);
bd_kafeDataSet.ЗаказDataTable newOrders = (bd_kafeDataSet.ЗаказDataTable)
bd_kafeDataSet.Заказ.GetChanges(DataRowState.Added);
bd_kafeDataSet.ЗаказDataTable modifiedOrders = (bd_kafeDataSet.ЗаказDataTable)
bd_kafeDataSet.Заказ.GetChanges(DataRowState.Modified);
if (deletedOrders != null)
{
заказTableAdapter.Update(deletedOrders);
}
if (newOrders != null)
{
заказTableAdapter.Update(newOrders);
}
if (modifiedOrders != null)
{
заказTableAdapter.Update(modifiedOrders);
}
bd_kafeDataSet.AcceptChanges();
dataGridView2.Enabled = true;
bindingNavigator2.Enabled = true;
//labelErr.Visible = false;
this.заказTableAdapter.Fill(this.bd_kafeDataSet.Заказ);
}
private void ToolStripButton2_Click(object sender, EventArgs e)
{
this.Validate();
this.составЗаказаBindingSource.EndEdit();
bd_kafeDataSet.Состав_заказаDataTable deletedOrders = (bd_kafeDataSet.Состав_заказаDataTable)
bd_kafeDataSet.Состав_заказа.GetChanges(DataRowState.Deleted);
bd_kafeDataSet.Состав_заказаDataTable newOrders = (bd_kafeDataSet.Состав_заказаDataTable)
bd_kafeDataSet.Состав_заказа.GetChanges(DataRowState.Added);
bd_kafeDataSet.Состав_заказаDataTable modifiedOrders = (bd_kafeDataSet.Состав_заказаDataTable)
bd_kafeDataSet.Состав_заказа.GetChanges(DataRowState.Modified);
if (deletedOrders != null)
{
состав_заказаTableAdapter.Update(deletedOrders);
}
if (newOrders != null)
{
состав_заказаTableAdapter.Update(newOrders);
}
if (modifiedOrders != null)
{
состав_заказаTableAdapter.Update(modifiedOrders);
}
bd_kafeDataSet.AcceptChanges();

this.состав_заказаTableAdapter.Fill(this.bd_kafeDataSet.Состав_заказа);
}
private void DataGridView1_UserAddedRow(object sender, DataGridViewRowEventArgs e)
{
dataGridView2.Enabled = !true;
bindingNavigator2.Enabled = !true;
// labelErr.Visible = !false;
}
private void DataGridView1_SelectionChanged(object sender, EventArgs e)
{
if (dataGridView1.Rows.Count > 0 && dataGridView1.CurrentCell != null && dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].DataBoundItem != null)
{
bd_kafeDataSet.ЗаказRow post = (bd_kafeDataSet.ЗаказRow)((DataRowView)dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].DataBoundItem).Row;
if (post != null)
{
составЗаказаBindingSource.Filter = "[Код заказа]=" + post.Номер_заказа;
bd_kafeDataSet.Состав_заказа.Код_заказаColumn.DefaultValue = post.Номер_заказа;
}
else
{
составЗаказаBindingSource.Filter = "[Код заказа]=-2";
}
}
else
{
составЗаказаBindingSource.Filter = "[Код заказа]=-2";
}
}
private void ВидыБлюдToolStripMenuItem_Click(object sender, EventArgs e)
{
FormVidBluda f = new FormVidBluda();
f.ShowDialog();
}
private void ИнгредиентыToolStripMenuItem_Click(object sender, EventArgs e)
{
FormIng f = new FormIng();
f.ShowDialog();
}
private void БлюдаToolStripMenuItem_Click(object sender, EventArgs e)
{
FormBludo f = new FormBludo();
f.ShowDialog();
}
private void ПоискБлюдПоИнгредиентамToolStripMenuItem_Click(object sender, EventArgs e)
{
FormPoisk f = new FormPoisk();
f.ShowDialog();
}
private void ЗаказыСДесертомToolStripMenuItem_Click(object sender, EventArgs e)
{
FormPeriod f = new FormPeriod();
f.namerep = "десерт";
f.ShowDialog();
}
private void ИнгредиентыПервыхБлюдToolStripMenuItem_Click(object sender, EventArgs e)
{
FormPeriod f = new FormPeriod();
f.namerep = "инг";
f.ShowDialog();
}
private void БлюдаЗаПериодСЦенойВышеСреднегоToolStripMenuItem_Click(object sender, EventArgs e)
{
FormPeriod f = new FormPeriod();
f.namerep = "цена";
f.ShowDialog();
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace KafeRab{
public partial class FormPoisk : Form
{
public FormPoisk()
{
InitializeComponent();
}
private void CheckedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{

}
Dictionary<object, bd_kafeDataSet.ИнгредиентыRow> dict = new Dictionary<object, bd_kafeDataSet.ИнгредиентыRow>();
private void FormPoisk_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "bd_kafeDataSet.ПоискПоИнгредиентам". При необходимости она может быть перемещена или удалена.
this.поискПоИнгредиентамTableAdapter.Fill(this.bd_kafeDataSet.ПоискПоИнгредиентам);
// TODO: данная строка кода позволяет загрузить данные в таблицу "bd_kafeDataSet.Состав_блюда". При необходимости она может быть перемещена или удалена.
this.состав_блюдаTableAdapter.Fill(this.bd_kafeDataSet.Состав_блюда);
// TODO: данная строка кода позволяет загрузить данные в таблицу "bd_kafeDataSet.Ингредиенты". При необходимости она может быть перемещена или удалена.
this.ингредиентыTableAdapter.Fill(this.bd_kafeDataSet.Ингредиенты);
// TODO: данная строка кода позволяет загрузить данные в таблицу "bd_kafeDataSet.Вид_блюда". При необходимости она может быть перемещена или удалена.
this.вид_блюдаTableAdapter.Fill(this.bd_kafeDataSet.Вид_блюда);
// TODO: данная строка кода позволяет загрузить данные в таблицу "bd_kafeDataSet.Блюдо". При необходимости она может быть перемещена или удалена.
this.блюдоTableAdapter.Fill(this.bd_kafeDataSet.Блюдо);

foreach (bd_kafeDataSet.ИнгредиентыRow i in bd_kafeDataSet.Ингредиенты)
{
int ii= checkedListBox1.Items.Add(i.Наименование);
dict.Add(checkedListBox1.Items[ii], i);
}
}
private void CheckedListBox1_SelectedIndexChanged(object sender, EventArgs e)
{

}
private void Button1_Click(object sender, EventArgs e)
{
string flter = "";
foreach (object i in checkedListBox1.CheckedItems)
{
bd_kafeDataSet.ИнгредиентыRow r = dict[i];
if (flter != "") flter += ",";
flter += r.Код_ингредиента;
}
if (flter != "")
{
поискПоИнгредиентамBindingSource.Filter = "[Код ингредиента] in (" + flter + ") ";
}
else
{
поискПоИнгредиентамBindingSource.Filter = "[Код ингредиента] in (0) ";
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace KafeRab{
public partial class FormPeriod : Form
{
public FormPeriod()
{
InitializeComponent();
}
public string namerep = "";
private void FormPeriod_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "bd_kafeDataSet1.запрос". При необходимости она может быть перемещена или удалена.
this.запросTableAdapter.Fill(this.bd_kafeDataSet1.запрос);
// TODO: данная строка кода позволяет загрузить данные в таблицу "bd_kafeDataSet.ПродуктыВПервыхБлюдах". При необходимости она может быть перемещена или удалена.
this.продуктыВПервыхБлюдахTableAdapter.Fill(this.bd_kafeDataSet.ПродуктыВПервыхБлюдах);
// TODO: данная строка кода позволяет загрузить данные в таблицу "bd_kafeDataSet.ЗаказыНаДесертПоДате". При необходимости она может быть перемещена или удалена.
this.заказыНаДесертПоДатеTableAdapter.Fill(this.bd_kafeDataSet.ЗаказыНаДесертПоДате);
}
private void Button1_Click(object sender, EventArgs e)
{
string dt1 = dateTimePicker1.Value.Year + "/" + dateTimePicker1.Value.Month + "/" + dateTimePicker1.Value.Day;
string dt2 = dateTimePicker2.Value.Year + "/" + dateTimePicker2.Value.Month + "/" + dateTimePicker2.Value.Day;
if (namerep == "десерт")
{
заказыНаДесертПоДатеBindingSource.Filter = "[Дата заказа]>=#"+dt1+ "# and [Дата заказа] <=#"+dt2+ "# ";
dataGridView1.DataSource = заказыНаДесертПоДатеBindingSource;
}
if (namerep == "инг")
{

dataGridView1.DataSource = продуктыВПервыхБлюдахBindingSource;
}
if (namerep == "цена")
{
bd_kafeDataSetTableAdapters.QueriesTableAdapter q = new bd_kafeDataSetTableAdapters.QueriesTableAdapter();
dataGridView1.DataSource = запросBindingSource;// dateTimePicker1.Value.ToShortDateString(), dateTimePicker1.Value.ToShortDateString());
}
}
}
}


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
54 132 оценки star star star star star
среднее 4.9 из 5
ТюмГУ
Спасибо большое за курсовую работу!! Оригинальность 75%, оценка отлично
star star star star star
СПбГУ
Очень грамотное написание курсовой, видно, что исполнитель разбирается в теме работы и пиш...
star star star star star
РЭУ им.Плеханова
Благодарю Евгению за выполнение работы,оценка-отлично.Сделано -все как положено,грамотно и...
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Подогнать готовую курсовую под СТО

Курсовая, не знаю

Срок сдачи к 7 дек.

только что
только что

Выполнить задания

Другое, Товароведение

Срок сдачи к 6 дек.

1 минуту назад

Архитектура и организация конфигурации памяти вычислительной системы

Лабораторная, Архитектура средств вычислительной техники

Срок сдачи к 12 дек.

1 минуту назад

Организации профилактики травматизма в спортивных секциях в общеобразовательной школе

Курсовая, профилактики травматизма, медицина

Срок сдачи к 5 дек.

2 минуты назад

краткая характеристика сбербанка анализ тарифов РКО

Отчет по практике, дистанционное банковское обслуживание

Срок сдачи к 5 дек.

2 минуты назад

Исследование методов получения случайных чисел с заданным законом распределения

Лабораторная, Моделирование, математика

Срок сдачи к 10 дек.

4 минуты назад

Проектирование заготовок, получаемых литьем в песчано-глинистые формы

Лабораторная, основы технологии машиностроения

Срок сдачи к 14 дек.

4 минуты назад

2504

Презентация, ММУ одна

Срок сдачи к 7 дек.

6 минут назад

выполнить 3 задачи

Контрольная, Сопротивление материалов

Срок сдачи к 11 дек.

6 минут назад

Вам необходимо выбрать модель медиастратегии

Другое, Медиапланирование, реклама, маркетинг

Срок сдачи к 7 дек.

7 минут назад

Ответить на задания

Решение задач, Цифровизация процессов управления, информатика, программирование

Срок сдачи к 20 дек.

7 минут назад
8 минут назад

Все на фото

Курсовая, Землеустройство

Срок сдачи к 12 дек.

9 минут назад

Разработка веб-информационной системы для автоматизации складских операций компании Hoff

Диплом, Логистические системы, логистика, информатика, программирование, теория автоматического управления

Срок сдачи к 1 мар.

10 минут назад
11 минут назад

перевод текста, выполнение упражнений

Перевод с ин. языка, Немецкий язык

Срок сдачи к 7 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно
    Введите ваш e-mail
    Файл с работой придёт вам на почту после оплаты заказа
    Успешно!
    Работа доступна для скачивания 🤗.