Реферат по предмету "Информатика, программирование"


База данных "Автосервис" в среде Borland Delphi 6.0.

Содержание отчета
1.      Описание предметной области
2.      Описание структуры базыданных
3.      Инструкция программисту
4.      Инструкция пользователю
5.      Исходные тексты

1. Описание предметнойобласти
Данная база данных предназначена дляорганизаций, занимающихся любыми видами услуг по техническому обслуживаниюавтомобилей (Автосервис). БД позволяет вести учет всех автомобилей, когда-либонаходящихся в автосервисе, хранит полную информацию о каждом автомобиле (марка,регистрационный знак, цвет, год выпуска, серийные номера завода-изготовителя ит.п.), позволяет вести учет владельцев автомобилей, которые когда-либообращались в автосервис. Программа позволяет также распечатать отчет по всемпараметрам, интересующим как владельцев автосервиса (информация о владельцахавтомобилей, информация об автомобилях, полный отчет по всем заказам либо позаказам за определенный интервал времени), так и его клиентов (расценки науслуги, новые запчасти, сезонные скидки); это позволяет вести отчетность набумаге.
В БД хранится информация о каждомвладельце, о каждом автомобиле, которые хотя бы единожды пользовались услугамиавтосервиса. Существует возможность хранения не только основной и самойнеобходимой информации, но и примечаний, уточнений, фотографий владельцев иавтомобилей, описания и тех. характеристик устанавливаемых запчастей и много другойполезной информации.
Существует один, на первый взгляд,недостаток, который при постоянном использовании БД характеризует себя сположительной стороны: в данной БД информация об автомобилях и владельцах висходном состоянии является независимой. Связь владельца с автомобилемотслеживается лишь в процессе оформления заказа, после чего успешно хранится вбазе. Это допущение создано с целью предотвращения нестандартных ситуаций,возникающих при существовании у владельца нескольких автомобилей и т.п.

2. Описание структурыБД
Схема данных
/>Описание таблиц
1)        Автомобили (Cars)
* Код автомобиля CodeAuto + Марка авто TMAuto A(30) Регистр. знак StateSign A(11) Тех. паспорт Tpasssport A(10) Цвет авто ColourAuto A(20) Год выпуска Year S Двигатель № MotorNum A(10) Кузов № BodyNum A(10) Шасси № UnderCgeNum A(10) Примечание Info M(200)
2)   Владельцы (Owners)
* Код владельца CodeOwner + Фамилия OLastName A(30) Имя OFirstName A(20) Отчество OSecondName A(25) Паспорт № OPassportNum A(10) Права № ODrvLicence A(15) Телефон Phone A(12) Фото Foto B Примечание Info M(200)
3)   Виды работ (KindOfWork)
* Код работы CodeWork + Вид работы KindWork A(30) Стоимость работы CostWork $ Срок выполнения PeriodEx N Гарантия Guarantee N
4)   Новые запчасти(New Part)
* Код автозапчасти CodePart + Наименование PartName A(30) Стоимость CostPart $ Гарантия Guarantee N
5)   Заказы (AOrders)
* Номер заказа OrderNum + Код автомобиля CodeAuto I Код владельца CodeOwner I Дата поступления ActDate D Примечание Info M(200)
6)   Услуги заказа (OrderWork)
* Номер заказа OrderNum I
* Код работы CodeWork I
7)   Установка запчастей (PutInPart)
* Номер заказа OrderNum I
* Кодавтозапчасти CodePart I

3. Инструкцияпрограммисту
ПО разработано в среде Borland Delphi 6.0.
Все таблицы, запросы находятся вDateModule. Для получения доступа к любой таблице или запросу в этом модуленеобходимо просто обратится к нему, а потом и к выбранному элементу. Каждойтаблице, приведенной выше, соответствует форма для ввода данных в эту таблицу: Cars.db – CarsForm, Owners.db – OwnersForm,AOrders.db – FormAOrders и т.д.Ввод информации о владельцах, об автомобилях, оформление заказов осуществляетсяс соответствующих форм, содержащих стандартные элементы управления, связанные сданными в таблице.
Используются следующие основные запросы:
1) Query1 – запрос, на основе которого производится поиск всех заказов,оформленных в период времени с даты «А» по дату «В»:
SELECT OrderNum, CodeAuto, CodeOwner, ActDate, Info
FROM «AOrders.DB» Aorders
Where(ActDate>:A) and (ActDate
2) Query2 – запрос, на основе которого строится диаграмма процентного соотношения востребованности услуг,производимых автосервисом:
SELECT CodeWork, Count(*) AS CountWork
FROM «OrderWork.DB» Orderwork
GROUPBY CodeWork
3) Query3 –запрос, с помощью которого определяется промежуточная стоимость заказа(стоимость работ, произведенных для данного заказа):
SELECT SUM( Kindofwork.CostWork ), Orderwork.OrderNum
FROM «OrderWork.DB» Orderwork
INNER JOIN «KindOfWork.DB» Kindofwork
ON (Kindofwork.CodeWork = Orderwork.CodeWork)
GROUP BY Orderwork.OrderNum
Кроме указанных выше, также присутствуют идругие аналогичные запросы, с помощью которых производятся различныевычисления, осуществляется параметризованный поиск и т.п.
Все операции с таблицами и запросаминеобходимо искать в DateModule в соответствующих обработчиках событий. Дляправильного функционирования программы необходимо перед первым запуском создатьпсевдоним БД с именем Autoservice, настроить его накаталог с файлами таблиц, выбрать драйвер PARADOX(сделать это можно, например, с помощью программы BDE Administrator). Дляподдержки целостности данных при создании связей между таблицами было включенокаскадное удаление и обновление.
4. Инструкцияпользователю
При загрузке базы данных «Автосервис»открывается главная форма, с помощью которой осуществляется полный контроль надбазой данных и перемещение по ней.

/>
/>Диаграмма-отчет овостребованности услуг, предоставляемых автосервисом, для проведениясоответствующих расчетов и получения информации для размышления как длявладельцев автосервиса, так и для его клиентов.
/>Аналогичная диаграмма, но поустанавливаемым на автомобили запчастям.

/>
/>Просмотр и печать прайс-листа«Услуги автосервиса». Функция необходима как для владельцев автосервиса, так идля его клиентов. Прайс-лист приведен в приложении к данному отчету.
/>Аналогично прайс-листу «Услугиавтосервиса», но по новым автозапчастям.
/>        Занесение информации оновом владельце, ранее не пользовавшимся услугами автосервиса.

/>
/>        Регистрация новогоавтомобиля, до сей поры не замеченного в автосервисе.
/>        Оформление нового заказа сзанесением всей необходимой информации.

15 300,00р.   />
Здесь же есть возможность зарегистрироватьновый автомобиль, нового владельца, напечатать отчет по данному заказу (чек),выполнить поиск заказов за определенный интервал времени и т.п.
/>        Просмотр, редактирование ивнесение новых компонентов в список услуг, которые предоставляет автосервис.
/>        Аналогично услугам, но поновым автозапчастям.

/>
5. Исходныетексты
unit Unit2;
interface
uses
 Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs,StdCtrls, Menus, jpeg, ExtCtrls;
type
 TForm2 =class(TForm)
 Button1:TButton;
 Button2:TButton;
 Button3:TButton;
 Button4:TButton;
 Button5:TButton;
 Image1:TImage;
 Button6:TButton;
 Button7:TButton;
 Button8:TButton;
 Button9:TButton;
 Button10:TButton;
 procedureButton1Click(Sender: TObject);
 procedureButton2Click(Sender: TObject);
 procedureButton3Click(Sender: TObject);
 procedureButton4Click(Sender: TObject);
 procedureButton5Click(Sender: TObject);
 procedureButton6Click(Sender: TObject);
 procedureButton7Click(Sender: TObject);
 procedureButton8Click(Sender: TObject);
 private
 { Privatedeclarations }
 public
 { Publicdeclarations }
 end;
var
 Form2:TForm2;
implementation
uses Unit1,Unit4, Unit5, Unit3, Unit6, Unit7, Unit8;
{$R *.dfm}
procedureTForm2.Button1Click(Sender: TObject);
begin
Form1.Show;
end;
procedureTForm2.Button2Click(Sender: TObject);
begin
Form4.Show;
Form4.Table1.Insert;
end;
procedureTForm2.Button3Click(Sender: TObject);
begin
Form5.Show;
end;
procedureTForm2.Button4Click(Sender: TObject);
begin
Form3.Show;
end;
procedureTForm2.Button5Click(Sender: TObject);
begin
Form2.Close;
end;
procedureTForm2.Button6Click(Sender: TObject);
begin
Form6.Show;
end;
procedureTForm2.Button7Click(Sender: TObject);
begin
Form7.Show;
end;
procedureTForm2.Button8Click(Sender: TObject);
begin
Form8.QuickRep3.Preview;
end;
end.
unit Unit4;
interface
uses
 Windows,Messages, Classes, SysUtils, Graphics, Controls, StdCtrls, Forms,
 Dialogs,DBCtrls, DB, DBGrids, DBTables, Grids, ExtCtrls, Mask, Buttons;
type
 TForm4 =class(TForm)
 Table2OrderNum:TIntegerField;
 Table2CodeWork:TIntegerField;
 Table1OrderNum:TAutoIncField;
 Table1CodeAuto:TIntegerField;
 Table1CodeOwner:TIntegerField;
 Table1ActDate:TDateField;
 DBGrid1:TDBGrid;
 DBGrid2:TDBGrid;
 Panel1:TPanel;
 DataSource1:TDataSource;
 Panel2:TPanel;
 Panel3:TPanel;
 Splitter1:TSplitter;
 Table1:TTable;
 Table2:TTable;
 DataSource2:TDataSource;
 Table3:TTable;
 DataSource3:TDataSource;
 Table1Marca:TStringField;
 Table1Reg:TStringField;
 DBGrid3:TDBGrid;
 Table4:TTable;
 DataSource4:TDataSource;
 Table4OrderNum:TIntegerField;
 Table4CodePart:TIntegerField;
 DataSource5:TDataSource;
 Table5:TTable;
 Table6:TTable;
 DataSource6:TDataSource;
 Table2KindWork:TStringField;
 Table4PartName:TStringField;
 DataSource7:TDataSource;
 Table7:TTable;
 Table1Name:TStringField;
 Table1LasteName:TStringField;
 Table1SecondName:TStringField;
 Table6CodePart:TAutoIncField;
 Table6PartName:TStringField;
 Table6CostPart:TCurrencyField;
 Table6Guarantee:TIntegerField;
 Table5CodeWork:TAutoIncField;
 Table5KindWork:TStringField;
 Table5CostWork:TCurrencyField;
 Table5PeriodExecution:TIntegerField;
 Table5Guarantee:TIntegerField;
 Table2CostWork:TCurrencyField;
 Table1CostSum:TCurrencyField;
 Table4CostPart:TCurrencyField;
 Button1:TButton;
 Button2:TButton;
 Query1:TQuery;
 Query1SUMOFCostWork:TCurrencyField;
 Query1OrderNum:TIntegerField;
 DataSource8:TDataSource;
 Table3CodeAuto:TAutoIncField;
 Table3Info:TMemoField;
 Table3TradeMarkAuto:TStringField;
 Table3StateSign:TStringField;
 Table3TPassport:TStringField;
 Table3ColourAuto:TStringField;
 Table3OutputYear:TSmallintField;
 Table3MotorNum:TStringField;
 Table3BodyNum:TStringField;
 Table3UnderCgeNum:TStringField;
 Table7CodeOwner:TAutoIncField;
 Table7OLastName:TStringField;
 Table7OFirstName:TStringField;
 Table7OSecondName:TStringField;
 Table7OPassportNum:TStringField;
 Table7ODrivingLicence:TStringField;
 Table7OContactPhone:TStringField;
 Table7Info:TMemoField;
 Table7Photo:TBlobField;
 DBEdit1:TDBEdit;
 Button3:TButton;
 Label2:TLabel;
 Label1:TLabel;
 Label3:TLabel;
 Label4:TLabel;
 Label5:TLabel;
 DBNavigator1:TDBNavigator;
 BitBtn1:TBitBtn;
 procedureFormCreate(Sender: TObject);
 procedureTable1CalcFields(DataSet: TDataSet);
 procedureButton1Click(Sender: TObject);
 procedureButton2Click(Sender: TObject);
 procedureQuery1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
 procedureTable1AfterInsert(DataSet: TDataSet);
 procedureButton3Click(Sender: TObject);
 private
 { privatedeclarations }
 public
 { publicdeclarations }
 end;
var
 Form4:TForm4;
implementation
uses Unit5,Unit6, Unit9;
{$R *.DFM}
procedureTForm4.FormCreate(Sender: TObject);
begin
 Table1.Open;
 Table2.Open;
 //Edit1.Text:=DateToStr(Date);
 Label2.Caption:=DateToStr(Date);
end;
procedureTForm4.Table1CalcFields(DataSet: TDataSet);
begin
//Table1CostSum.Value:=Summ(Table2CostWork.Value);
end;
procedureTForm4.Button1Click(Sender: TObject);
begin
Form5.Show;
end;
procedureTForm4.Button2Click(Sender: TObject);
begin
Form6.Show;
end;
procedureTForm4.Query1FilterRecord(DataSet: TDataSet;
 var Accept:Boolean);
begin
//Query1.Filter:='OrderNum='+Form4.Table1OrderNum.AsString;
end;
procedureTForm4.Table1AfterInsert(DataSet: TDataSet);
begin
Form4.Table1ActDate.Value:=Date;
end;
procedureTForm4.Button3Click(Sender: TObject);
begin
Form9.Show;
end;
end.
unit Unit8;
interface
uses
 Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs,QuickRpt, QRCtrls, ExtCtrls, DB, DBTables;
type
 TForm8 =class(TForm)
 QuickRep1:TQuickRep;
 QuickRep2:TQuickRep;
 QuickRep3:TQuickRep;
 TitleBand1:TQRBand;
 ColumnHeaderBand1:TQRBand;
 DetailBand1:TQRBand;
 SummaryBand1:TQRBand;
 QRLabel1:TQRLabel;
 Table1:TTable;
 PageFooterBand1:TQRBand;
 QRDBText1:TQRDBText;
 QRDBText2:TQRDBText;
 QRDBText3:TQRDBText;
 QRSysData1:TQRSysData;
 QRLabel2:TQRLabel;
 QRLabel3:TQRLabel;
 QRLabel4:TQRLabel;
 QRLabel5:TQRLabel;
 QRSysData2:TQRSysData;
 QRLabel6:TQRLabel;
 QRDBText4:TQRDBText;
 QRLabel7:TQRLabel;
 private
 { Privatedeclarations }
 public
 { Publicdeclarations }
 end;
var
 Form8:TForm8;
implementation
{$R *.dfm}
end.
unit Unit9;
interface
uses
 Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs,StdCtrls, Buttons, ComCtrls, DBTables, DB, Grids, DBGrids;
type
 TForm9 =class(TForm)
 Table1:TTable;
 DataSource1:TDataSource;
 Query1:TQuery;
 DateTimePicker1:TDateTimePicker;
 DateTimePicker2:TDateTimePicker;
 BitBtn1:TBitBtn;
 DBGrid1:TDBGrid;
 DataSource2:TDataSource;
 Label1:TLabel;
 Label2:TLabel;
 Label3:TLabel;
 procedureBitBtn1Click(Sender: TObject);
 private
 { Privatedeclarations }
 public
 { Publicdeclarations }
 end;
var
 Form9:TForm9;
implementation
{$R *.dfm}
procedureTForm9.BitBtn1Click(Sender: TObject);
begin
Query1.Params.ParamValues['A']:=DateTimePicker1.Date;
Query1.Params.ParamValues['B']:=DateTimePicker2.Date;
Query1.Close;
Query1.Open;
end;
end.
unit Unit1;
interface
uses
 Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs,ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables;
type
 TForm1 =class(TForm)
 DBGrid1:TDBGrid;
 DataSource1:TDataSource;
 Table1:TTable;
 Table1CodePart:TAutoIncField;
 Table1PartName:TStringField;
 Table1CostPart:TCurrencyField;
 Table1Guarantee:TIntegerField;
 private
 { Privatedeclarations }
 public
 { Publicdeclarations }
 end;
var
 Form1:TForm1;
implementation
{$R *.dfm}
end.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Стили речи
Реферат Договор купли-продажи понятие сфера применения значение
Реферат Задач линейного программирования
Реферат Понятие гражданского и торгового права как комплексной отрасли права. Предмет и метод гражданско
Реферат A Gift Of Peace From The Past
Реферат Global Challenges And The Focu Essay Research
Реферат Инвестиционная привлекательность Павловского района с точки зрения вложений в коммерческую недвижимость и земельные участки
Реферат Художнє відтворення проблеми українізації у комедії Мина Мазайло Миколи Куліша
Реферат Ancient Greece Essay Research Paper Ancient GreeceGreeceThe
Реферат Алгоритмы обработки символьной информации
Реферат Феномен популярности бульварной прессы
Реферат Законодательные основы деятельности иностранных инвесторов в России
Реферат "Математико"
Реферат Процедура изготовления конического зубчатого колеса
Реферат Философия человека и общества