Інформаційна система будівельної організації
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
>
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, tbl