Контрольная работа: Інформаційна система будівельної організації
)
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<r.used
and g.jobtype=r.jobtype
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;
Страницы: 1, 2, 3 |