Автор работы: Пользователь скрыл имя, 03 Апреля 2011 в 20:35, курсовая работа
Целью данной курсовой работы является исследование распределенных баз данных и распределенных СУБД. Для достижения поставленной цели в работе были реализованы следующие задачи:
•Рассмотрено понятие распределенных баз данных;
•Рассмотрены свойства распределенных БД;
•Рассмотрено понятие целостности данных;
•Рассмотрен принцип построения распределенных баз данных на примере SYSTEM R*
•Разработано приложение в среде Delphi.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
ПРИЛОЖЕНИЕ 1
Листинг
основной программы
unit Umain;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ImgList;
type
TFmain = class(TForm)
MainMenu1: TMainMenu;
ImageList1: TImageList;
N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem;
N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem;
N9: TMenuItem; N11: TMenuItem; N12: TMenuItem;
N14: TMenuItem; N15: TMenuItem; N13: TMenuItem;
N16: TMenuItem;
procedure N5Click(Sender: TObject); procedure N12Click(Sender: TObject);
procedure N8Click(Sender: TObject); procedure N7Click(Sender: TObject);
procedure N15Click(Sender: TObject); procedure N6Click(Sender: TObject);
procedure N14Click(Sender: TObject); procedure N13Click(Sender: TObject);
procedure N9Click(Sender: TObject); procedure N16Click(Sender: TObject);
procedure N3Click(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var
Fmain: TFmain;
implementation
uses UDM, UDobTovar, UTovar, UDobFirm, UFirm, UZakaz, UDobZakaz, UInvVed1, URepIVed, UKlad, Upass, UDogf, UTPoisk, UAbout, USPoisk, UZapr;
Продолжение
приложения 1
{$R *.dfm}
procedure TFmain.N5Click(Sender: TObject);
begin FTovar.Show; end;
procedure TFmain.N12Click(Sender: TObject);
begin FPass.Close; close; end;
procedure TFmain.N8Click(Sender: TObject);
begin FFirm.Show; end;
procedure TFmain.N7Click(Sender: TObject);
begin FZakaz.Show; end;
procedure TFmain.N15Click(Sender: TObject);
begin FInvVed.Show; end;
procedure TFmain.N6Click(Sender: TObject);
begin FKlad.Show; end;
procedure TFmain.N14Click(Sender: TObject);
begin fdog.Show; end;
procedure TFmain.N13Click(Sender: TObject);
begin FTPoisk.Show; end;
procedure TFmain.N9Click(Sender: TObject);
begin AboutBox.Show; end;
procedure TFmain.N16Click(Sender: TObject);
begin FSPoisk.Show; end;
procedure TFmain.N3Click(Sender: TObject);
begin Form1.Show; end;
end.
unit UNewPass;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Продолжение
приложения 1
Dialogs, StdCtrls, Buttons, Registry;
type
TFNewPass = class(TForm)
Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; SpeedButton1: TSpeedButton; Label1: TLabel; Label2: TLabel; Label3: TLabel;
procedure SpeedButton1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
private { Private declarations }
public { Public declarations }
end;
var FNewPass: TFNewPass;
implementation
uses Upass;
{$R *.dfm}
procedure TFNewPass.SpeedButton1Click(
begin close; end;
procedure TFNewPass.FormActivate(Sender: TObject);
begin Edit1.Text := ''; Edit2.Text := ''; Edit3.Text := ''; Edit1.Enabled := true;
Edit1.SetFocus; Edit2.Enabled := false; Edit3.Enabled := false; end;
procedure TFNewPass.Edit1KeyPress(
begin if (key = #13) and (Edit1.Text = Fpass.LabeledEdit1.Text) then
begin Edit2.Enabled := true; Edit1.Enabled := false; Edit2.SetFocus;
end; end;
procedure TFNewPass.Edit2KeyPress(
begin if key = #13 then begin Edit3.Enabled := true; Edit3.SetFocus;
Продолжение приложения 1
Edit2.Enabled := false; end; end;
procedure TFNewPass.Edit3KeyPress(
var Reg:TRegistry;
begin if (key = #13) and (Edit2.Text = Edit3.Text) then begin
Reg := TRegistry.Create; with Reg do begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey('Software', True); if not KeyExists('Cardi') then CreateKey('Cardi');
OpenKey('Cardi', True); WriteString('Log', Edit3.Text); end; close; end;
end; end.
unit Upass;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, ExtCtrls, Registry;
type
TFPass = class(TForm)
LabeledEdit1: TLabeledEdit; SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton;
procedure SpeedButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var FPass: TFPass; pass, newpass:string; x:byte;
implementation
uses UZast, UNewPass;
{$R *.dfm}
Продолжение приложения 1
procedure TFPass.SpeedButton1Click(
begin x:= x+1; if x<3 then Begin if LabeledEdit1.Text = pass then
begin FZast.Show; Visible:=false; end else begin
LabeledEdit1.SetFocus; MessageDlg('Пароль не верен!!! Повторите ввод', mtInformation,[mbOk],0); end end else
begin MessageDlg('Пароль не верен!!! Доступ запрещен!!!', mtInformation,
[mbOk], 0); Close; end; end;
procedure TFPass.FormCreate(Sender: TObject);
var reg:Tregistry;
begin x:=0; LabeledEdit1.Text := ''; Reg := TRegistry.Create; with Reg do
begin RootKey := HKEY_LOCAL_MACHINE; OpenKey('Software', True);
if not KeyExists('Cardi') then CreateKey('Cardi');
OpenKey('Cardi', True); if not ValueExists('Log') then begin
newpass := ''; WriteString('Log', newpass); end else pass := ReadString('Log'); end; end;
procedure TFPass.SpeedButton2Click(
begin close; end;
procedure TFPass.SpeedButton3Click(
begin FNewPass.Show; end;
end.
unit URepIVed;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, QRCtrls, QuickRpt, ExtCtrls;
Type TFRepIVed = class(TForm)
QuickRep1: TQuickRep; DetailBand1: TQRBand;
ColumnHeaderBand1: TQRBand; TitleBand1: TQRBand;
QRLabel1: TQRLabel; QRLabel2: TQRLabel;
Продолжение приложения 1
QRLabel3: TQRLabel; QRLabel4: TQRLabel;
QRLabel5: TQRLabel; QRLabel6: TQRLabel;
QRLabel7: TQRLabel; QRLabel8: TQRLabel;
QRLabel9: TQRLabel; QRLabel10: TQRLabel;
QRDBText1: TQRDBText; QRDBText2: TQRDBText;
QRDBText3: TQRDBText; QRDBText4: TQRDBText;
QRDBText5: TQRDBText; QRDBText6: TQRDBText;
QRDBText7: TQRDBText; QRDBText8: TQRDBText;
QRDBText9: TQRDBText; SummaryBand1: TQRBand;
QRLabel11: TQRLabel; QRLabel12: TQRLabel;
QRLabel13: TQRLabel;
Private { Private declarations }
Public { Public declarations }
end;
var FRepIVed: TFRepIVed;
implementation
uses UDM;
{$R *.dfm}
end.
unit USPoisk;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Mask,db, DBCtrls, StdCtrls, ExtCtrls, Buttons, ComCtrls;
type
TFSPoisk = class(TForm)
PageControl1: TPageControl; TabSheet1: TTabSheet;
Label1: TLabel; Label2: TLabel; Label3: TLabel;
Label4: TLabel; Label5: TLabel; Label6: TLabel;
Продолжение приложения 1
Label7: TLabel; Label8: TLabel; SpeedButton2: TSpeedButton;
SpeedButton4: TSpeedButton; LabeledEdit1: TLabeledEdit;
DBEdit1: TDBEdit; DBEdit2: TDBEdit;
DBEdit3: TDBEdit; DBEdit4: TDBEdit;
DBEdit5: TDBEdit; DBEdit6: TDBEdit;
Информация о работе Распределенные баз данных и распределенных СУБД