Інфологічна модель предметної області..
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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!