Базы данных для станции технического обслуживания

Автор работы: Пользователь скрыл имя, 24 Апреля 2015 в 03:49, курсовая работа

Краткое описание

Цель работы – разработать базу данных для станции технического обслуживания, учитывающую специфику работы в данной отрасли.
Для достижения этой цели были поставлены и решены следующие задачи:
Изучены теоретические вопросы, касающиеся понятия и архитектуры реляционных баз данных в SQL Server.
Рассмотрены основные задачи, касающиеся администрирования баз данных и сервера MS SQL Server.
Проведен анализ предметной области с помощью функционального моделирования,
Для описания основных сущностей и связей между ними построены логическая и концептуальная диаграммы.
Разработаны база данных предметной области и приложение.

Вложенные файлы: 1 файл

БД.doc

— 451.00 Кб (Скачать файл)

Для однозначного определения (идентификации) каждой записи таблица имеет уникальный (первичный) ключ. По значению ключа таблицы отыскивается единственная запись в таблице. Значение уникального ключа не может повторяться в нескольких записях. В разрабатываемой базе данных первичные ключи таблиц имеют тип данных int (integer).

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

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

В базе данных связь двух таблиц реализована отношениями записей типа один-ко-многим (1:М). Для двух таблиц, находящихся в отношении типа 1:М, устанавливается связь по уникальному ключу главной таблицы в связи. Во второй таблице, называемой подчиненной, этот ключ связи можно может быть либо частью уникального ключа, либо не входить в состав ключа. В подчиненной таблице ключ связи называется еще внешним ключом. [8, с. 155]

Размещение сведений о каждой сущности в отдельной таблице и связывание таблиц позволяют избежать повторения значений данных в разных таблицах. При этом обеспечивается однократный ввод данных при загрузке и корректировке базы данных. [1, с. 226]

 

Рисунок 5 -База данных в среде SQL Server

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

Рисунок 6 - Диаграмма базы данных

 

  1. Разработка прикладного программного обеспечения

Интерфейс программы был разработан на C++ Builder. Это программный продукт, инструмент быстрой разработки приложений (RAD–rapid application development), интегрированная среда программирования (IDE–integrated development environment), система, используемая программистами для разработки программного обеспечения на языке программирования C++, работающих под операционными системами семейства Windows. [2, с. 62]

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

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

Поскольку разрабатываемая программа невелика, то на будет состоять только из одной формы. Form представляет окно или диалоговое окно, которое составляет пользовательский интерфейс приложения. Form является представлением любого окна, отображаемого в приложении. Класс Form используется для создания стандартных окон, окон инструментов, необрамленных и перемещаемых окон. Он также используется для создания модальных окон, например, диалогового окна.

Наличие элементов управления на форме обеспечивает быструю работу пользователя с системой. Форма содержит следующие элементы:

  1. Label (надпись) – элемент управления, содержащий информацию, доступную только для чтения (текст или изображение), например, для того, чтобы пояснить пользователю роль и возможности использования остальных элементов управления, помещенных на форму.
  2. DateTimePicker – элемент управления, позволяющий работать с датами; имеет вид текстового поля с расположенной справа кнопкой, при нажатии которой открывается календарь.
  3. Edit- представляет собой поле ввода/редактирования строки символов. [3, с. 45]
  4. SpeedButton представляет собой кнопку, на поверхности которой находится картинка.
  5. DBGrid используется для просмотра и редактирования базы данных в режиме таблицы.
  6. DBNavigator обеспечивает перемещение указателя текущей записи, активизацию режима редактирования, добавление и удаление записей.
  7. DBLookupComboBox представляет собой комбинированный список выбора базы данных. Содержимое списка берется из другого набора данных.
  8. PageControl - позволяет в ходе проектирования объединять на одной форме несколько вкладок, которые содержат разные элементы управления. Доступ к каждой из вкладок осуществляется при помощи корешков с названиями. На сегодняшний день большинство окон для настройки в программах Windows построены именно по такому принципу. Данный компонент позволяет компактно расположить все элементы управления.
  9. GroupBox - компонент-контейнер. Он предназначен для группировки схожих по смыслу компонентов. [2, с. 173-174]

Программа имеет интуитивно понятный графический интерфейс, рассчитанный на работу с пользователями, имеющими минимальные навыки работы с ПК. На форме программы представлена только необходимая информация, отсутствует избыточная, что позволяет пользователю эффективно работать с ней.

Рисунок 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++.

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

 

 

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Аллен Дж. Тейлор. SQL для чайников: Пер. с англ. 7-ое издание. – М.:Диалектика, 2010. – 331 с.
  2. Архангельский А.Я. Программирование в С++ Builder. - М.: Бином, 2010. - 1295 с.
  3. Бобровский С. Самоучитель программирования на языке С++ в системе Borland C++ Builder. – М.: ДЕСС КОМ, 2001. – 272 с.
  4. Виейра Роберт. Программирование баз данных Microsoft SQL Server 2005. Базовый курс. : Пер.с англ. - М.: ООО «И.Д. Вильямс», 2007. -832 с.
  5. Карпова Т.С. Базы данных: разработка, реализация. – СПб.: Питер, 2002. -304 с.
  6. Культин Н.Б. С++ Builder в задачах и примерах. – СПб: БХВ – Перербург, 2005. -327 с.
  7. Маклаков С.В. Создание информационных систем с AllFuusion Modeling Suite- М.: Диалог – МИФИ, 2003. – 432 с.
  8. Маркин А.В. Построение запросов и программирование на SQL: учеб. Пособие. - Рязань: РГРТУ, 2008. – 312 с.
  9. Мейер М.М. Теория реляционных баз данных. – М.: Мир, 1999. - 610 с.
  10. Нильсен Пол. Microsoft SQL Server 2005. Библия пользователя.: Пер. с англ.-М.: ООО «И.Д.Вильямс», 2008.- 1232 с.
  11. Послед Б.С. Разработка приложений баз данных.-М.: ДиаСофтЮп, 2003.-307 с.
  12. Ржеуцкая С.Ю. Базы данных. Язык SQL: учеб.пособие - Вологда: ВоГТУ, 2010. -159 с.
  13. Романов В.П., Емельянова Н.З., Партыка Т.Л. Проектирование экономических информационных систем: методология и современные технологии: Учебное пособие – М.: Экзамен, 2005. – 256 с.
  14. Шилдт Г. Самоучитель С++.- СПб: БХВ-Петербург, 2003.-683 с.

Электронные ресурсы

  1. Дэвид А. Марка и Клемент МакГоуэн. Методология структурного анализа и проектирования SADT. [Электронный ресурс]. URL: http://www.studfiles.ru/preview/358484/ (дата обращения: 25.03.2015).
  2. Королева В.В., Баранков В.В. Методика разработки структурно-функциональной модели профессионально-направленного образования. [Электронный ресурс]. URL: http://www.sworld.com.ua/konfer31/782.pdf (дата обращения (25.03.2015)
  3. Лекция 10: Структура современной СУБД на примере Microsoft SQL Server. [Электронный ресурс]. URL: http://www.intuit.ru/studies/courses/508/364/lecture/8657?page=2 (дата обращения (25.03.2015)
  4. Методология функционального моделирования IDEF0. Руководящий документ. [Электронный ресурс]. URL: http://www.staratel.com/iso/IDEF/IDEF0/IDEF0Rus.pdf (дата обращения (25.03.2015)
  5. Microsoft SQL Server. Материал из Википедии-свободной энциклопедии. [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Microsoft_SQL_Server

 

 

 

 

ПРИЛОЖЕНИЕ 1

 

Программный код разработанного приложения

Автоматизированное рабочее место «Станция технического обслуживания»

 

//---------------------------------------------------------------------------

 

#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(TObject *Sender)

{

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(TObject *Sender)

{

DBEdit5->Text=DateTimePicker1->DateTime;

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::SpeedButton3Click(TObject *Sender)

{

ADOQuery2->Close();

ADOQuery2->SQL->Clear();

ADOQuery2->SQL->Add("select a.client,a.telephone_number,sum(b.fund_balance) from client a, the_list_of_order b where a.id_client=b.id_client group by a.client,a.telephone_number");

ADOQuery2->Open();

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::SpeedButton2Click(TObject *Sender)

{

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_job");

ADOQuery1->Open();

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::SpeedButton4Click(TObject *Sender)

{

DBGrid1->DataSource->DataSet=DataSource4->DataSet;

Информация о работе Базы данных для станции технического обслуживания