Смекни!
smekni.com

Інформаційна система будівельної організації (стр. 2 из 2)

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;

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 запити, запити на створення таблиць та зв’язків між ними. Освіжив свої навики в SQLquarryanalyzer, SQL Enterprise manager та Powerdesigner. А також написав програму на мові Delphi, яка допомогла б користувачу з легкістю користуватися створеною мною базою даних.