Автор работы: Пользователь скрыл имя, 24 Апреля 2015 в 03:49, курсовая работа
Цель работы – разработать базу данных для станции технического обслуживания, учитывающую специфику работы в данной отрасли.
Для достижения этой цели были поставлены и решены следующие задачи:
Изучены теоретические вопросы, касающиеся понятия и архитектуры реляционных баз данных в SQL Server.
Рассмотрены основные задачи, касающиеся администрирования баз данных и сервера MS SQL Server.
Проведен анализ предметной области с помощью функционального моделирования,
Для описания основных сущностей и связей между ними построены логическая и концептуальная диаграммы.
Разработаны база данных предметной области и приложение.
Для однозначного определения (идентификации) каждой записи таблица имеет уникальный (первичный) ключ. По значению ключа таблицы отыскивается единственная запись в таблице. Значение уникального ключа не может повторяться в нескольких записях. В разрабатываемой базе данных первичные ключи таблиц имеют тип данных int (integer).
Каждый первичный ключ в разрабатываемой базе данных является идентифицирующим столбцом с приращением 1. Столбцы, имеющие свойство идентификатора, содержат созданную системой последовательность значений, уникально идентифицирующих каждую строку в таблице (например идентификационный номер сотрудника). Вставляя значения в таблицу, где есть столбец идентификаторов, Microsoft SQL Server автоматически создает следующее значение идентификатора на основе последнего использованного (свойство начального значения) и значения приращения (свойство шага приращения идентификатора), указанных при создании столбца.
Также реляционную базу данных определяют как набор нормализованных отношений, которые различаются по именам. Логические связи между таблицами дают возможность объединять данные из разных таблиц. Связь каждой пары таблиц обеспечивается одинаковыми полями в них – ключом связи. Таким образом, обеспечивается рациональное хранение данных и их объединение в соответствии с требованиями решаемых задач.
В базе данных связь двух таблиц реализована отношениями записей типа один-ко-многим (1:М). Для двух таблиц, находящихся в отношении типа 1:М, устанавливается связь по уникальному ключу главной таблицы в связи. Во второй таблице, называемой подчиненной, этот ключ связи можно может быть либо частью уникального ключа, либо не входить в состав ключа. В подчиненной таблице ключ связи называется еще внешним ключом. [8, с. 155]
Размещение сведений о каждой сущности в отдельной таблице и связывание таблиц позволяют избежать повторения значений данных в разных таблицах. При этом обеспечивается однократный ввод данных при загрузке и корректировке базы данных. [1, с. 226]
Рисунок 5 -База данных в среде SQL Server
Для графического отображения структуры базы данных и отношений между таблицами используются диаграммы баз данных. При помощи диаграмм баз данных можно создавать и изменять таблицы, столбцы, связи и ключи. Кроме того, можно изменять индексы и ограничения.
Рисунок 6 - Диаграмма базы данных
Интерфейс программы был разработан на C++ Builder. Это программный продукт, инструмент быстрой разработки приложений (RAD–rapid application development), интегрированная среда программирования (IDE–integrated development environment), система, используемая программистами для разработки программного обеспечения на языке программирования C++, работающих под операционными системами семейства Windows. [2, с. 62]
Интерфейс, прежде всего, должен учитывать потребности конечных пользователей приложения. Рационально сконструированный интерфейс облегчает освоение и применение программы, повышает эффективность работы с приложением.
Пользователь вычислительной системы вносит данные в базу через интерфейс. Процесс по выполнению заданий вызывается интерфейсом в требуемые моменты времени. Поэтому, с точки зрения пользователя, интерфейс – это основной процесс, а процессы, выполняющие различные задания, являются неосновными или, как называют их многие авторы, фоновыми.
Поскольку разрабатываемая программа невелика, то на будет состоять только из одной формы. Form представляет окно или диалоговое окно, которое составляет пользовательский интерфейс приложения. Form является представлением любого окна, отображаемого в приложении. Класс Form используется для создания стандартных окон, окон инструментов, необрамленных и перемещаемых окон. Он также используется для создания модальных окон, например, диалогового окна.
Наличие элементов управления на форме обеспечивает быструю работу пользователя с системой. Форма содержит следующие элементы:
Программа имеет интуитивно понятный графический интерфейс, рассчитанный на работу с пользователями, имеющими минимальные навыки работы с ПК. На форме программы представлена только необходимая информация, отсутствует избыточная, что позволяет пользователю эффективно работать с ней.
Рисунок 7 - Главная форма приложения
Рисунок 8 - Вкладка «Список клиентов»
Для доступа к источнику данных из приложения была использована технология ActiveX Data Objects (ADO) и OLE DB, пришедшие на смену прикладному интерфейсу программирования Open Database Connectivity (ODBC). Основу технологии ADO составляет использование набора интерфейсов общей модели объектов СОМ, описанных в спецификации OLE DB. Достоинством этой технологии является то, что базовый набор интерфейсов OLE DB имеется в каждой современной операционной системе Microsoft. Отсюда следует простота обеспечения доступа приложения к данным. [11, с.34]
Доступ приложения к БД обеспечивает файл источника канала данных. Файл формата udl (universal data link) был создан фирмой Microsoft специально для множественных типов и видов баз данных. Однако, в отличии от стандартного пути создания соединения через ODBC (англ. Open Database Connectivity-программный интерфейс доступа к базам данных), где параметры хранятся в реестре Windows), тут задается соединение из файла формата udl для OLE DB. Главное назначение udl файлов - отказаться от громоздкого ODBC и перейти на новый уровень конфигурирования соединения между программой и базой данных. В операционных системах Windows этот файл находится в каталоге С:\Program Files\Common Files\System\Ole DB\Data Links\BCDEMOS.udl. [2, с. 709]
Рисунок 9 - Настройка соединения с БД
Для удобства пользователя в программе не применялось специальное цветовое оформление, все сделано в почти стандартном стиле Microsoft Windows. Ведь, когда пользователь впервые работает с новой программой, которая содержит уже известные элементы и привычное оформление, то процесс освоения ПО проходит гораздо быстрее, чем в противоположном случае (новые элементы и непривычное оформление).
Для организации соединения с базой данных использовались компоненты ADOTable (представляет из себя набор данных, которые получают из базы данных полную копию одной из таблиц, и предоставляют полученный набор данных визуальным компонентам отображения данных) и ADOQuery (для получения набора данных из базы данных с помощью SQL–запроса). Для визуального отображения использовались компоненты DBGrid, DBEdit, DBLookupCombobox. Компонент DataSource обеспечивает механизм для связи компонентов доступа к данным с визуальными компонентами, которые отображают данные. [14, с.520]
В программе реализована удобная для пользователя система поиска по фамилии, имени, отчеству клиента. В ней не учитываются регистр букв и можно искать записи по любому соответствию в слове. Также реализован поиск по диапазону дат, в которые были сделаны заказы.
В проекте были исследованы основные составляющие проектирования и создания БД. В ходе анализа предметной области стало выявление необходимости автоматизации и разработки базы данных для устранения ведения учета на бумажных носителях, обеспечения быстроты поиска и общего удобства работы.
При логическом проектировании проведена разработка, и определение первичных и альтернативных ключей, разработка индексов, установка вида связей между таблицами.
Итогом курсовой работы стала разработанная база данных для станции технического обслуживания, а также готовая программа, написанная под эту базу.
С помощью программы можно без затруднений и специальных знаний вести базу данных клиентов и заказов. Программа позволяет делать все необходимые операции по учету, то есть добавлять, изменять, обновлять, удалять и просматривать все имеющиеся и вводимые данные.
На примере программы ведения базы данных для станции технического обслуживания, предоставлены к рассмотрению функции и возможности написания подобных программ при помощи C++ Builder.
Написанная программа в практическом применении проста и достаточно эффективна, она имеет интуитивно понятный интерфейс, удобную систему поиска.
Преимуществом данной программы является возможность ее использования на любой станции технического обслуживания, из недостатков можно выделить отсутствие кроссплатформенности. Разработанная программа может работать только под операционными системами Windows.
Разрабатывая базу данных, были приобретены практические навыки исследования предметной области, концептуального, логического и физического проектирования базы данных, освоены средства поддержания целостности базы данных, навыки написания SQL-запросов. В процессе работы над курсовым проектом закреплены и расширены практические навыки создания базы данных в СУБД MS SQL Server, а так же получены практические навыки написания программ на C++.
Таким образом, подводя итог вышесказанному, можно сделать вывод, что цели курсовой работы достигнуты в полном объеме.
Электронные ресурсы
Программный код разработанного приложения
Автоматизированное рабочее место «Станция технического обслуживания»
//----------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//----------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//----------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------
void __fastcall TForm1::SpeedButton1Click(
{
AnsiString str;
float a,b,c;
a= StrToFloat(DBEdit1->Text);
b= StrToFloat(DBEdit2->Text);
c= b-a;
DBEdit3->Text=FloatToStr(c);
}
//----------------------------
void __fastcall TForm1::DateTimePicker1Change(
{
DBEdit5->Text=DateTimePicker1-
}
//----------------------------
void __fastcall TForm1::SpeedButton3Click(
{
ADOQuery2->Close();
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("select a.client,a.telephone_number,
ADOQuery2->Open();
}
//----------------------------
void __fastcall TForm1::SpeedButton2Click(
{
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT a.client, a.telephone_number,
b.brand, b.model, b.body, b.engine, b.drive, c.type_of_job, d.cost_of_job,
d.deposited_funds, d.fund_balance, d.order_date from client a, car b,
type_of_job c, the_list_of_order d where a.id_client=d.id_client and
b.id_car=d.id_car and c.id_type_of_job=d.id_type_of_
ADOQuery1->Open();
}
//----------------------------
void __fastcall TForm1::SpeedButton4Click(
{
DBGrid1->DataSource->DataSet=
Информация о работе Базы данных для станции технического обслуживания