.


:




:

































 

 

 

 





SHOP Windows XP . Delphi 2009, Firebird 2.5, IBExpert.

:

) ;

) ;

) ;

) .

7.6

.

1. .

( .1). . , , . , ʻ ( .2). , , ( .3). , , ʻ ( .4). . . , ( .5). , ( .6).

2. , , , , , . ( .7). ( .8). , , , , , , , ( .9). , ʻ ( .10), ( .11).

, ( .12). ( .13). ( .14). ʻ .

, , ( .15). , ( .16). , , , .

, ( .16). ( .17), ( .18), 1200 ( .19), ( .19). , , ( .17), ( .20). , ( .18). ( .21). , 1200, 1200 ( .19). ( .22). , ( .19). , ( .23).

, ( .24).

. ( .25) , ( .26). ( .27). ( .28).

SHOP , : ( .29), ( .30), ( .31). ( .31) ( .32) . ( .30) ( .33) , ( .34) , . ( .35). ( .36).

 

8.2

Windows XP .

, . Firebird 2.5 , . Firebird, , .

 

8.1

 

. , , .

. , , . :

- ;

- ;

- ;

- .

 

8.2

Windows XP .

, . Firebird 2.5 , . Firebird, , . Windows XP/7/8.

. , , : , , , : . :

- - , , , , , ;

- - , , ;

- ;

- ;

- ;

- .

1. .

( .1). . , , . , ʻ ( .2). , , ( .3). , , ʻ ( .4). . . , ( .5). , ( .6).

2. , , , , , . ( .7). ( .8). , , , , , , , ( .9). , ʻ ( .10), ( .11).

, ( .12). ( .13). ( .14). ʻ .

, , ( .15). , ( .16). , , , .

, ( .17). ( .18), ( .19), 1200 ( .20), ( .20). , , ( .18), ( .21). , ( .19). ( .22). , 1200, 1200 ( .20). ( .23). , ( .20). , ( .24).

, ( .25).

. ( .26) , ( .27). ( .28). ( .29).

SHOP , : ( .30), ( .31), ( .32). ( .32) ( .33) . ( .31) ( .34) , ( .35) , . ( .36). ( .37).

 

8.4

 

. , , , .

 

, , , . , . .

Delphi, - .

 

1. .., .., .. Open ModelSphere. - : , 2011. - 76 .

2. .., .., .. . . - : , 2010. - 110 .

3. http://dep_ivs.pnzgu.ru/

 


()

( )

 

unit main001;

 

interface

 

uses

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

Dialogs, StdCtrls, Menus, ComCtrls, ExtCtrls, Grids, DBGrids, ActnList, DM;

 

type

TfmMain = class(TForm)

Panel1: TPanel;

StatusBar1: TStatusBar;

buExit: TButton;

buRefresh: TButton;

DBGrid1: TDBGrid;

buAdd: TButton;

buEdit: TButton;

buDelete: TButton;

MainMenu1: TMainMenu;

mFile: TMenuItem;

mExit: TMenuItem;

mRefresh: TMenuItem;

ActionList1: TActionList;

acQuit: TAction;

acRefresh: TAction;

mTable: TMenuItem;

mInsert: TMenuItem;

mUpdate: TMenuItem;

mDelete: TMenuItem;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

DBGrid2: TDBGrid;

chbFiltr: TCheckBox;

edFilter: TEdit;

Panel2: TPanel;

N1: TMenuItem;

procedure FormShow(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure acQuitExecute(Sender: TObject);

procedure acRefreshExecute(Sender: TObject);

procedure buAddClick(Sender: TObject);

procedure buEditClick(Sender: TObject);

procedure buDeleteClick(Sender: TObject);

procedure mInsertClick(Sender: TObject);

procedure mUpdateClick(Sender: TObject);

procedure mDeleteClick(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure chbFiltrClick(Sender: TObject);

procedure N1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

fmMain: TfmMain;

 

implementation

 

uses Add, Edit, EditPrep, AddPrep, Zaproci;

 

{$R *.dfm}

 

 

procedure TfmMain.acQuitExecute(Sender: TObject);

begin

Application.Terminate;

end;

 

procedure TfmMain.acRefreshExecute(Sender: TObject);

begin

with dm1 do

begin

// dstVid_Voisk

dstAssortiment.FullRefresh;

dstIsgotovitel.FullRefresh;

// Vid_Voisk

StatusBar1.Panels[1].Text:= IntToStr(dstAssortiment.RecordCount);

end;

end;

 

procedure TfmMain.buAddClick(Sender: TObject);

begin

// Add

fmAdd:= TfmAdd.Create(Application);

//

if fmAdd.ShowModal = mrOK then

begin

//

dm1.dstAssortiment.Post;

StatusBar1.Panels[1].Text:= IntToStr(dm1.dstAssortiment.RecordCount);

end

//

else dm1.dstAssortiment.Cancel;

end;

 

procedure TfmMain.buDeleteClick(Sender: TObject);

begin

with dm1 do

begin

if dstAssortiment.RecordCount= 0 then exit;

if Application.MessageBox(' ?', '',

MB_YESNO) = mrYes then dstAssortiment.Delete;

StatusBar1.Panels[1].Text:= IntToStr(dstAssortiment.RecordCount);

end;

end;

 

procedure TfmMain.buEditClick(Sender: TObject);

begin

//

if dm1.dstAssortiment.RecordCount = 0 then exit;

// fmEdit

fmEdit:= TfmEdit.Create(Application);

//

if fmEdit.ShowModal = mrOK then

begin

//

dm1.dstAssortiment.Post;

StatusBar1.Panels[1].Text:= IntToStr(dm1.dstAssortiment.RecordCount);

end

//

else dm1.dstAssortiment.Cancel;

end;

 

procedure TfmMain.Button1Click(Sender: TObject);

begin

fmZaprosi.Show;

end;

 

 

procedure TfmMain.Button2Click(Sender: TObject);

begin

// Add

fmAddPrep:= TfmAddPrep.Create(Application);

//

if fmAddPrep.ShowModal = mrOK then

begin

//

dm1.dstIsgotovitel.Post;

StatusBar1.Panels[1].Text:= IntToStr(dm1.dstIsgotovitel.RecordCount);

end

//

else dm1.dstIsgotovitel.Cancel;

end;

 

procedure TfmMain.Button3Click(Sender: TObject);

begin

//

if dm1.dstIsgotovitel.RecordCount = 0 then exit;

// fmEdit

fmEdPrep:= TfmEdPrep.Create(Application);

//

if fmEdPrep.ShowModal = mrOK then

begin

//

dm1.dstIsgotovitel.Post;

StatusBar1.Panels[1].Text:= IntToStr(dm1.dstIsgotovitel.RecordCount);

end

//

else dm1.dstIsgotovitel.Cancel;

end;

 

procedure TfmMain.Button4Click(Sender: TObject);

begin

with dm1 do

begin

if dstIsgotovitel.RecordCount= 0 then exit;

if Application.MessageBox(' ?', '',

MB_YESNO) = mrYes then dstIsgotovitel.Delete;

StatusBar1.Panels[1].Text:= IntToStr(dstIsgotovitel.RecordCount);

end;

end;

 

procedure TfmMain.chbFiltrClick(Sender: TObject);

var fn: string;

begin

fn:= '';

if (chbFiltr.Checked) and (edFilter.Text<>'') then

begin

// checked

fn:= '(NAME LIKE '''+edFilter.Text+'%'')';

dm1.dstIsgotovitel.Close;

dm1.dstIsgotovitel.MainWhereClause:= fn;

dm1.dstIsgotovitel.Open;

end

else

begin

// checked

dm1.dstIsgotovitel.Close;

dm1.dstIsgotovitel.MainWhereClause:= fn;

dm1.dstIsgotovitel.Open;

end;

end;

 

procedure TfmMain.FormClose(Sender: TObject; var Action: TCloseAction);

begin

with dm1 do

begin

// .

dstAssortiment.Active:= False;

//

dbShop.Connected:= False;

end;

end;

 

 

procedure TfmMain.FormShow(Sender: TObject);

begin

//

with dm1 do

begin

dbShop.Connected:= True;

dstIsgotovitel.Active:= True;

StatusBar1.Panels[1].Text:= IntToStr(dstIsgotovitel.RecordCount);

end;

end;

 

procedure TfmMain.mDeleteClick(Sender: TObject);

begin

buDelete.Click;

end;

 

procedure TfmMain.mInsertClick(Sender: TObject);

begin

buAdd.Click;

end;

 

procedure TfmMain.mUpdateClick(Sender: TObject);

begin

buEdit.Click;

end;

 

procedure TfmMain.N1Click(Sender: TObject);

begin

with dm1 do

begin

frxReport1.ShowReport();

end;

end;

 

end.

 

unit DM;

 

interface

 

uses

SysUtils, Classes, DB, pFIBDataSet, FIBDatabase, pFIBDatabase, FIBDataSet,

frxClass, frxDBSet;

 

type

Tdm1 = class(TDataModule)

dbShop: TpFIBDatabase;

ReadTransaction: TpFIBTransaction;

WriteTransaction: TpFIBTransaction;

dstAssortiment: TpFIBDataSet;

dsAssortiment: TDataSource;

dsQuery: TDataSource;

dstQuery: TpFIBDataSet;

dsIsgotovitel: TDataSource;

dstIsgotovitel: TpFIBDataSet;

dstAssortimentID_F: TFIBIntegerField;

dstAssortimentISDELIE: TFIBStringField;

dstAssortimentADRES: TFIBStringField;

dstIsgotovitelID_ISG: TFIBIntegerField;

dstIsgotovitelNAME: TFIBStringField;

dstIsgotovitelRAZMER: TFIBIntegerField;

dstIsgotovitelCOST: TFIBFloatField;

dstIsgotovitelKOL: TFIBIntegerField;

dstIsgotovitelTEDATA: TFIBDateField;

dstIsgotovitelID_IS: TFIBIntegerField;

dstIsgotovitelISG: TStringField;

dsAll: TDataSource;

dstAll: TpFIBDataSet;

frxReport1: TfrxReport;

frxDBDataset1: TfrxDBDataset;

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

dm1: Tdm1;

 

implementation

 

{$R *.dfm}

 

 

end.

 

unit Zaproci;

 

interface

 

uses

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

Dialogs, Grids, DBGrids, ExtCtrls, DM, StdCtrls;

 

type

TfmZaprosi = class(TForm)

Panel1: TPanel;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button6: TButton;

DBGrid1: TDBGrid;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

fmZaprosi: TfmZaprosi;

 

implementation

 

{$R *.dfm}

 

procedure TfmZaprosi.Button1Click(Sender: TObject);

begin

DBGrid1.Columns[0].Visible:= True;

DBGrid1.Columns[1].Visible:= False;

DBGrid1.Columns[2].Visible:= False;

DBGrid1.Columns[3].Visible:= False;

DBGrid1.Columns[4].Visible:= False;

with dm1 do

begin

if dstQuery.Active then dstQuery.Close;

dstQuery.SelectSQL.Clear;

dstQuery.SelectSQL.Add('SELECT MAX(COST)');

dstQuery.SelectSQL.Add('FROM ISGOTOVITEL');

dstQuery.Open;

end;

end;

 

procedure TfmZaprosi.Button2Click(Sender: TObject);

begin

DBGrid1.Columns[0].Visible:= False;

DBGrid1.Columns[1].Visible:= True;

DBGrid1.Columns[2].Visible:= False;

DBGrid1.Columns[3].Visible:= False;

DBGrid1.Columns[4].Visible:= False;

with dm1 do

begin

if dstQuery.Active then dstQuery.Close;

dstQuery.SelectSQL.Clear;

dstQuery.SelectSQL.Add('SELECT AVG(RAZMER)');

dstQuery.SelectSQL.Add('FROM ISGOTOVITEL');

dstQuery.Open;

end;

end;

 

procedure TfmZaprosi.Button3Click(Sender: TObject);

begin

with dm1 do

begin

DBGrid1.Columns[0].Visible:= True;

DBGrid1.Columns[1].Visible:= False;

DBGrid1.Columns[2].Visible:= False;

DBGrid1.Columns[3].Visible:= True;

DBGrid1.Columns[4].Visible:= False;

if dstQuery.Active then dstQuery.Close;

dstQuery.SelectSQL.Clear;

dstQuery.SelectSQL.Add('SELECT RAZMER, MAX(COST)');

dstQuery.SelectSQL.Add('FROM ISGOTOVITEL');

dstQuery.SelectSQL.Add('GROUP BY RAZMER');

dstQuery.SelectSQL.Add('HAVING (MAX(COST))>1200');

dstQuery.Open;

end;

end;

 

procedure TfmZaprosi.Button4Click(Sender: TObject);

begin

fmZaprosi.Close;

end;

 

procedure TfmZaprosi.Button6Click(Sender: TObject);

begin

DBGrid1.Columns[0].Visible:= False;

DBGrid1.Columns[1].Visible:= False;

DBGrid1.Columns[2].Visible:= False;

DBGrid1.Columns[3].Visible:= False;

DBGrid1.Columns[4].Visible:= True;

with dm1 do

begin

if dstQuery.Active then dstQuery.Close;

dstQuery.SelectSQL.Clear;

dstQuery.SelectSQL.Add('SELECT COUNT (DISTINCT RAZMER)');

dstQuery.SelectSQL.Add('FROM ISGOTOVITEL');

dstQuery.Open;

end;

end;

 

end.

 

unit AddPrep;

 

interface

 

uses

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

Dialogs, StdCtrls, DBCtrls, ExtCtrls, ComCtrls;

 

type

TfmAddPrep = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label7: TLabel;

DBLookupComboBox1: TDBLookupComboBox;

Panel1: TPanel;

Panel2: TPanel;

buOK: TButton;

buCancel: TButton;

dtpTime: TDateTimePicker;

procedure buOKClick(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

fmAddPrep: TfmAddPrep;

 

implementation

 

uses DM;

 

{$R *.dfm}

 

procedure TfmAddPrep.buOKClick(Sender: TObject);

begin

with dm1 do

begin

//

dstIsgotovitel.Insert;

// dstPhone

dstIsgotovitel.FBN('NAME').AsString:= edit1.Text;

dstIsgotovitel.FBN('RAZMER').AsInteger:= StrToInt(edit2.Text);

dstIsgotovitel.FBN('COST').AsInteger:= StrToInt(edit3.Text);

dstIsgotovitel.FBN('KOL').AsInteger:= StrToInt(edit4.Text);

dstIsgotovitel.FBN('TEDATA').AsDateTime:= dtpTime.Date;

dstIsgotovitel.FBN('ISG').AsString:= DBLookupComboBox1.KeyValue;

end;

end;

 

procedure TfmAddPrep.FormClose(Sender: TObject; var Action: TCloseAction);

begin

//

Action:= caFree;

fmAddPrep:= nil;

end;

 

end.

unit EditPrep;

 

interface

 

uses

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

Dialogs, StdCtrls, DBCtrls, ExtCtrls, ComCtrls;

 

type

TfmEdPrep = class(TForm)

Panel1: TPanel;

Label7: TLabel;

Label5: TLabel;

Label4: TLabel;

Label3: TLabel;

Label2: TLabel;

Label1: TLabel;

Edit4: TEdit;

Edit3: TEdit;

Edit2: TEdit;

Edit1: TEdit;

DBLookupComboBox1: TDBLookupComboBox;

Panel2: TPanel;

buOK: TButton;

buCancel: TButton;

dtpTime: TDateTimePicker;

procedure buOKClick(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

fmEdPrep: TfmEdPrep;

 

implementation

 

uses DM;

 

{$R *.dfm}

 

procedure TfmEdPrep.buOKClick(Sender: TObject);

begin

with dm1 do

begin

//

dstIsgotovitel.Insert;

// dstPhone

dstIsgotovitel.FBN('NAME').AsString:= edit1.Text;

dstIsgotovitel.FBN('RAZMER').AsInteger:= StrToInt(edit2.Text);

dstIsgotovitel.FBN('COST').AsInteger:= StrToInt(edit3.Text);

dstIsgotovitel.FBN('KOL').AsInteger:= StrToInt(edit4.Text);

dstIsgotovitel.FBN('TEDATA').AsDateTime:= dtpTime.Date;

dstIsgotovitel.FBN('ISG').AsString:= DBLookupComboBox1.KeyValue;

end;

end;

 

procedure TfmEdPrep.FormClose(Sender: TObject; var Action: TCloseAction);

begin

//

Action:= caFree;

fmEdPrep:= nil;

end;

 

procedure TfmEdPrep.FormShow(Sender: TObject);

begin

with dm1 do

begin

edit1.Text:=dstIsgotovitel.FBN('NAME').AsString;

edit2.Text:=dstIsgotovitel.FBN('RAZMER').AsString;

edit3.Text:=dstIsgotovitel.FBN('COST').AsString;

edit4.Text:=dstIsgotovitel.FBN('KOL').AsString;

dtpTime.Date:= dstIsgotovitel.FBN('TEDATA').AsDateTime;

DBLookupComboBox1.KeyValue:=dstIsgotovitel.FBN('ISG').AsString;

end;

edit1.SetFocus;

end;

 

end.

 

()

 

 

.1

.2 Isgotovitel

.3

.4

.5

.6

.7 Assortiment

 

.8 Assortiment

 

.9

 

 

.10 ʻ

 

.11

 

.12

 

 

.13

 

.14

 

.15

.16

.17

 

.18

.19 -

 

.20 - 1200

.21 -

.22

.23

.24 1200

.25

.26

.27 ,

 

 

.28 ,

.29 ()

.30

 

.31

.31

.32

.33

.34

.35

.35

 

.36

.37

38

 

()

(SQL-)

 

 

/***********************************************************

Plugin: ANSI DDL (3.2.0 - 05-12-2009), Grandite

 

: " "

Source file: "f:\projects2009\shop.sms"

 

Generated on: 16.11.2014 8:56:00

Generated by Open ModelSphere 3.2"

***********************************************************

 

 

***********************************************************

CREATE STATEMENTS

***********************************************************/

 

 

--/***********************************************************

-- TABLE 'ASSORTIMENT'

--***********************************************************/

 

CREATE TABLE ASSORTIMENT

(

AID INTEGER NOT NULL,

NAME VARCHAR(20),

RAZMER INTEGER,

COST DOUBLE PRECISION,

KOL INTEGER,

TEDATA DATE,

IID INTEGER NOT NULL

);

 

 

--/***********************************************************

-- TABLE 'IZGOTOVITEL'

--***********************************************************/

 

CREATE TABLE IZGOTOVITEL

(

IID INTEGER NOT NULL,

NAME VARCHAR(30),

ADRES VARCHAR(20)

);

 

 

--/***********************************************************

-- TABLE 'PRODAJI'

--***********************************************************/

 

CREATE TABLE PRODAJI

(

PID INTEGER NOT NULL,

PDATA DATE,

QTY INTEGER,

SID INTEGER NOT NULL

);

 

 

--/***********************************************************

-- TABLE 'SKLAD'

--***********************************************************/

 

CREATE TABLE SKLAD

(

SID INTEGER NOT NULL,

QTY INTEGER,

SDATA DATE,

IID INTEGER NOT NULL,

AID INTEGER NOT NULL

);

 

 

--/***********************************************************

-- PRIMARY/UNIQUE KEY 'PK_ASSORTIMENT'

--***********************************************************/

 

ALTER TABLE ASSORTIMENT

ADD CONSTRAINT PK_ASSORTIMENT PRIMARY KEY (

IID, AID);

--/***********************************************************

-- PRIMARY/UNIQUE KEY 'PK_IZGOTOVITEL'

--***********************************************************/

 

ALTER TABLE IZGOTOVITEL

ADD CONSTRAINT PK_IZGOTOVITEL PRIMARY KEY (

IID);

--/***********************************************************

-- PRIMARY/UNIQUE KEY 'PK_PRODAJI'

--***********************************************************/

 

ALTER TABLE PRODAJI

ADD CONSTRAINT PK_PRODAJI PRIMARY KEY (

SID, PID);

--/***********************************************************

-- PRIMARY/UNIQUE KEY 'PK_SKLAD'

--***********************************************************/

 

ALTER TABLE SKLAD

ADD CONSTRAINT PK_SKLAD PRIMARY KEY (

SID);

ALTER TABLE ASSORTIMENT

ADD CONSTRAINT FK_ASSORTIMENT_1

FOREIGN KEY (IID)

REFERENCES IZGOTOVITEL;

 

ALTER TABLE PRODAJI

ADD CONSTRAINT FK_PRODAJI_1

FOREIGN KEY (SID)

REFERENCES SKLAD;

 

ALTER TABLE SKLAD

ADD CONSTRAINT FK_SKLAD_1

FOREIGN KEY (IID, AID)

REFERENCES ASSORTIMENT;

 

*******************************************************************/

/*** Generated by IBExpert 2012.12.18.1 01.12.2014 22:11:19 ***/

*******************************************************************/

 

SET SQL DIALECT 3;

 

SET NAMES WIN1251;

 

CREATE DATABASE 'SQLEDU03:C:\Users\user\Desktop\5 \\16\SHOP.fdb'

USER 'SYSDBA' PASSWORD 'masterkey'

PAGE_SIZE 16384

DEFAULT CHARACTER SET WIN1251 COLLATION WIN1251;

 

*******************************************************************/

/*** Stored Procedures ***/

********************************************************************/

SET TERM ^;

 

create or alter procedure UVELICHENIE (

UVEL double precision)

as

begin

update ISGOTOVITEL

set COST=COST*(:uvel/100+1);

end^

 

SET TERM; ^

 

/* Following GRANT statetements are generated automatically */

 

GRANT SELECT,UPDATE ON ISGOTOVITEL TO PROCEDURE UVELICHENIE;

 

/* Existing privileges on this procedure */

 

GRANT EXECUTE ON PROCEDURE UVELICHENIE TO TEAM009;

SET TERM ^;

 

create or alter procedure VSEGO

returns (

OK double precision)

as

begin

select sum(COST) from ISGOTOVITEL

into:OK;

SUSPEND;

end^

 

SET TERM; ^

 

/* Following GRANT statetements are generated automatically */

 

GRANT SELECT ON ISGOTOVITEL TO PROCEDURE VSEGO;

 

/* Existing privileges on this procedure */

 

GRANT EXECUTE ON PROCEDURE VSEGO TO TEAM009;

/******************************************************************************/

/*** Generated by IBExpert 24.12.2014 22:13:44 ***/

/******************************************************************************/

 

/******************************************************************************/

/*** Following SET SQL DIALECT is just for the Database Comparer ***/

/******************************************************************************/

SET SQL DIALECT 3;

/******************************************************************************/

/*** Tables ***/

/******************************************************************************/

 

CREATE GENERATOR GEN1;

 

CREATE TABLE ASSORTIMENT (

ID_F PERCENT NOT NULL /* PERCENT = INTEGER */,

ISDELIE PERSON /* PERSON = VARCHAR(20) */,

ADRES ADDRESSES /* ADDRESSES = VARCHAR(30) */

);

/******************************************************************************/

/*** Primary Keys ***/

/******************************************************************************/

 

ALTER TABLE ASSORTIMENT ADD CONSTRAINT PK_ASSORTIMENT PRIMARY KEY (ID_F);

 

/******************************************************************************/

/*** Triggers ***/

/******************************************************************************/

SET TERM ^;

/******************************************************************************/

/*** Triggers for tables ***/

/******************************************************************************/

/* Trigger: ASSORTIMENT_BI0 */

CREATE OR ALTER TRIGGER ASSORTIMENT_BI0 FOR ASSORTIMENT

ACTIVE BEFORE INSERT POSITION 0

AS

begin

if ((new.id_f is null) or (new.id_f = 0)) then

begin

new.ID_F = gen_id(gen1, 1);

end

end

^

SET TERM; ^

 

/******************************************************************************/

/*** Privileges ***/

/******************************************************************************/

 

/* Privileges of users */

GRANT ALL ON ASSORTIMENT TO TEAM009 WITH GRANT OPTION;

/******************************************************************************/

/*** Generated by IBExpert 24.12.2014 22:14:47 ***/

/******************************************************************************/

 

/******************************************************************************/

/*** Following SET SQL DIALECT is just for the Database Comparer ***/

/******************************************************************************/

SET SQL DIALECT 3;

 

/******************************************************************************/

/*** Tables ***/

/******************************************************************************/

 

CREATE GENERATOR GEN2;

 

CREATE TABLE ISGOTOVITEL (

ID_ISG PERCENT NOT NULL /* PERCENT = INTEGER */,

NAME PERSON /* PERSON = VARCHAR(20) */,

RAZMER PERCENT /* PERCENT = INTEGER */,

COST MONEY /* MONEY = DOUBLE PRECISION */,

KOL PERCENT /* PERCENT = INTEGER */,

TEDATA DATES /* DATES = DATE */,

ID_IS PERCENT NOT NULL /* PERCENT = INTEGER */

);

 

/******************************************************************************/

/*** Primary Keys ***/

/******************************************************************************/

 

ALTER TABLE ISGOTOVITEL ADD CONSTRAINT PK_ISGOTOVITEL PRIMARY KEY (ID_ISG);

 

/******************************************************************************/

/*** Foreign Keys ***/

/******************************************************************************/

ALTER TABLE ISGOTOVITEL ADD CONSTRAINT FK_ISGOTOVITEL_1 FOREIGN KEY (ID_IS) REFERENCES ASSORTIMENT (ID_F) ON DELETE CASCADE;

/******************************************************************************/

/*** Triggers ***/

/******************************************************************************/

SET TERM ^;

 

/******************************************************************************/

/*** Triggers for tables ***/

/******************************************************************************/

/* Trigger: ISGOTOVITEL_BI0 */

CREATE OR ALTER TRIGGER ISGOTOVITEL_BI0 FOR ISGOTOVITEL

ACTIVE BEFORE INSERT POSITION 0

AS

begin

if ((new.id_isg is null) or (new.id_isg = 0)) then

begin

new.ID_ISG = gen_id(gen2, 1);

end

end

^

SET TERM; ^

 

/******************************************************************************/

/*** Privileges ***/

/******************************************************************************/

/* Privileges of users */

GRANT ALL ON ISGOTOVITEL TO TEAM009 WITH GRANT OPTION;

 

 

DFM -

()

 

 

*** : ***

D:\DATA\16\SHOP.FDB

*** : ***

D:\DATA\16\\SHOP-arh.FDB

================== ==================

gbak:readied database D:\DATA\16\SHOP.FDB for backup

gbak:creating file D:\DATA\16\\SHOP-arh.FDB

gbak:starting transaction

gbak:database D:\DATA\16\SHOP.FDB has a page size of 16384 bytes.

gbak:writing domains

gbak: writing domain MONEY

gbak: writing domain PERSON

gbak: writing domain PERCENT

gbak: writing domain BIRTHDAY

gbak: writing domain TELEFON

gbak: writing domain GENDER

gbak: writing domain DATES

gbak: writing domain ADRESSES

gbak: writing domain TELEPHONE

gbak: writing domain ADDRESSES

gbak: writing domain RDB$22

gbak: writing domain RDB$27

gbak:writing shadow files

gbak:writing character sets

gbak:writing collations

gbak:writing functions

gbak:writing tables

gbak: writing table ISGOTOVITEL

gbak: writing column COST

gbak: writing column ID_IS

gbak: writing column ID_ISG

gbak: writing column RAZMER

gbak: writing column KOL

gbak: writing column TEDATA

gbak: writing column NAME

gbak: writing table ASSORTIMENT

gbak: writing column ADRES

gbak: writing column ID_F

gbak: writing column ISDELIE

gbak:writing types

gbak:writing filters

gbak:writing id generators

gbak: writing generator GEN1 value 8

gbak: writing generator GEN2 value 21

gbak:writing stored procedures

gbak:writing stored procedure VSEGO

gbak:writing parameter OK for stored procedure

gbak:writing stored procedure UVELICHENIE

gbak:writing parameter UVEL for stored procedure

gbak:writing exceptions

gbak:writing exception ASSORTIMENTY

gbak:writing exception RAZMERY

gbak: writing index PK_ASSORTIMENT

gbak: writing data for table ASSORTIMENT

gbak:8 records written

gbak: writing index PK_ISGOTOVITEL

gbak: writing index FK_ISGOTOVITEL_1

gbak: writing data for table ISGOTOVITEL

gbak:7 records written

gbak:writing triggers

gbak: writing trigger CHECK_2

gbak: writing trigger ASSORTIMENT_BI0

gbak: writing trigger ISGOTOVITEL_BI0

gbak:writing trigger messages

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user PUBLIC

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user PUBLIC

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user PUBLIC

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak: writing privilege for user TEAM009

gbak:writing table constraints

gbak:writing constraint PK_ISGOTOVITEL

gbak:writing constraint INTEG_26

gbak:writing constraint FK_ISGOTOVITEL_1

gbak:writing constraint PK_ASSORTIMENT

gbak:writing referential constraints

gbak:writing check constraints

gbak:writing SQL roles

gbak:writing names mapping

gbak:closing file, committing, and finishing. 6144 bytes written

 

================== ==================

 





:


: 2016-10-30; !; : 279 |


:

:

! . .
==> ...

1525 - | 1321 -


© 2015-2024 lektsii.org - -

: 0.808 .