- •1.Анализ предметной области
- •Описание предметной области и функции решаемых задач.
- •1.2 Перечень входных данных
- •3. Разработка инфологической модели предметной области
- •3.1 Описание бизнес-процессов предметной области
- •3.2 Выделение информационных объектов. Определение атрибутов объектов.
- •3.3 Определение отношений и мощности отношений между объектами
- •3.4 Построение схемы инфологической модели
- •4. Разработка даталогической структуры базы данных
- •5. Создание клиентской части приложения в Visual Studio c#. Sql-запросы
- •5.1 Компоненты клиентского приложения
- •5.2 Результаты работы клиентского приложения
- •5.3 Создание sql-запросов проектируемой бд
5. Создание клиентской части приложения в Visual Studio c#. Sql-запросы
5.1 Компоненты клиентского приложения
На форму приложения был добавлен компонент TabControl, позволяющий использовать вкладки для упрощения пользования программой (Рисунок 29).
Рисунок 29 – Внутреннее построение приложения
На каждой из вкладок были добавлены компоненты DataSet, BindingSource, DataGridView, BindingNavigator (два последних являются визуальными компонентами, первый из них служит для интуитивно понятного переключения между ячейками таблиц, а второй отображает таблицы, которые сохранены в БД ACCESS). В событии FormLoad прописаны команды загрузки таблиц из БД.
5.2 Результаты работы клиентского приложения
После настройки компонентов визуализации таблицы БД на каждой вкладке, программа отображает записи таблицы БД. Таблица «Должности» показана на рисунке 30.
Рисунок 30 - Таблица «Должности»
Таблица «Заказы» показана на рисунке 31.
Рисунок 31 - Таблица «Заказы»
Таблица «Поставщики» показана на рисунке 32.
Рисунок 32 - Таблица «Поставщики»
Таблица «Продажи» показана на рисунке 33.
Рисунок 33 - Таблица «Продажи»
Таблица «Сотрудники» показана на рисунке 34.
Рисунок 34 - Таблица «Сотрудники»
Таблица «Товар» показана на рисунке 35.
Рисунок 34 - Таблица «Товар»
5.3 Создание sql-запросов проектируемой бд
Кроме того, была создана одна дополнительная вкладка "Запросы", которая помимо обычных компонентов содержит 5 кнопок, для каждой из которых была написана процедура, выполняющая определенный SQL-запрос. Далее приведены примеры SQL кода в процедурах (полный код в приложении):
Запрос «Продавцы»:
Данный запрос фильтрует информацию из таблицы "Сотрудники" и выводит список сотрудников, которые занимают должность продавца
SQL-запрос: SELECT Сотрудники.* FROM Сотрудники WHERE Должность = 1;.
Результат выполнения запроса показан на рисунке 35.
Рисунок 35 – Запрос «Продавцы»
Запрос «Директор»:
Данный запрос фильтрует информацию из таблицы "Сотрудники" и выводит информацию о директоре магазина.
SQL-запрос: SELECT Сотрудники.* FROM Сотрудники WHERE Должность = 3;.
Результат выполнения запроса показан на рисунке 36.
Рисунок 35 – Запрос «Директор»
Запрос «Продукция Microsoft»:
Данный запрос фильтрует информацию из таблицы "Товар" и выводит список продукции Microsoft в наличии.
SQL-запрос: SELECT Товар.* FROM Товар WHERE Поставщик = 1;.
Результат выполнения запроса показан на рисунке 36.
Рисунок 36 – Запрос «Продукция Microsoft»
Запрос «Заказы на 01.06.16»:
Данный запрос фильтрует информацию из таблицы "Заказы" и выводит список заказов сделанных первого июня 2016 года..
SQL-запрос: SELECT Заказы.* FROM Заказы WHERE Day(Дата) = 1;
Результат выполнения запроса показан на рисунке 37.
Рисунок 37 – Запрос «Заказы на 01.06.16»
Заключение
Проделанная работа позволяет любому работнику хранить большие объёмы информации, обрабатывать их, сортировать, делать выборки по определённым критериям.
Разработанная база данных может быть использована в работе предприятия по реализации и распространению программного обеспечения.
База данных была разработана с помощью СУБД Microsoft Access 2010, а клиентское приложение для работы с базой данных на языке программирования C# VISUAL STUDIO 2015. Реализован учет клиентов.
Литература
Гущин А. Н. Базы данных. Учебник / М.: Директ-Медиа, 2014. – 266 с.
Голицына Ольга Леонидовна, Максимов Николай Вениаминович, Попов Игорь Иванович. Базы данных. Учебное пособие М: Форум, 2014. 400 с.
Кузнецов С.Д. “Основы баз данных“ Интернет-университет информационных технологий - ИНТУИТ.ру, 2005
Кумскова Ирина Александровна. Базы данных. Учебник / М.: Кнорус, 2012
Малыхина М. П. Базы данных: основы, проектирование, использование. – СПб.: БХВ-Петербург, 2004. – 512 с: ил. ISBN 5-94157-310-4
Маркин А.В. Построение запросов и программирование на SQL. Гриф УМО ВУЗов России / М: Диалог-МИФИ 2014.- 320 с.
Новиков Б.А., Домбровская Г.Р. Настройка приложений баз данных. Гриф УМО МО РФ. / БХВ-Петербург. 2012, 240 с.
А. Сергеев. «Access 2007. Новые возможности». Спб: Питер, 2008 – 176с.
Борис Советов, Владислав Цехановский, Владимир Чертовской. Базы данных. Учебник М: Издательство «Юрайт», 2015. 464 с.
Уидом Дженнифер. Реляционные базы данных. Руководство / М:Лори 2014, 374 с.
Приложение. Листинг программы
Листинг запроса 1: «Продавцы»
private void button1_Click(object sender, EventArgs e)
{
var Подключение = new System.Data.OleDb.OleDbConnection("Data Source=\"D:\\Магазин ПО1.mdb\";User " +
"ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";");
Подключение.Open();
var command = new System.Data.OleDb.OleDbCommand(" SELECT Сотрудники.* FROM Сотрудники WHERE Должность = 1; ", Подключение);
var Адаптер = new System.Data.OleDb.OleDbDataAdapter(command);
var НаборДанных = new System.Data.DataSet();
Адаптер.Fill(НаборДанных, "Сотрудники");
//Указать источник данных для сетки данных:
dataGridView7.DataSource = НаборДанных;
//Указать имя таблицы в наборе данных:
dataGridView7.DataMember = "Сотрудники";
Подключение.Close();
}
Листинг запроса 2: «Директор»
private void button2_Click(object sender, EventArgs e)
{
var Подключение = new System.Data.OleDb.OleDbConnection("Data Source=\"D:\\Магазин ПО1.mdb\";User " +
"ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";");
Подключение.Open();
var command = new System.Data.OleDb.OleDbCommand(" SELECT Сотрудники.* FROM Сотрудники WHERE Должность = 3; ", Подключение);
var Адаптер = new System.Data.OleDb.OleDbDataAdapter(command);
var НаборДанных = new System.Data.DataSet();
Адаптер.Fill(НаборДанных, "Сотрудники");
//Указать источник данных для сетки данных:
dataGridView7.DataSource = НаборДанных;
//Указать имя таблицы в наборе данных:
dataGridView7.DataMember = "Сотрудники";
Подключение.Close();
}
Листинг запроса 3: «Продукция Microsoft»
private void button3_Click(object sender, EventArgs e)
{
var Подключение = new System.Data.OleDb.OleDbConnection("Data Source=\"D:\\Магазин ПО1.mdb\";User " +
"ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";");
Подключение.Open();
var command = new System.Data.OleDb.OleDbCommand(" SELECT Товар.* FROM Товар WHERE Поставщик = 1; ", Подключение);
var Адаптер = new System.Data.OleDb.OleDbDataAdapter(command);
var НаборДанных = new System.Data.DataSet();
Адаптер.Fill(НаборДанных, "Товар");
//Указать источник данных для сетки данных:
dataGridView7.DataSource = НаборДанных;
//Указать имя таблицы в наборе данных:
dataGridView7.DataMember = "Товар";
Подключение.Close();
}
Листинг запроса 4: «Заказы на 01.06.16»
private void button4_Click(object sender, EventArgs e)
{
var Подключение = new System.Data.OleDb.OleDbConnection("Data Source=\"D:\\Магазин ПО1.mdb\";User " +
"ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";");
Подключение.Open();
var command = new System.Data.OleDb.OleDbCommand(" SELECT Заказы.* FROM Заказы WHERE Day(Дата) = 1; ", Подключение);
var Адаптер = new System.Data.OleDb.OleDbDataAdapter(command);
var НаборДанных = new System.Data.DataSet();
Адаптер.Fill(НаборДанных, "Заказы");
//Указать источник данных для сетки данных:
dataGridView7.DataSource = НаборДанных;
//Указать имя таблицы в наборе данных:
dataGridView7.DataMember = "Заказы";
Подключение.Close();
}
