Разработка модели распределенной реляционной базы данных предприятия

Автор работы: Пользователь скрыл имя, 27 Июня 2013 в 11:38, курсовая работа

Описание работы

Разработать модель распределенной реляционной базы данных предприятия, состоящего из главного производства и нескольких удаленных филиалов. Части предприятия связаны компьютерной сетью, имеют собственные локальные базы данных, могут использовать данные удаленных узлов. Глобальная информация хранится на центральном узле.
Разработать приложение, обеспечивающее создание, модификацию и поиск данных. Считать, что все локальные базы размещены на одном компьютере.

Файлы: 1 файл

Kursovaya1.doc

— 809.50 Кб (Скачать файл)

 

Сотрудники

 

 

На вкладках «Совещания» и «Планы» можно просмотреть информацию о совещаниях и планах. Все операции аналогичны предыдущим.

 

 

 

 

 

 

 

 

 

 

 

 

 

Совещания

 

 

 

Планы

 

 

БД Хирургический отдел содержит три таблицы («Сотрудники», «Пациенты», «Отчеты»). Передвигаться по набору данных, редактировать, добавлять и удалять записи можно при помощи соответствующих кнопок навигатора.

На вкладке «Сотрудники» содержится информация о сотрудниках хирургического отдела. В таблице можно найти запись об интересующем сотруднике. Для этого в поле ввода достаточно ввести первые несколько букв его фамилии и курсор укажет нужную строку. После завершения работы БД можно закрыть.

 

Сотрудники

 

На вкладке «Пациенты» – информация о пациентах, которые проходят лечение в хирургическом отделе. В таблице можно найти запись об интересующем пациенте. Для этого в поле ввода достаточно ввести первые несколько букв его фамилии и курсор укажет нужную строку. После завершения работы БД можно закрыть.

 

Пациенты

 

 

На вкладке  отчеты – информация об отчетах хирургического отдела.

 

Отчеты

 

 

БД Глазное отделение содержит три таблицы («Сотрудники», «Пациенты», «Отчеты»). Передвигаться по набору данных, редактировать, добавлять и удалять записи можно при помощи соответствующих кнопок навигатора.

На вкладке «Сотрудники» содержится информация о сотрудниках  глазного отдела. В таблице можно найти запись об интересующем сотруднике. Для этого в поле ввода достаточно ввести первые несколько букв его фамилии и курсор укажет нужную строку. После завершения работы БД можно закрыть.

 

 

 

 

 

 

 

 

 

 

 

 

Сотрудники

 

 

На вкладке «Пациенты» – информация о пациентах, которые проходят лечение в глазном отделе. В таблице можно найти запись об интересующем пациенте. Для этого в поле ввода достаточно ввести первые несколько букв его фамилии и курсор укажет нужную строку. После завершения работы БД можно закрыть.

 

Пациенты

 

 

 

 

На вкладке  отчеты – информация об отчетах глазного отдела.

 

Отчеты

 

 

6. Листинг программы

 

unit Unit1;  //Форма окна для выбора отдела

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ExtCtrls, jpeg;

 

type

  TForm1 = class(TForm)

    Panel2: TPanel;

    RadioGroup1: TRadioGroup;

    Button1: TButton;

    Button2: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

 

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

implementation

uses Unit3, Unit4, Unit5;

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

 begin

  case RadioGroup1.ItemIndex of

    0:form3.visible:=true ;

    1:form4.Visible:=true ;

    2:form5.visible:=true ;

  else

    showmessage ('Выберите отдел');

   form1.Visible:=true;

  end;

end;

 

 

procedure TForm1.Button2Click(Sender: TObject);

 begin

  application.Terminate ;

end;

end.

 

unit Unit3;  // Форма БД Администрации

 

 interface

 

 uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ComCtrls, ExtCtrls, DB, DBTables, Grids, DBGrids,

  DBCtrls;

 

type

  TForm3 = class(TForm)

    Panel1: TPanel;

    PageControl1: TPageControl;

    TabSheet1: TTabSheet;

    TabSheet2: TTabSheet;

    TabSheet3: TTabSheet;

    Button1: TButton;

    Query1: TQuery;

    Button2: TButton;

    DataSource2: TDataSource;

    Query2: TQuery;

    Button4: TButton;

    Edit1: TEdit;

    DataSource3: TDataSource;

    Query3: TQuery;

    DBNavigator1: TDBNavigator;

    Label1: TLabel;

    Button6: TButton;

    DBGrid2: TDBGrid;

    Button7: TButton;

    DBNavigator2: TDBNavigator;

    Button8: TButton;

    Button9: TButton;

    Button10: TButton;

    Label2: TLabel;

    Edit2: TEdit;

    Button12: TButton;

    DBNavigator3: TDBNavigator;

    Button13: TButton;

    Edit3: TEdit;

    Label3: TLabel;

    Label4: TLabel;

    Edit4: TEdit;

    DataSource1: TDataSource;

    DBGrid1: TDBGrid;

    DBGrid3: TDBGrid;

    Label6: TLabel;

    DBGrid4: TDBGrid;

    Label5: TLabel;

    Button3: TButton;

    Edit5: TEdit;

    Label7: TLabel;

    Button5: TButton;

    DataSource4: TDataSource;

    Query4: TQuery;

    Button15: TButton;

    Query5: TQuery;

    DataSource5: TDataSource;

    DBNavigator4: TDBNavigator;

    DBGrid5: TDBGrid;

    UpdateSQL1: TUpdateSQL;

    Database1: TDatabase;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button6Click(Sender: TObject);

    procedure Button7Click(Sender: TObject);

    procedure Button8Click(Sender: TObject);

    procedure Button9Click(Sender: TObject);

    procedure Button10Click(Sender: TObject);

    procedure Button13Click(Sender: TObject);

    procedure Edit1Change(Sender: TObject);

    procedure Edit2Change(Sender: TObject);

    procedure Edit3Change(Sender: TObject);

    procedure Edit4Change(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure Button12Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Button15Click(Sender: TObject);

 

private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form3: TForm3;

implementation

uses unit1, unit2;

{$R *.dfm}

 

procedure TForm3.Button1Click(Sender: TObject);     //закрыть форму

begin

  close;

end;

 

procedure TForm3.Button2Click(Sender: TObject);   //открыть таблицу

begin         сотрудники

  query1.Open ;

   form3.DBGrid1.ReadOnly:=false;

   edit1.Enabled:=true;

   edit5.Enabled:=true;

   form3.DBNavigator1.Enabled:=true;

  pagecontrol1.Pages[1].TabVisible:=false;

  pagecontrol1.Pages[2].TabVisible:=false;

end;

 

procedure TForm3.Button3Click(Sender: TObject);     //вызов хранимой

begin          процедуры

  query4.Prepare ;

  query4.Params.ParamByName('IpDolgnost').Value:=Edit5.Text ;

  query4.Open;

end;

 

procedure TForm3.Button4Click(Sender: TObject);       //открыть таблицу

 begin         Совещания

   form3.DBNavigator3.Enabled:=true;    

    edit4.Enabled:=true;

    edit3.Enabled:=true;

    query2.open;

   pagecontrol1.Pages[0].TabVisible:=false;

   pagecontrol1.Pages[2].TabVisible:=false;

end;

 

procedure TForm3.Button6Click(Sender: TObject);  //обновить

begin         таблицу Сотрудники 

  if query1.Active=true  then begin

    query1.Close;query1.Open;

   end;

end;

 

 

procedure TForm3.Button7Click(Sender: TObject); //закрыть таблицу

begin         Сотрудники 

  query1.Close;

  edit1.Clear;

   pagecontrol1.Pages[1].TabVisible:=true;

   pagecontrol1.Pages[2].TabVisible:=true;

end;

 

procedure TForm3.Button8Click(Sender: TObject);       //открыть таблицу

begin          Планы 

  query3.Open;

  edit2.Enabled:=true;

  form3.DBGrid5.Enabled:=true;

   form3.DBNavigator2.Enabled:=true;

   pagecontrol1.Pages[0].TabVisible:=false;

   pagecontrol1.Pages[1].TabVisible:=false;

end;

 

procedure TForm3.Button9Click(Sender: TObject);  //обновить таблицу

begin         Планы

    if query3.Active=true  then begin

    query3.Close ;query3.Open ;

   end;

end;

procedure TForm3.Button10Click(Sender: TObject);   //закрыть таблицу

begin         Планы

  query3.Close ;

  edit2.Clear ;

   pagecontrol1.Pages[0].TabVisible:=true;

   pagecontrol1.Pages[1].TabVisible:=true;

end;

 

procedure TForm3.Button13Click(Sender: TObject);    //закрыть таблицу     begin           Совещания 

           query2.Close ;

    edit4.Clear ;

    edit3.Clear ;

     edit3.Enabled:=false;

     edit4.Enabled:=false;

    pagecontrol1.Pages[0].TabVisible:=true;

    pagecontrol1.Pages[2].TabVisible:=true;

end;

 

procedure TForm3.Edit1Change(Sender: TObject); //поиск сотрудника по

begin         фамилии

   if edit1.Text='' then exit;

   if not query1.Active then exit;

   if not query1.Locate('FIO', edit1.Text , [loPartialKey, loCaseInsensitive])

    then application.MessageBox('Фамилия не найдена','Мед.учреждение' ,mb_ok);

end;

 

procedure TForm3.Edit2Change(Sender: TObject);    //поиск сотрудника по  begin         фамилии

  if edit2.Text='' then exit;

  if not query3.Active then exit ;

  if not query3.Locate('OTVETSTVENNIJ', edit2.Text,[loPartialKey,loCaseInsensitive])

   then application.MessageBox('Фамилия не найдена','Мед.учреждение',mb_ok);

end;

 

procedure TForm3.Edit3Change(Sender: TObject);   //поиск совещания по

begin         теме

  if edit3.text='' then exit;

  if not query2.Active then  exit ;

  if not query2.Locate('TEMA', edit3.Text,[loPartialKey, loCaseInsensitive])

   then application.MessageBox('Тема не найдена','Мед.учреждение',mb_ok);

end;

 

procedure TForm3.Edit4Change(Sender: TObject);   //поиск плана по

 begin        фамилии руководителя

  edit3.Enabled:=false;

  if edit4.text='' then exit;

  if not query2.Active then  exit ;

  if not query2.Locate('RUKOVODITEL', edit4.Text , [loPartialKey, loCaseInsensitive])

   then application.MessageBox('Фамилия не найдена ','Мед.учреждение',mb_ok);

end;

 

procedure TForm3.FormCreate(Sender: TObject);  //переход в главное меню

  begin

   edit1.Enabled:=false;

   edit2.Enabled:=false;

   edit3.Enabled:=false;

   edit4.Enabled:=false;

   edit5.Enabled:=false;

    query1.close;

    query2.close;

    query3.close;

   form3.DBNavigator1.Enabled:=false;

   form3.DBNavigator2.Enabled:=false;

   form3.DBNavigator3.Enabled:=false;

   form3.DBGrid5.Enabled:=false;

  end;

 

procedure TForm3.Button12Click(Sender: TObject); //обновить таблицу

begin         Совещания

  if query2.Active=true  then begin

   query2.Close ;query2.Open ;

  end;

end;

 

procedure TForm3.Button5Click(Sender: TObject);  //очистка строки

 begin           ввода для поиска с использованием

  edit5.Clear;       хранимой процедуры

  query4.Close;

end;

 

procedure TForm3.Button15Click(Sender: TObject);       //кеширование

begin

  Database1.StartTransaction;

  try

  Query5.ApplyUpdates;

  Database1.Commit;

  except

  Database1.Rollback;

  Raise;

   end;

  Query5.CommitUpdates;

end;

end.

 

unit Unit3;                 //Форма БД Хирургического отделения

 

 interface

      

 uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, ComCtrls, ExtCtrls,

  DBCtrls;

 

type

  TForm4 = class(TForm)

    Panel1: TPanel;

    PageControl1: TPageControl;

    TabSheet1: TTabSheet;

    TabSheet2: TTabSheet;

    TabSheet3: TTabSheet;

    Button1: TButton;

    Label7: TLabel;

    Label9: TLabel;

    Label11: TLabel;

    DataSource1: TDataSource;

    Query1: TQuery;

    DBGrid1: TDBGrid;

    DBGrid2: TDBGrid;

    DBGrid3: TDBGrid;

    DataSource2: TDataSource;

    Query2: TQuery;

    DBNavigator1: TDBNavigator;

    Button2: TButton;

    Button4: TButton;

    DBNavigator2: TDBNavigator;

    Button5: TButton;

    Button3: TButton;

    Button6: TButton;

    Button7: TButton;

    Button8: TButton;

    Label1: TLabel;

    Edit1: TEdit;

    Edit2: TEdit;

    Label2: TLabel;

    DataSource3: TDataSource;

    Query3: TQuery;

    Button9: TButton;

    Button10: TButton;

    DBNavigator3: TDBNavigator;

    Label3: TLabel;

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button11Click(Sender: TObject);

    procedure Button15Click(Sender: TObject);

    procedure Button6Click(Sender: TObject);

    procedure Button7Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure Button8Click(Sender: TObject);

    procedure Edit2Change(Sender: TObject);

    procedure Edit1Change(Sender: TObject);

    procedure Button9Click(Sender: TObject);

    procedure Button10Click(Sender: TObject);

 

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form4: TForm4;

implementation

{$R *.dfm}

 

procedure TForm4.Button2Click(Sender: TObject);  //открыть таблицу

 begin          Пациенты

   query2.open;

   form4.DBNavigator1.Enabled:=true;

   pagecontrol1.Pages[0].TabVisible:=false;

   pagecontrol1.Pages[2].TabVisible:=false;

end;

 

procedure TForm4.Button3Click(Sender: TObject); //обновить таблицу

 begin        Пациенты 

  if query2.Active=true then begin

   query2.Close;query2.Open;

  end;

 end;

 

procedure TForm4.Button4Click(Sender: TObject); //закрыть таблицу

 begin         Пациенты

  query2.Close ;

  pagecontrol1.Pages[0].TabVisible:=true;

  pagecontrol1.Pages[2].TabVisible:=true;

end;

 

 

procedure TForm4.Button5Click(Sender: TObject); //открыть таблицу

 begin         Сотрудники

  query1.Open ;

   form4.DBGrid1.ReadOnly:=false;

   form4.DBNavigator2.Enabled:=true;

  pagecontrol1.Pages[1].TabVisible:=false;

  pagecontrol1.Pages[2].TabVisible:=false;

end;

 

procedure TForm4.Button1Click(Sender: TObject);  //переход в главное

 begin          меню

  query1.close;

  query2.Close;

  query3.Close;

  close;

end;

 

procedure TForm4.Button11Click(Sender: TObject); //открыть таблицу

begin         Сотрудники

  query1.open;

  pagecontrol1.Pages[0].TabVisible:=false;

  pagecontrol1.Pages[2].TabVisible:=false;

end;

        end;

 

       procedure TForm4.Button6Click(Sender: TObject);  //открыть таблицу

begin         Отчеты

  query3.Open;

   DBNavigator3.Enabled:=true;

   pagecontrol1.Pages[0].TabVisible:=false;

   pagecontrol1.Pages[1].TabVisible:=false;

end;

 

procedure TForm4.Button7Click(Sender: TObject); //закрыть таблицу

 begin         Отчеты

   query3.Close ;

   pagecontrol1.Pages[0].TabVisible:=true;

   pagecontrol1.Pages[1].TabVisible:=true;

 end;

 

procedure TForm4.FormCreate(Sender: TObject); //запуск формы Отдела

 begin         хирургии

  query1.Close;

  query2.Close;

  query3.Close;

end;

 

procedure TForm4.Button8Click(Sender: TObject);  //закрыть таблицу

 begin         Сотрудники

  query1.close;

   pagecontrol1.Pages[1].TabVisible:=true;

   pagecontrol1.Pages[2].TabVisible:=true;

end;

 

procedure TForm4.Edit2Change(Sender: TObject); //поиск по фамилии begin                                       сотрудника обслуживающего пациента

  if edit2.Text='' then exit;

  if not query2.Active then exit;

  if not query2.Locate('FIO', edit2.Text,[loPartialKey, loCaseInsensitive])

    then application.MessageBox('Фамилия не найдена ', 'Мед.учреждение' ,mb_ok);

end;

 

procedure TForm4.Edit1Change(Sender: TObject); //поиск по фамилии

begin         сотрудника

  if edit1.Text='' then exit;

  if not query1.Active then exit;

  if not query1.Locate('FIO', edit1.Text , [loPartialKey, loCaseInsensitive])

    then application.MessageBox('Фамилия не найдена ', 'Мед.учреждение' ,mb_ok);

end;

 

procedure TForm4.Button9Click(Sender: TObject); //обновить таблицу

begin         Отчеты

  if query3.Active=true then begin

     query3.Close;query3.Open;

    end;

  end;

 

procedure TForm4.Button10Click(Sender: TObject); //обновить таблицу

begin         Сотрудники 

  if query1.Active=true then begin

    query1.Close; query1.Open;

  end;

 end.

 

 

 

 

unit Unit5;    //Форма БД Глазное отделение

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ComCtrls, ExtCtrls, StdCtrls, DB, DBTables, Grids, DBGrids,

  DBCtrls;

 

type

  TForm5 = class(TForm)

    Panel1: TPanel;

    PageControl1: TPageControl;

    TabSheet1: TTabSheet;

    TabSheet2: TTabSheet;

    Button1: TButton;

    DBNavigator1: TDBNavigator;

Информация о работе Разработка модели распределенной реляционной базы данных предприятия