Інфологічна модель предметної області..



3*Діаграма Чена.

 

 

Даталогічна модель предметної області

 

 

Передплатник

                     

Журнали

 
 

(Payer)

                     

(Object)

 
 

IK (PK)

                     

SH (PK)

 
                         
 

NP

                     

KS

 
 

TP

                     

NM

 
 

AP

                     

TYPE

 
 

 

                     

 

 
                                                 
             

ZamPay

 

Замовлення

 

ZamObj

             
               

(Zamovl)

               
               

NZ (PK)

               
               

DZ

               
               

KN

               
                 

VR1

                 
                 

SUMM

                 
                 

IK (FK)

 

                 
                                   
                 

SH (FK)

 

                 
                                   
                 

NV (FK)

 

                 
                                   
               

ZamPost

                               
 

Пошт відділення

                   

Банк

 
 

(Post)

                   

(Bank)

 
 

NV (PK)

                     

KB (PK)

 
                         
 

TV

                     

AB

 
 

ID

                     

NB

 
 

ND

                     

TB

 
 

AV

                     

 

 
                 

Зв’язуюча

                 
                 

(BankPost)

                 
                 

NV (FK)

(PK)

                 
                                   
                 

KB (FK)

                 
                                   
                                                 

 

 

Фізичне представлення БД

       

Передплатник

Назва поля Ідентифікатор Ключі Розмір Обмеження
Ідентифікаційний код IK (PK) числовий  
ПІБ NP   текстовий  
Телефон TP   числовий  
Адреса AP   текстовий  

 

Об’єкт передплати

Назва поля Ідентифікатор Ключі Розмір Обмеження
Штрих код SH (PK) числовий  
К-сть сторінок KS   числовий <100
Назва NM   текстовий  
Тип TYPE   текстовий  

Поштове відділення

Назва поля Ідентифікатор Ключі Розмір Обмеження
№ пошт відділення NV (PK) числовий <10000
Телефон TV   числовий  
Індекс ID   числовий  
ПІБ завідуючого ND   текстовий    
Адреса AV   текстовий  

 

Замовлення

Назва поля Ідентифікатор Ключі Розмір Обмеження
NZ (PK) числовий  
Дата DZ   числовий  
К-сть номерів KN   числовий  
Вартість VR1   числовий  
Сума SUMM   числовий  
Ідент код IK (FK) числовий  
Штрих код SH (FK) числовий  
№ пошт відл NV (FK) числовий <10000

Банк

Назва поля Ідентифікатор Ключі Розмір Обмеження
Код KB (PK) числовий  
Назва NB   текстовий  
Телефон TB   числовий  
Адреса AB   текстовий  

 

Зв’язуюча таблиця

Назва поля Ідентифікатор Ключі Розмір Обмеження
№ пошт віділ NV (FK) числовий  
Код банку KB (FK) числовий  

 

Елементи програмного забезпечення

Додатки

Лістинг програми

Головна форма

unit MainFR;

 

interface

 

uses

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

Dialogs, Menus, StdCtrls, Buttons, FRMRayer, FRMObject, FRMPost, FRMOrder,

FRMBank, DB, DBTables, RpDefine, RpCon, RpConDS, RpConBDE, RpRave, ZVFRM;

 

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

Label7: TLabel;

BitBtn6: TBitBtn;

procedure N2Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.N2Click(Sender: TObject);

begin

close;

end;

 

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

form2.Show;

end;

 

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

form3.Show;

end;

 

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

form4.Show;

end;

 

procedure TForm1.BitBtn4Click(Sender: TObject);

begin

form5.Show;

end;

 

procedure TForm1.BitBtn5Click(Sender: TObject);

begin

form6.Show;

end;

 

procedure TForm1.BitBtn6Click(Sender: TObject);

begin

form9.Show;

end;

 

end.

Форма „БД Передплатник”

unit FRMRayer;

 

interface

 

uses

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

Dialogs, MainMDL, DBCtrls, Grids, DBGrids, ExtCtrls, Menus,

StdCtrls, Buttons;

 

type

TForm2 = class(TForm)

Panel1: TPanel;

Panel2: TPanel;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

Memo1: TMemo;

BitBtn1: TBitBtn;

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

CheckBox1: TCheckBox;

procedure N2Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

  Form2: TForm2;

 

implementation

 

uses ModalnaFRM;

{$R *.dfm}

 

procedure TForm2.N2Click(Sender: TObject);

begin

close;

end;

 

procedure TForm2.BitBtn1Click(Sender: TObject);

begin

DataModule1.Query1.Close;

DataModule1.Query1.SQL.Clear;

DataModule1.Query1.SQL.Add(Memo1.Text);

DataModule1.Query1.Open;

form7.Show;

end;

 

procedure TForm2.CheckBox1Click(Sender: TObject);

begin

if CheckBox1.Checked then begin

DataModule1.Table1.Filter:=('IK='+Edit1.Text);

DataModule1.Table1.Filtered:=true;end

else

DataModule1.Table1.Filtered:=false;

end;

 

end.

Форма „БД Об’єкт передплати”

unit FRMObject;

 

interface

 

uses

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

Dialogs, MainMDL, DBCtrls, Grids, DBGrids, ExtCtrls, Menus, StdCtrls,

Buttons;

 

type

TForm3 = class(TForm)

Panel1: TPanel;

Panel2: TPanel;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

RadioGroup1: TRadioGroup;

LabeledEdit1: TLabeledEdit;

Button1: TButton;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

RadioButton4: TRadioButton;

LabeledEdit2: TLabeledEdit;

CheckBox1: TCheckBox;

procedure N2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form3: TForm3;

 

implementation

 

uses ModalnaFRM;

 

{$R *.dfm}

 

procedure TForm3.N2Click(Sender: TObject);

begin

close;

end;

 

procedure TForm3.Button1Click(Sender: TObject);

begin

if RadioButton1.Checked then

DataModule1.Table2.Locate('SH',LabeledEdit1.Text,[]);

if RadioButton2.Checked then

DataModule1.Table2.Locate('KS',LabeledEdit1.Text,[]);

if RadioButton3.Checked then

DataModule1.Table3.Locate('NM',LabeledEdit1.Text,[]);

if RadioButton4.Checked then

DataModule1.Table3.Locate('TYPE',LabeledEdit1.Text,[]);

end;

 

procedure TForm3.CheckBox1Click(Sender: TObject);

begin

if RadioButton1.Checked then

if CheckBox1.Checked then begin

DataModule1.Table2.Filter:=('SH='+LabeledEdit2.Text);

DataModule1.Table2.Filtered:=true;end

else

DataModule1.Table2.Filtered:=false;

 

if RadioButton2.Checked then

if CheckBox1.Checked then begin

DataModule1.Table2.Filter:=('KS='+LabeledEdit2.Text);

DataModule1.Table2.Filtered:=true;end

else

DataModule1.Table2.Filtered:=false;

 

end;

 

end.

Форма „БД Поштове відділення”

unit FRMPost;

 

interface

 

uses

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

Dialogs, MainMDL, DBCtrls, Grids, DBGrids, ExtCtrls, Menus, StdCtrls;

 

type

TForm4 = class(TForm)

Panel1: TPanel;

Panel2: TPanel;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

RadioGroup1: TRadioGroup;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

RadioButton4: TRadioButton;

RadioButton5: TRadioButton;

Button1: TButton;

LabeledEdit1: TLabeledEdit;

LabeledEdit2: TLabeledEdit;

CheckBox1: TCheckBox;

procedure N2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure DBGrid1EditButtonClick(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form4: TForm4;

 

implementation

 

uses NM;

 

{$R *.dfm}

 

procedure TForm4.N2Click(Sender: TObject);

begin

close;

end;

 

procedure TForm4.Button1Click(Sender: TObject);

begin

if RadioButton1.Checked then

DataModule1.Table3.Locate('NV',LabeledEdit1.Text,[]);

if RadioButton2.Checked then

DataModule1.Table3.Locate('TV',LabeledEdit1.Text,[]);

if RadioButton3.Checked then

DataModule1.Table3.Locate('ID',LabeledEdit1.Text,[]);

if RadioButton4.Checked then

DataModule1.Table3.Locate('ND',LabeledEdit1.Text,[]);

if RadioButton5.Checked then

DataModule1.Table3.Locate('AV',LabeledEdit1.Text,[]);

end;

 

procedure TForm4.DBGrid1EditButtonClick(Sender: TObject);

begin

form8.Show;

end;

 

procedure TForm4.CheckBox1Click(Sender: TObject);

begin

if RadioButton1.Checked then

if CheckBox1.Checked then begin

DataModule1.Table3.Filter:=('NV='+LabeledEdit2.Text);

DataModule1.Table3.Filtered:=true;end

else

DataModule1.Table3.Filtered:=false;

 

if RadioButton2.Checked then

if CheckBox1.Checked then begin

DataModule1.Table3.Filter:=('TV='+LabeledEdit2.Text);

DataModule1.Table3.Filtered:=true;end

else

DataModule1.Table3.Filtered:=false;

 

if RadioButton3.Checked then

if CheckBox1.Checked then begin

DataModule1.Table3.Filter:=('ID='+LabeledEdit2.Text);

DataModule1.Table3.Filtered:=true;end

else

DataModule1.Table3.Filtered:=false;

end;

 

end.

Форма „БД Замовлення”

unit FRMOrder;

 

interface

 

uses

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

Dialogs, MainMDL, Menus, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls;

 

type

TForm5 = class(TForm)

Panel1: TPanel;

Panel2: TPanel;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

RadioGroup1: TRadioGroup;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

RadioButton4: TRadioButton;

RadioButton5: TRadioButton;

LabeledEdit1: TLabeledEdit;

Button1: TButton;

CheckBox1: TCheckBox;

LabeledEdit2: TLabeledEdit;

procedure N2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form5: TForm5;

 

implementation

 

{$R *.dfm}

 

procedure TForm5.N2Click(Sender: TObject);

begin

close;

end;

 

procedure TForm5.Button1Click(Sender: TObject);

begin

if RadioButton1.Checked then

DataModule1.Table4.Locate('NZ',LabeledEdit1.Text,[]);

if RadioButton2.Checked then

DataModule1.Table4.Locate('DZ',LabeledEdit1.Text,[]);

if RadioButton3.Checked then

DataModule1.Table4.Locate('KN',LabeledEdit1.Text,[]);

if RadioButton4.Checked then

DataModule1.Table4.Locate('VR1',LabeledEdit1.Text,[]);

if RadioButton5.Checked then

DataModule1.Table4.Locate('SUMM',LabeledEdit1.Text,[]);

end;

 

procedure TForm5.CheckBox1Click(Sender: TObject);

begin

if RadioButton1.Checked then

if CheckBox1.Checked then begin

DataModule1.Table4.Filter:=('NZ='+LabeledEdit2.Text);

DataModule1.Table4.Filtered:=true;end

else

DataModule1.Table4.Filtered:=false;

 

if RadioButton3.Checked then

if CheckBox1.Checked then begin

DataModule1.Table4.Filter:=('KN='+LabeledEdit2.Text);

DataModule1.Table4.Filtered:=true;end

else

DataModule1.Table4.Filtered:=false;

 

if RadioButton4.Checked then

if CheckBox1.Checked then begin

DataModule1.Table4.Filter:=('VR1='+LabeledEdit2.Text);

DataModule1.Table4.Filtered:=true;end

else

DataModule1.Table4.Filtered:=false;

end;

 

end.

Форма „БД Банк”

unit FRMBank;

 

interface

 

uses

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

Dialogs, DBCtrls, Grids, DBGrids, Menus, ExtCtrls, MainMDL, StdCtrls;

 

type

TForm6 = class(TForm)

Panel1: TPanel;

Panel2: TPanel;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

RadioGroup1: TRadioGroup;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

RadioButton4: TRadioButton;

LabeledEdit1: TLabeledEdit;

Button1: TButton;

LabeledEdit2: TLabeledEdit;

CheckBox1: TCheckBox;

procedure N2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form6: TForm6;

 

implementation

 

{$R *.dfm}

 

procedure TForm6.N2Click(Sender: TObject);

begin

close;

end;

 

procedure TForm6.Button1Click(Sender: TObject);

begin

if RadioButton1.Checked then

DataModule1.Table5.Locate('KB',LabeledEdit1.Text,[]);

if RadioButton2.Checked then

DataModule1.Table5.Locate('NB',LabeledEdit1.Text,[]);

if RadioButton3.Checked then

DataModule1.Table5.Locate('TB',LabeledEdit1.Text,[]);

if RadioButton4.Checked then

DataModule1.Table5.Locate('AB',LabeledEdit1.Text,[]);

end;

 

procedure TForm6.CheckBox1Click(Sender: TObject);

begin

if RadioButton1.Checked then

if CheckBox1.Checked then begin

DataModule1.Table5.Filter:=('KB='+LabeledEdit2.Text);

DataModule1.Table5.Filtered:=true;end

else

DataModule1.Table5.Filtered:=false;

 

if RadioButton3.Checked then

if CheckBox1.Checked then begin

DataModule1.Table5.Filter:=('TB='+LabeledEdit2.Text);

DataModule1.Table5.Filtered:=true;end

else

DataModule1.Table5.Filtered:=false;

end;

 

end.


Дата добавления: 2018-02-18; просмотров: 555; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!