Статья опубликована в рамках: XXXVII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 24 декабря 2015 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
- Условия публикаций
- Все статьи конференции
дипломов
ПРОЕКТИРОВАНИЕ БД В СРЕДЕ MICROSOFT VISUAL STUDIO
Хачатурян Владислав Альбертович
студент 3 курса, кафедра автоматизированных систем управления филиала ФГБОУ ВПО МИРЭА,
РФ, г. Ставрополь
E-mail: vlad.ha4@yandex.ru
Авакян Тамара Ашотовна
доцент, кафедра автоматизированных систем управления филиала ФГБОУ ВПО МИРЭА,
РФ, г. Ставрополь
Проектирование приложения для работы с базой данных – сложный процесс, который начинается с рассмотрения предметной области, а заканчивается созданием приложения, поддерживающего просмотр, добавление, удаление, сортировку и поиск записей, взаимосвязанных друг с другом в рамках данной предметной области [1]. Для изучения особенностей реализации этих функций на примере конкретного проекта выберем предметную область «Автоматизация рабочего места сотрудника коммерческой фирмы».
Преимущество Microsoft Visual Studio перед другими средствами проектирования баз данных – разнообразие всевозможных средств, позволяющих реализовать практически любую задумку заказчика или программиста. Этому способствует большое количество встроенных в среду разработки элементов, начиная с кнопок и заканчивая средствами интеграции с файлами баз данных, таких как Oracle, SQL Server, Access. Это означает, что можно создать базу данных в любой удобной среде моделирования.
При работе с базой данных в среде разработки Visual Studio есть возможность не только задать все ограничения первичного ключа, но и вообще исключить пользователя из данного процесса. Для создания набора таблиц удобно использовать встроенный элемент DataSet, поддерживающий режим конструктора таблиц, в котором для столбца, содержащего первичный ключ (ПК), указаны необходимые свойства (таблица 1).
Таблица 1.
Свойства столбца с ПК
Сумма всех этих свойств позволяет не указывать первичные ключи на этапе моделирования базы данных, так как они реализуются программно.
В примере (рисунок 1) данные отображаются в элементе DataGridView, представляющем собой таблицу. Особенность этого элемента в том, что ячейка необязательно является текстовым полем для ввода данных с клавиатуры. Один из доступных типов ячейки – ComboBoxColumn, то есть выпадающей список. При настройке выпадающего списка необходимо указать только набор данных, из которого осуществляется выбор (рисунок 2). В результате получается поле, при нажатии на которое открывается список, позволяющий выбрать нужное значение. В данном случае, товар «Хлеб пшеничный» относится к виду товара с кодом 2, то есть к хлебобулочным изделиям.
Рисунок 1. Реализация внешнего ключа посредством выпадающего списка
Рисунок 2. Настройка выпадающего списка в элементе DataGridView
Для поиска данных используется параметрический запрос, написанный на языке SQL [3].
SELECT [Код поставщика], Наименование, [Тип поставщика], Адрес, Телефон, Договор, ОГРН, ИНН, КПП
FROM Поставщик
WHERE (LOWER(Наименование) LIKE LOWER(@1)) AND (LOWER(Адрес) LIKE LOWER(@2)) AND (LOWER(Телефон) LIKE (@3)) AND (ОГРН LIKE @4 OR ОГРН IS NULL) AND (ИНН LIKE @5 OR ИНН IS NULL) AND (КПП LIKE @6 OR КПП IS NULL)
Оператор SELECT указывает, какие поля необходимо выбрать из таблицы Поставщик. После оператора WHERE следуют условия поиска, объединённые операторами AND/OR (и/или). Оператор CAST преобразует число [Код должности] в строку. Операторы LOWER преобразует строки в нижний регистр. Оператор IS NULL позволяет найти незаполненные строки. Параметры с @1 по @6 будут загружены из элементов textBox (рисунок 3).
Рисунок 3. Поиск поставщиков по наименованию
Итак, в рассматриваемой фирме есть товар, и есть операции над этим товаром (покупка, продажа, списание и др.). Для владельца фирмы необходима такая функция, как подсчёт остатка товара. Подобный отчёт можно легко реализовать и в Visual Studio с использованием циклов [5]. Внутри первого цикла перебираются все товары, для которых необходимо составить отчёт:
for (int i = 0; i < Товар2->Rows->Count-1; i++) {...}
Внутри второго цикла происходит перебор всех операций. Если поля Код товара совпадают в обоих таблицах (Товар и Операция), то в зависимости от вида операции (в данной программе код покупки – 1, продажи – 2, списания – 3) происходит накопление суммы. При покупке товар добавляется к остатку, при продаже и списании убавляется. Итоговое значение остатка записывается в таблицу Товар.
for (int j = 0; j < Операция1->Rows->Count-1; j++)
if (Операция1->Rows[j]->Cells[2]->Value->ToString() ==
Товар2->Rows[i]->Cells[0]->Value->ToString())
{
if (Операция1->Rows[j]->Cells[1]->Value->ToString()=="1") // если Покупка
s+=Convert::ToDouble(Операция1->Rows[j]->Cells[4]->Value->ToString());
if (Операция1->Rows[j]->Cells[1]->Value->ToString()=="2" // если Продажа
|| Операция1->Rows[j]->Cells[1]->Value->ToString()=="3") // если списание
s-=Convert::ToDouble(Операция1->Rows[j]->Cells[4]->Value->ToString());
}
Товар2->Rows[i]->Cells[4]->Value = s;
Сумма остатка считается также в цикле, как сумма произведения количества оставшегося товара на его стоимость продажи. В программе такой отчёт может выглядеть, как на рисунке 4, но при необходимости его можно представить в любой другой форме и предоставить любые другие вычисляемые значения.
Рисунок 4. Отчёт по остатку товара с кодом вида товара равным 1
Список литературы:
- Агальцов В.П. Базы данных. В 2-х т. Т. 1. Локальные базы данных: Учебник. М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. - 352 c.
- Голицына О.Л. Базы данных. М.: Форум, 2004. - 352 c.
- Грофф Джеймс Р. SQL: Энциклопедия. М.: СПб: Питер, 2003. - 896 c.
- Дьюхарст С.С. Программирование на C++ . М.: СПб.: Питер, 1993. - 272 c.
- Страуструп Б. Язык программирования C++. М.: СПб.: Питер, 1991. - 350 c.
дипломов
Оставить комментарий