Файл: Разработка базы данных Военная часть.docx

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 08.11.2023

Просмотров: 269

Скачиваний: 7

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ПРОЕКТИРОВАНИЕ ПРИЛОЖЕНИЯ

  1. АНАЛИЗ ЗАДАЧИ


Для реализации приложения будет использоваться среда разработки C++ Builder. При помощи среды разработки от компании Embarcadero создание приложений становиться проще в 5 раз и более на основе одной базы исходного кода. С использованием данного подхода, реализация требуемого клиентского приложения становиться проще чем может показаться на первый взгляд.

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

− Должно быть графическим;

− Должно подключаться к серверу базы данных Microsoft SQL;

− Должно выполнять базовые манипуляции с сущностью базы данных;

− Должно иметь возможность переключения сущностей;

− Должно переключаться между пользователями базы данных MS SQL;

− Должно иметь функции выборки по: Диапазону и по 3-м параметрам; После того, как определили задачи на реализацию, создадим проект в среде разработки C++ Builder:

В главном меню создаем проект по шаблону «Windows VCL Application»



Рисунок 5 – Создание проекта



    1. РЕАЛИЗАЦИЯ КЛИЕНТСКОГО ПРИЛОЖЕНИЯ


Первым шагом является создание окна авторизации пользователей. Для этого в созданном окне (Форма) заполняем компонентами «Button», «Label» и «MainMenu» и приводим форму в требуемый вид:



Рисунок 6 – Оформление формы авторизации

Для каждого компонента «Button» создадим функцию OnClick() по которой будет переход на следующую форму (и скрытия окна авторизации).

Код кнопки «Администратор»:

void __fastcall TForm1::Button1Click(TObject *Sender) {

//Переход в форму Администратор

Form1->Hide();

Form2->Show();

Form2->AT->Active = True;

Form2->AC->Connected = True;

}


Данный код по нажатию «Button» скрывает первую форму (окно) и показывает форму (окно), соответствующую пользователю. Также в новооткрытой форме компоненту DBConsul (Компонент служащий для авторизации пользователя на сервер Microsoft SQL) придается в параметр Connected значение True, после чего в новом окне будет получен доступ от пользователя «Администратор» в базе данных. В компонент DBCTable передается значение True при котором активируется курсор для работы с таблицами через интерфейс программы.


Остальные кнопки сделаны по аналогии с данной:

Для «Инженер»:

void __fastcall TForm1::Button2Click(TObject *Sender){

Form1->Hide();

Form5->Show();

Form5->IT->Active = True;

Form5->IC->Connected = True;}

Для «Доктор»:

void __fastcall TForm1::Button3Click(TObject *Sender){

Form1->Hide();

Form8->Show();

Form8->VT->Active = True;

Form8->VC->Connected = True;}

Для «Командира»:{

Form1->Hide();

Form11->Show();

Form11->CT->Active = True;



Form11->CC->Connected = True;}

Следующим шагом создание формы для клиентского окна. Создадим форму, и дополним ее компонентами: «DBGrid», «DBNavigator», «SQLOLEDB». Каждый из вышеперечисленных компонентов является компонентами связывающие приложение с базой данных Microsoft SQL.

Также добавим компонент «MainMenu». Разместим компоненты в следующем порядке:



Рисунок 7 – Заполнение формы окна

После размещения компонентов, создадим 2 функции уведомляющие об успешном подключении и отключении от базы данных. Код для компонента «SQLOLEDB» в случае «Connected»:

void __fastcall TForm2::Connected(TObject *Sender){

ShowMessage("Подключен - Пользователь: Администратор");}

В случае «Disconnected»:



void __fastcall TForm2::Disconnected(TObject *Sender){

ShowMessage("Отключен - Пользователь: Администратор");}

После этого, настроим компонент «MainMenu» добавив в него несколько компонентов «Button» и настроим каждую кнопку отдельно:



Рисунок 8 – Заполнение главного меню



Рисунок 9 – Заполнение категории «Таблицы»



Рисунок 10 – Заполнение категории «Запросы»

Теперь реализуем кнопки в меню окна. Для кнопки «Сменить пользователя» напишем следующий код:

void __fastcall TForm2::N2Click(TObject *Sender){

Form1->Show();

Form2->Hide();

Form2->AC->Connected = False;}

В данном коде открываем окно «Авторизация» и скрываем текущее окно пользователя, передавая параметр False в компонент подключения к базе данным окна «Администратор».



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

void __fastcall TForm2::N5Click(TObject *Sender){

AT->Active = False;

AT->TableName = "Engineer.Оружие";

AT->Active = True;}

Для компонента, отвечающего за обработку таблиц, передаем параметр False и меняем курсор на таблицу «Engineer.Оружие» с последующим параметром True для свойства Active. Остальные кнопки интерфейса во вкладке «Таблицы» идентичны друг другу, за исключением наименования таблиц.

Кнопка «Техника»:

void __fastcall TForm2::N6Click(TObject *Sender){

AT->Active = False;

AT->TableName = "Engineer.Техника";

AT->Active = True;}



Кнопка «Личный состав»:

void __fastcall TForm2::N7Click(TObject *Sender){

AT->Active = False;

AT->TableName = "Doctor.Личный_Состав";

AT->Active = True;}

Кнопка «Объекты»:

void __fastcall TForm2::N8Click(TObject *Sender){

AT->Active = False;

AT->TableName = "Commander.Объекты";

AT->Active = True;}

Кнопка «Должность»:

void __fastcall TForm2::N9Click(TObject *Sender){

AT->Active = False;

AT->TableName = "Commander.Должность";

AT->Active = True;}

Реализуем кнопки для вкладки «Запросы». В данной вкладке кнопки будут выводить формы для выполнения определенных задач, поставленных в условии.

Для таких кнопок код, следующий:

void __fastcall TForm2::N11Click(TObject *Sender){

Form2->Hide();

Form3->Show();}

void __fastcall TForm2::N12Click(TObject *Sender){

Form2->Hide();

Form4->Show();}




Реализуем функции для выборки диапазоном. Создадим окно, оформив идентично как в основном окне пользователя, с добавлением компонентов «TEdit» и «Button». В поля «TEdit» передаются аргументы, а «Button» выполняет функцию выполнения запроса.



Рисунок 11 – Окно выборки диапазоном

Для кнопки «Button» создаем функцию OnClick() и заполняем следующим кодом:

void __fastcall TForm3::Button1Click(TObject *Sender){

AQ->Close();

AQ->Active = false;

AQ->SQL->Clear();

AQ->SQL->Add("SELECT *");

AQ->SQL->Add("FROM " + ETable->Text);


AQ->SQL->Add("WHERE " + EStolb->Text + " BETWEEN " + EBefore->Text + " AND " + EAfter->Text );

AQ->Active = true;

AQ->Open();}

В данном коде отправляем компоненту DBAQuery функцию Close() – Закрытие запроса, также отключая активный статус. Добавляем в компонент SQL запрос с добавлением параметров из компонентов «TEdit» и включая активный статус с вызовом функции Open(). На выходе получим выполненный запрос в окне приложения.


Создадим окно для множественной выборки, заполним так-же как и прошедшее окно, добавив те же компоненты:



Рисунок 12 – Окно множественной выборки

По параметрам: Код_Товара, Код_Формы, Код_Дозировки и выводим требуемые нам данные. Для этого напишем код функции выполнения для «Button»

Код по структуре идентичен с прошедшим окном выборки, единственное что изменится, то только код запроса:

void __fastcall TForm4::Button1Click(TObject *Sender){

AQ->Close();

AQ->Active = false;

AQ->SQL->Clear();

AQ->SQL->Add("SELECT Фамилия AS 'Фамилия военнослужащего'");

AQ->SQL->Add("FROM Doctor.Личный_Состав");

AQ->SQL->Add("WHERE Личный_Номер = " + LN->Text + " AND Код_Должности = " + CD ->Text + " AND Код_Взвода = " + CV->Text);

AQ->Active = true;}

В данном случае делаем выборку по таблице «Склад» с выборкой по 3м параметрам. Последующий процесс создания окон пользователя и окон выборки идентичен с тем, что было разобрано выше.



3.3 ИТОГОВЫЙ ВИД




Рисунок 13 – Итоговый вид «Окно авторизации»



Рисунок 14 – Итоговый вид «Окно Администратора»



Рисунок 15 – Итоговый вид «Выбор таблицы»



Рисунок 16 – Итоговый вид «Выборка диапазоном»



Рисунок 17 – Итоговый вид «Множественная выборка»

ЗАКЛЮЧЕНИЕ


В ходе анализа и проектирования базы данных на тему «Военная часть» была реализована база данных с использованием среды разработки Microsoft SQL Server Management Studio и сервера Microsoft SQL Server. В данной базе данных были реализованы сущности, подходящие к теме курсовой работы, выполнены соединения между сущностями при помощи использования первичных и внешних ключей. Для таких сущностей реализовали и сконфигурировали схемы для дальнейшей настройки безопасности с последующим созданием пользователей, реализовали процедуры, выполняющие вставку, обновление и удаление данных. К такой базе данных спроектировали и реализовали приложение, при помощи которого даются возможности управления базой данных.

Данная курсовая работа показывает способы анализа, проектирования и цели использования базы данных в условиях «Военная часть».

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