Національний Авіаційний Університет
Факультет комп^ютерних систем
Кафедра комп^ютерних систем та мереж
Домашня робота
З дисципліни: Інформаційні системи та структури даних
Київ 2010
Інформаційна система будівельної організації
Будівельна організація займається будівництвом різного роду об"єктів: житлових будинків, лікарень, шкіл, мостів, доріг і т.д. по договорах із замовниками (міська адміністрація, відомства, приватні фірми й т.д.). Кожна з перерахованих категорій об"єктів має характеристики, властиві тільки цій або декільком категоріям: наприклад, до характеристик житлових будинків відноситься поверховість, тип будівельного матеріалу, число квартир, для мостів унікальними характеристиками є тип пролітної будови, ширина, кількість смуг для руху.
Структурно-будівельна організація складається з будівельних правлінь, кожне будівельне правління веде роботи на одному або декількох ділянках, очолюваних начальниками ділянок, яким підпорядковується група виконробів, майстрів і техніків. Кожній категорії інженерно-технічного персоналу (інженери, технологи, техніки) і робітників (муляри, бетонники, обробники, зварники, електрики, шофери, слюсарі і ін.) також є властиві характерні тільки для цієї групи атрибути. Робітники поєднується в бригади, якими керують бригадири. Бригадири вибираються із числа робітників, майстри, виконроби, начальники ділянок і правлінь призначаються із числа інженерно-технічного персоналу.
На кожній ділянці зводиться один або кілька об"єктів, па кожному об"єкті роботу ведуть одна або кілька бригад. Закінчивши роботу, бригада переходить до Іншого об^єкту на цій, або іншій ділянці. Будівельному правлінню надається будівельна техніка (підйомні крани, екскаватори, бульдозери й т.д.), що розподіляються по об"єктах.
Технологія будівництва того або Іншого об"єкта припускає виконання певного набору видів робіт, необхідних для спорудження даного типу об"єкта. Наприклад, для житлового будинку –це зведення фундаменту, цегельні роботи, прокладання водопостачання й т.д. Кожен вид робіт на об"єкті виконується однією бригадою. Для організації робіт на об"єкті складаються графіки робіт, що вказують у якому порядку й у які строки виконуються ті або інші роботи, а також кошторис, що визначає які будівельні матеріали й у яких кількостях необхідні для спорудження об"єкта. За результатами виконання робіт складається звіт із зазначенням строків виконання робіт і фактичних витрат матеріалів.
Види запитів в інформаційній системі:
1. Одержати перелік будівельних правлінь й/або ділянок та їх керівників.
2. Одержати список фахівців інженерно-технічного складу позначеної ділянки або будівельного правління із зазначенням їх посад.
3. Одержати перелік об"єктів, що зводяться зазначеним будівельним правлінням й/або ділянкою, і графіки їхнього зведення.
4. Одержати склад бригад, що працювали (працюють) на будівництві зазначеного об"єкта.
5. Одержати перелік будівельної техніки, наданої зазначеному будівельному правлінню.
6. Одержати перелік будівельної техніки, виділеної на зазначений об^єкт або тієї, що працювала там упродовж зазначеного періоду часу.
7. Одержати графік і кошторис на будівництво зазначеного об"єкта.
8. Одержати звіт про спорудження зазначеного об^єкта.
9. Одержати перелік об^єктів, що зводяться у деякому будівельному правлінні або в цілому по організації, та на яких у позначений період часу виконувався зазначений вид будівельних робіт.
10. Одержати перелік видів будівельних робіт, по яких мало місце перевищення строків виконання на зазначеній ділянці, будівельному правлінні або в цілому по організації.
11. Одержати перелік будівельних матеріалів, по яких мало місце перевищення кошторису на зазначеній ділянці, будівельному правлінні або в цілому по організації.
12. Одержати перелік видів будівельних робіт, виконаних зазначеною бригадою протягом позначеного періоду часу із вказівкою об"єктів, де ці роботи виконувалися.
13. Одержати перелік бригад, що виконували зазначений вид будівельних робіт протягом позначеного періоду часу із зазначенням об"єктів, де ці роботи виконувалися.
Концептуальна модель бази даних
База даних будівельної організації складається з таблиць:
tblOrder – таблиця що містить інформацію про закази поля:
Order_id – ідентифікатор
Object – рід об^єкту
Organisetion – замовники
BuildManagement – будівельне управління
tblChaBuild – характеристика заказу на житловий будинок, лікарню та школу поля:
ChaBuild_id – ідентифікатор
Floor – кількість поверхів
MaterialType – тип матеріалу
NApartament – число квартир
tblChaRoad – характеристика заказу на мости та дороги поля:
ChaRoad_id – ідентифікатор
StructureType – тип пролітної будови
Width – ширина
Bands – кількість смуг
tblGrafics – графік зведення об^єкта поля:
Grafics_id – ідентифікатор
JobType – вид роботи
TermPerformance – строк завершення
Kyshty – виділенні кошти
tblMaterials – матеріали поля:
Materials_id – ідентифікатор
Materials – назва необхідного матеріала
tblReport – звіт виконання роботи поля:
Report_id – ідентифікатор
JobType – вид роботи
Completion – реальне завершення роботи
Used – використанні кошти
tblBrigade – бригади поля:
Brigade_id – ідентифікатор
Overman – бригадир
tblNPlot – номер ділянки поля:
NPlot_id – ідентифікатор
Head – начальник ділянки
tblTech – інженерно-технічний персонал поля:
Tech_id – ідентифікатор
Engineers – інженери
Technology – технологи
Technics – техніки
tblMachines – будівельна техніка поля:
Machines_id – ідентифікатор
Bulldozers – бульдозери
Cranes – крани
Excavator – екскаватори
tblWorkers – робітники поля:
Workers_id – ідентифікатор
Bricklayer – муляри
Concrete – бетонники
Handler – обробники
Welders – зварники
Electricity – електрики
Driver – водії
Locksmiths – слюсарі
Фізична модель бази даних
Для побудови фізичної моделі бази даних потрібно вказати типи даних полів таблиць, визначити первинні та зовнішні ключі, організувати відношення між таблицями. Відношення типу „один до одного” організується додаванням первинного ключа однієї із таблиць в іншу у якості зовнішнього. Відношення типу „один до багатьох” організується додаванням первинного ключа таблиці зі сторони „один” в таблицю „багато” в якості зовнішнього ключа. Відношення типу „багато до багатьох” організується через таблиці-связки, в які поміщаються первинні ключі двох таблиць в якості зовнішніх ключів.
Створення таблиць та звя^зків
Створення таблиць:
create table rl_10 ( NPlot_id int not null, Machines_id int not null, constraint PK_RL_10 primary key (NPlot_id, Machines_id)
)
go
create table rl_11 ( NPlot_id int not null, Workers_id int not null, constraint PK_RL_11 primary key (NPlot_id, Workers_id)
)
go
create table rl_9 ( NPlot_id int not null, Tech_id int not null, constraint PK_RL_9 primary key (NPlot_id, Tech_id)
)
go
create table tblBrigade ( Brigade_id int not null, NPlot_id int null, Grafics_id int null, Overman varchar(255) not null, constraint PK_TBLBRIGADE primary key nonclustered (Brigade_id)
)
go
create table tblChaBuild ( ChaBuild_id int not null, Order_id int null, Floor int not null, MaterialType varchar(255) not null, NApartament int not null, constraint PK_TBLCHABUILD primary key nonclustered (ChaBuild_id)
)
go create table tblChaRoad ( ChaRoad_id int not null, Order_id int null, Structuretype varchar(255) not null, Width int not null, Bands int not null, constraint PK_TBLCHAROAD primary key nonclustered (ChaRoad_id)
)
go
create table tblGrafics ( Grafics_id int not null, Order_id int null, Brigade_id int null, JobType varchar(255) not null, TermPerformance datetime not null, Kyshty money not null, constraint PK_TBLGRAFICS primary key nonclustered (Grafics_id)
)
go
create table tblMachines ( Machines_id int not null, Bulldozers varchar(255) null, Cranes varchar(255) null, Excavator varchar(255) null, constraint PK_TBLMACHINES primary key nonclustered (Machines_id)
)
go
create table tblMaterials ( Materials_id int not null, Grafics_id int null, Materials varchar(255) not null, constraint PK_TBLMATERIALS primary key nonclustered (Materials_id)
)
go
create table tblNPlot ( NPlot_id int not null, Order_id int null, Head varchar(255) not null, constraint PK_TBLNPLOT primary key nonclustered (NPlot_id)
)
go
create table tblOrder ( Order_id int not null, NPlot_id int null, ChaRoad_id int null, ChaBuild_id int null, Object varchar(255) not null, Organisetion varchar(255) not null, BuildManagement varchar(255) not null, constraint PK_TBLORDER primary key nonclustered (Order_id)
)
go
create table tblReport ( Report_id int not null, Order_id int null, JobType varchar(255) not null, Completion datetime null, Used money null, constraint PK_TBLREPORT primary key nonclustered (Report_id)
)
go
create table tblTech ( Tech_id int not null, Engeneers varchar(255) null, Technology varchar(255) null, Technics varchar(255) null, constraint PK_TBLTECH primary key nonclustered (Tech_id)
)
go
create table tblWorkers ( Workers_id int not null, Brigade_id int null, Bricklayer varchar(255) null, Concrete varchar(255) null, Handler varchar(255) null, Welders varchar(255) null, Electricity varchar(255) null, Driver varchar(255) null, Locksmiths varchar(255) null, constraint PK_TBLWORKERS primary key nonclustered (Workers_id)
)
go
Створення зв^язків:
alter table rl_10 add constraint FK_RL_10_RL_10_TBLNPLOT foreign key (NPlot_id) references tblNPlot (NPlot_id)
go
alter table rl_10 add constraint FK_RL_10_RL_14_TBLMACHI foreign key (Machines_id) references tblMachines (Machines_id)
go
alter table rl_11 add constraint FK_RL_11_RL_11_TBLNPLOT foreign key (NPlot_id) references tblNPlot (NPlot_id)
go
alter table rl_11 add constraint FK_RL_11_RL_13_TBLWORKE foreign key (Workers_id) references tblWorkers (Workers_id)
go
alter table rl_9 add constraint FK_RL_9_RL_15_TBLNPLOT foreign key (NPlot_id) references tblNPlot (NPlot_id)
go
alter table rl_9 add constraint FK_RL_9_RL_16_TBLTECH foreign key (Tech_id) references tblTech (Tech_id)
go
alter table tblBrigade add constraint FK_TBLBRIGA_RL_7_TBLGRAFI foreign key (Grafics_id) references tblGrafics (Grafics_id)
go
alter table tblBrigade add constraint FK_TBLBRIGA_RL_9_TBLNPLOT foreign key (NPlot_id) references tblNPlot (NPlot_id)
go
alter table tblChaBuild add constraint FK_TBLCHABU_RL_1_TBLORDER foreign key (Order_id) references tblOrder (Order_id)
go
alter table tblChaRoad add constraint FK_TBLCHARO_RL_2_TBLORDER foreign key (Order_id) references tblOrder (Order_id)
go
alter table tblGrafics add constraint FK_TBLGRAFI_RL_5_TBLORDER foreign key (Order_id) references tblOrder (Order_id)
go
alter table tblGrafics add constraint FK_TBLGRAFI_RL_8_TBLBRIGA foreign key (Brigade_id) references tblBrigade (Brigade_id)
go
alter table tblMaterials add constraint FK_TBLMATER_RL_6_TBLGRAFI foreign key (Grafics_id) references tblGrafics (Grafics_id)
go
alter table tblNPlot
add constraint FK_TBLNPLOT_RL_18_TBLORDER foreign key (Order_id) references tblOrder (Order_id)
go
alter table tblOrder add constraint FK_TBLORDER_RL_19_TBLNPLOT foreign key (NPlot_id) references tblNPlot (NPlot_id)
go
alter table tblOrder add constraint FK_TBLORDER_RL_3_TBLCHARO foreign key (ChaRoad_id) references tblChaRoad (ChaRoad_id)
go
alter table tblOrder add constraint FK_TBLORDER_RL_4_TBLCHABU foreign key (ChaBuild_id) references tblChaBuild (ChaBuild_id)
go
alter table tblReport add constraint FK_TBLREPOR_RL_17_TBLORDER foreign key (Order_id) references tblOrder (Order_id)
go
alter table tblWorkers add constraint FK_TBLWORKE_RL_12_TBLBRIGA foreign key (Brigade_id) references tblBrigade (Brigade_id)
go
Виконання запитів
1. Одержати перелік будівельних правлінь або ділянок та їх керівників
select o.buildmanagement, o.nplot_id, n.head
from tblorder as o, tblnplot as n
where o.nplot_id=n.nplot_id
2. Одержати список фахівців інженерно-технічного складу позначеної ділянки або будівельного правління із зазначенням їх посад
select distinct(o.buildmanagement), o.nplot_id, t.engineers, t.technology, t.technics
from tblorder as o, tblnplot as n, tbltech as t
where o.nplot_id=3
3. Одержати перелік об"єктів, що зводяться зазначеним будівельним правлінням або ділянкою, і графіки їхнього зведення
select distinct(o.object), o.buildmanagement, o.nplot_id, g.jobtype, g.termperformance
from tblorder as o, tblgrafics as g
where o.order_id=g.order_id
4. Одержати склад бригад, що працювали (працюють) на будівництві зазначеного об"єкта
select o.object, w.bricklayer, w.concrete, w.handler, w.welders, w.electricity, w.driver, w.locksmiths, w.workers_id
from tblorder as o, tblworkers as w
where o.nplot_id=w.nplot_id
5. Одержати перелік будівельної техніки, наданої зазначеному будівельному правлінню
select o.buildmanagement, m.bulldozers, m.cranes, m.excavator, 3
from tblorder as o, tblmachines as m
where o.nplot_id=3
order by 3
6. Одержати перелік будівельної техніки, виділеної на зазначений об^єкт або тієї, що працювала там упродовж зазначеного періоду часу
select o.object, o.buildmanagement, m.bulldozers, m.cranes, m.excavator, g.termperformance, m.nplot_id
from tblorder as o, tblmachines as m, tblgrafics as g
where o.nplot_id=m.nplot_id and o.order_id=g.order_id and g.TermPerformance<"01.01.2012"
7. Одержати графік і кошторис на будівництво зазначеного об"єкта
select o.object, g.jobtype, g.kyshty
from tblorder as o, tblgrafics as g
where o.order_id=g.order_id
8. Одержати звіт про спорудження зазначеного об^єкта
select o.object, r.jobtype, r.used
from tblorder as o, tblreport as r
where o.order_id=r.order_id and o.object="Дім"
9. Одержати перелік об^єктів, що зводяться у деякому будівельному правлінні або в цілому по організації, та на яких у позначений період часу виконувався зазначений вид будівельних робіт
select o.object, o.buildmanagement, g.jobtype, g.termperformance from tblorder as o, tblgrafics as g where o.order_id=g.order_id and g.termperformance= 01.01.2012
10. Одержати перелік видів будівельних робіт, по яких мало місце перевищення строків виконання на зазначеній ділянці, будівельному правлінні або в цілому по організації
select o.object, o.BuildManagement, r.jobtype, g.termperformance, r.completion
from tblorder as o, tblreport as r, tblgrafics as g
where o.order_id=g.order_id and o.order_id=r.order_id
and g.termperformance < r.completion and g.jobtype=r.jobtype
11. Одержати перелік будівельних матеріалів, по яких мало місце перевищення кошторису на зазначеній ділянці, будівельному правлінні або в цілому по організації
select o.object, o.BuildManagement, m.materials, g.kyshty, r.used
from tblorder as o, tblmaterials as m, tblgrafics as g, tblreport as r
where o.order_id=g.order_id and o.order_id=r.order_id and g.grafics_id=m.grafics_id and
g.kyshty 12. Одержати перелік видів будівельних робіт, виконаних
зазначеною бригадою протягом позначеного періоду часу із вказівкою об"єктів, де
ці роботи виконувалися select o.object,
g.jobtype, g.termperformance, b.brigade_id from tblorder as
o, tblgrafics as g, tblbrigade as b where
o.nplot_id=b.nplot_id and o.order_id=g.grafics_id and b.brigade_id=3 13. Одержати перелік бригад, що виконували зазначений вид
будівельних робіт протягом позначеного періоду часу із зазначенням об"єктів, де
ці роботи виконувалися select
o.object, g.jobtype, b.brigade_id, g.termperformance from tblorder
as o, tblgrafics as g, tblbrigade as b where
o.nplot_id=b.nplot_id and o.order_id=g.grafics_id and g.jobtype="ремонт" Лістинг
програми unit Unit1; interface uses Windows,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, StdCtrls, Menus, DB, Grids, DBGrids, ADODB; type TForm1 =
class(TForm) ADOConnection1: TADOConnection; ADOConnection2: TADOConnection; ADOTable1:
TADOTable; ADOQuery1: TADOQuery; DBGrid1: TDBGrid; DataSource1: TDataSource; DataSource2:
TDataSource; MainMenu1: TMainMenu; ComboBox1: TComboBox; DBNavigator1:
TDBNavigator; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; File1:
TMenuItem; N1: TMenuItem; N2: TMenuItem; Button6: TButton; Button7: TButton; procedure
ComboBox1Change(Sender: TObject); procedure N2Click(Sender: TObject); procedure
N1Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure
Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); private
{ Private declarations } public { Public declarations } end; var Form1:
TForm1; implementation uses Unit2,
Unit3, Unit4, Unit5; {$R *.dfm} procedure
TForm1.FormShow(Sender: TObject); begin Form2.ShowModal; end; procedure
TForm1.ComboBox1Change(Sender: TObject); begin if
(Combobox1.Text="Номер ділянки") then begin form1.ADOTable1.Active:=false; form1.ADOTable1.TableName:="tblNPlot";form1.ADOTable1.Active:=true; end; if
(Combobox1.Text="Характеристика заказу на мости та дороги") then begin form1.ADOTable1.Active:=false; form1.ADOTable1.TableName:="tblChaRoad";form1.ADOTable1.Active:=true; end; if
(Combobox1.Text="Характеристика заказу на житловий будинок") then begin form1.ADOTable1.Active:=false; form1.ADOTable1.TableName:="tblChaBuild";form1.ADOTable1.Active:=true; end; if
(Combobox1.Text="Таблиця що містить інформацію про закази") then begin form1.ADOTable1.Active:=false; form1.ADOTable1.TableName:="tblOrder";form1.ADOTable1.Active:=true; end; if
(Combobox1.Text="Графік зведення обєкта ") then begin form1.ADOTable1.Active:=false; form1.ADOTable1.TableName:="tblGrafics";form1.ADOTable1.Active:=true; end; if
(Combobox1.Text="Звіт виконання роботи") then begin form1.ADOTable1.Active:=false; form1.ADOTable1.TableName:="tblReport";form1.ADOTable1.Active:=true; end; if
(Combobox1.Text="Бригади") then begin form1.ADOTable1.Active:=false; form1.ADOTable1.TableName:="tblBrigade
";form1.ADOTable1.Active:=true; end; if
(Combobox1.Text="Інженерно-технічний персонал") then begin form1.ADOTable1.Active:=false; form1.ADOTable1.TableName:="tblTech
";form1.ADOTable1.Active:=true; end; if
(Combobox1.Text="будівельна техніка") then begin form1.ADOTable1.Active:=false; form1.ADOTable1.TableName:="tblMachines
";form1.ADOTable1.Active:=true; end; if
(Combobox1.Text="Робітники") then begin form1.ADOTable1.Active:=false; form1.ADOTable1.TableName:="tblWorkers
";form1.ADOTable1.Active:=true; end; end; procedure
TForm1.N2Click(Sender: TObject); begin close(); end; procedure
TForm1.N1Click(Sender: TObject); begin ShowMessage("Anisimov
Andriy"); end; procedure
TForm1.Button6Click(Sender: TObject); begin form5.ShowModal; if
(Form5.modalresult <> 6) then begin ShowMessage("Пароль
неверный"); end else begin form3.ShowModal; end; end; procedure
TForm1.Button7Click(Sender: TObject); begin form4.ShowModal; end; end. unit Unit2; interface uses Windows,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, jpeg; type TForm2 =
class(TForm) Image1: TImage; Timer1: TTimer; procedure Image1Click(Sender:
TObject); private { Private declarations } public { Public declarations } end; var Form2:
TForm2; implementation {$R *.dfm} procedure
TForm2.Image1Click(Sender: TObject); begin close; end; end. unit Unit3; interface uses Windows,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Menus, DB, ADODB, Grids, DBGrids; type TForm3 =
class(TForm) Label1: TLabel; DBGrid2: TDBGrid; ADOConnection1: TADOConnection; ADOConnection2:
TADOConnection; ADOTable1:
TADOTable; ADOQuery1: TADOQuery; DataSource1: TDataSource; DataSource2:
TDataSource; MainMenu1: TMainMenu; File1: TMenuItem; N1: TMenuItem; N2:
TMenuItem; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; Label2: TLabel; Button1:
TButton; Memo1: TMemo; Button2: TButton; Button3: TButton; Button4: TButton; Button5:
TButton; procedure Button1Click(Sender: TObject); procedure
Button5Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure
Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure
N2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private {
Private declarations } public { Public declarations } end; var Form3:
TForm3; implementation {$R *.dfm} procedure
TForm3.Button1Click(Sender: TObject); begin ADOQuery1.close;
{Деактивируем запрос в качестве одной из мер предосторожности } ADOQuery1.SQL.Clear;
{Стираем любой предыдущий запрос} If Memo1.Lines[0]
<> "" {Проверяем на предмет пустого ввода} then ADOQuery1.SQL.Add(Memo1.Text)
{Назначаем свойству SQL текст Memo} else begin messageDlg("Введіть
sql запрос", mtError, [mbOK], 0); exit; end; try {перехватчик
ошибок} ADOQuery1.Open; {Выполняем
запрос и открываем набор данных} except {секция
обработки ошибок} On e :
EDatabaseError do {e - новый дескриптор ошибки} messageDlg(e.message,mtError,[mbOK],0);
{показываем свойство message объекта e} end;{окончание
обработки ошибки} Memo1.ReadOnly:=false; end; procedure
TForm3.Button5Click(Sender: TObject); begin Memo1.Clear; end; procedure
TForm3.Button4Click(Sender: TObject); begin if
SaveDialog1.Execute then Memo1.Lines.SaveToFile(SaveDialog1.FileName); end; procedure
TForm3.Button2Click(Sender: TObject); begin Memo1.Lines.SaveToFile(OpenDialog1.FileName) end; procedure
TForm3.Button3Click(Sender: TObject); begin Memo1.ReadOnly:=true; openDialog1.Filter:="Текстові
файли|*.txt"; if
OpenDialog1.Execute and FileExists (OpenDialog1.FileName) then Memo1.Lines.LoadFromFile(OpenDialog1.FileName); end; procedure
TForm3.N2Click(Sender: TObject); begin close(); end; procedure
TForm3.FormCreate(Sender: TObject); begin ShowMessage("Anisimov
Andriy"); end; end. unit Unit4; interface uses Windows,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Menus, DB, ADODB, Grids, DBGrids; type TForm4 =
class(TForm) Label1: TLabel; DBGrid2: TDBGrid; ADOConnection1: TADOConnection; ADOConnection2:
TADOConnection; ADOTable1: TADOTable; ADOQuery1: TADOQuery; DataSource1:
TDataSource; DataSource2: TDataSource; MainMenu1: TMainMenu; File1: TMenuItem; N1:
TMenuItem; N2: TMenuItem; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; Label2:
TLabel; Button1: TButton; Memo1: TMemo; Button3: TButton; procedure
Button3Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure
N2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private {
Private declarations } public { Public declarations } end; var Form4:
TForm4; implementation {$R *.dfm} procedure
TForm4.Button3Click(Sender: TObject); begin Memo1.ReadOnly:=true; openDialog1.Filter:="Текстові
файли|*.txt"; if
OpenDialog1.Execute and FileExists (OpenDialog1.FileName) then Memo1.Lines.LoadFromFile(OpenDialog1.FileName); end; procedure
TForm4.Button1Click(Sender: TObject); begin ADOQuery1.close;
{Деактивируем запрос в качестве одной из мер предосторожности } ADOQuery1.SQL.Clear;
{Стираем любой предыдущий запрос} If Memo1.Lines[0]
<> "" {Проверяем на предмет пустого ввода} then ADOQuery1.SQL.Add(Memo1.Text)
{Назначаем свойству SQL текст Memo} else begin messageDlg("Введіть
sql запрос", mtError, [mbOK], 0); exit; end; try {перехватчик
ошибок} ADOQuery1.Open; {Выполняем
запрос и открываем набор данных} except {секция
обработки ошибок} On e :
EDatabaseError do {e - новый дескриптор ошибки} messageDlg(e.message,mtError,[mbOK],0);
{показываем свойство message объекта e} end;{окончание
обработки ошибки} Memo1.ReadOnly:=false; end; procedure
TForm4.N2Click(Sender: TObject); begin close(); end; procedure
TForm4.FormCreate(Sender: TObject); begin ShowMessage("Anisimov
Andriy"); end; end. unit Unit5; interface uses Windows,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls; type TForm5 =
class(TForm) Button1: TButton; Edit1: TEdit; procedure oK(Sender: TObject); procedure
FormClose(Sender: TObject; var Action: TCloseAction); private { Private
declarations } public { Public declarations } end; var Form5:
TForm5; implementation {$R *.dfm} procedure
TForm5.oK(Sender: TObject); begin if (Edit1.Text =
"0000") then ModalResult:=6; close; end; procedure
TForm5.FormClose(Sender: TObject; var Action: TCloseAction); begin if (Edit1.Text =
"0000") then ModalResult:=6; end; end. Висновок При виконанні курсової
роботи я пригадав як створювати: базу даних, концептуальну та фізичну модель
БД, SQL запити, запити на створення
таблиць та зв^язків між ними. Освіжив свої навики в SQL quarry analyzer, SQL Enterprise manager та Power designer. А також написав програму на мові Delphi, яка допомогла б користувачу
з легкістю користуватися створеною мною базою даних.