Розробка бази даних та застосування для інтернет-магазину продажу музичних інструментів

Аналіз відомих підходів до проектування баз даних. Ієрархічна, мережева та реляційна моделі представлення даних, їх особливості. Концептуальне проектування: приклад документів, побудова ER-діаграми, модель "сутність-зв'язок". Побудова фізичної моделі.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 29.01.2013
Размер файла 541,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

/* Instrymentu Strynnue on parent delete cascade */

/* ERWIN_RELATION:CHECKSUM= «00000000», PARENT_OWNER=»», PARENT_TABLE= «Инструменты»

CHILD_OWNER=»», CHILD_TABLE= «Strynnue»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «is_a», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

DELETE FROM Strynnue

WHERE

/* %JoinFKPK (Strynnue,:%Old,» =»,» AND») */

Strynnue.nom_post =:old.nom_post AND

Strynnue.post_no =:old.post_no AND

Strynnue.inv_numb =:old.inv_numb;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Instrymentu AFTER UPDATE ON Instrymentu for each row

- ERwin Builtin Trigger

- UPDATE trigger on Instrymentu

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Instrymentu Dyhovue on parent update cascade */

/* ERWIN_RELATION:CHECKSUM= «000530cb», PARENT_OWNER=»», PARENT_TABLE= «Инструменты»

CHILD_OWNER=»», CHILD_TABLE= «Dyhovue»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «is_a», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

IF

/*%JoinPKPK (:%Old,:%New,» <>»,» OR») */

:old.nom_post <>:new.nom_post OR

:old.post_no <>:new.post_no OR

:old.inv_numb <>:new.inv_numb

THEN

UPDATE Dyhovue

SET

/* %JoinFKPK (Dyhovue,:%New,» =»,»,») */

Dyhovue.nom_post =:new.nom_post,

Dyhovue.post_no =:new.post_no,

Dyhovue.inv_numb =:new.inv_numb

WHERE

/* %JoinFKPK (Dyhovue,:%Old,» =»,» AND») */

Dyhovue.nom_post =:old.nom_post AND

Dyhovue.post_no =:old.post_no AND

Dyhovue.inv_numb =:old.inv_numb;

END IF;

/* ERwin Builtin Trigger */

/* Instrymentu Ydarnue on parent update cascade */

/* ERWIN_RELATION:CHECKSUM= «00000000», PARENT_OWNER=»», PARENT_TABLE= «Инструменты»

CHILD_OWNER=»», CHILD_TABLE= «Ydarnue»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «is_a», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

IF

/*%JoinPKPK (:%Old,:%New,» <>»,» OR») */

:old.nom_post <>:new.nom_post OR

:old.post_no <>:new.post_no OR

:old.inv_numb <>:new.inv_numb

THEN

UPDATE Ydarnue

SET

/* %JoinFKPK (Ydarnue,:%New,» =»,»,») */

Ydarnue.nom_post =:new.nom_post,

Ydarnue.post_no =:new.post_no,

Ydarnue.inv_numb =:new.inv_numb

WHERE

/* %JoinFKPK (Ydarnue,:%Old,» =»,» AND») */

Ydarnue.nom_post =:old.nom_post AND

Ydarnue.post_no =:old.post_no AND

Ydarnue.inv_numb =:old.inv_numb;

END IF;

/* ERwin Builtin Trigger */

/* Instrymentu Strynnue on parent update cascade */

/* ERWIN_RELATION:CHECKSUM= «00000000», PARENT_OWNER=»», PARENT_TABLE= «Инструменты»

CHILD_OWNER=»», CHILD_TABLE= «Strynnue»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «is_a», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

IF

/*%JoinPKPK (:%Old,:%New,» <>»,» OR») */

:old.nom_post <>:new.nom_post OR

:old.post_no <>:new.post_no OR

:old.inv_numb <>:new.inv_numb

THEN

UPDATE Strynnue

SET

/* %JoinFKPK (Strynnue,:%New,» =»,»,») */

Strynnue.nom_post =:new.nom_post,

Strynnue.post_no =:new.post_no,

Strynnue.inv_numb =:new.inv_numb

WHERE

/* %JoinFKPK (Strynnue,:%Old,» =»,» AND») */

Strynnue.nom_post =:old.nom_post AND

Strynnue.post_no =:old.post_no AND

Strynnue.inv_numb =:old.inv_numb;

END IF;

/* ERwin Builtin Trigger */

/* Sklad Instrymentu on child update restrict */

/* ERWIN_RELATION:CHECKSUM= «00000000», PARENT_OWNER=»», PARENT_TABLE= «Sklad»

CHILD_OWNER=»», CHILD_TABLE= «Instrymentu»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_28», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

SELECT count(*) INTO NUMROWS

FROM Sklad

WHERE

/*%JoinFKPK (:%New, Sklad,» =»,» AND») */

:new.nom_post = Sklad.nom_post AND

:new.post_no = Sklad.post_no AND

:new.inv_numb = Sklad.inv_numb;

IF (

/*%NotnullFK (:%New,» IS NOT NULL AND») */

NUMROWS = 0

)

THEN

raise_application_error (

-20007,

'Cannot update Instrymentu because Sklad does not exist.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Klientu BEFORE INSERT ON Klientu for each row

- ERwin Builtin Trigger

- INSERT trigger on Klientu

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Chek Klientu on child insert restrict */

/* ERWIN_RELATION:CHECKSUM= «0000f135», PARENT_OWNER=»», PARENT_TABLE= «Chek»

CHILD_OWNER=»», CHILD_TABLE= «Klientu»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_25», FK_COLUMNS= «pay_zak»«date_pay» */

SELECT count(*) INTO NUMROWS

FROM Chek

WHERE

/*%JoinFKPK (:%New, Chek,» =»,» AND») */

:new.pay_zak = Chek.pay_zak AND

:new.date_pay = Chek.date_pay;

IF (

/*%NotnullFK (:%New,» IS NOT NULL AND») */

NUMROWS = 0

)

THEN

raise_application_error (

-20002,

'Cannot insert Klientu because Chek does not exist.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Klientu AFTER UPDATE ON Klientu for each row

- ERwin Builtin Trigger

- UPDATE trigger on Klientu

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Chek Klientu on child update restrict */

/* ERWIN_RELATION:CHECKSUM= «0000f78c», PARENT_OWNER=»», PARENT_TABLE= «Chek»

CHILD_OWNER=»», CHILD_TABLE= «Klientu»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_25», FK_COLUMNS= «pay_zak»«date_pay» */

SELECT count(*) INTO NUMROWS

FROM Chek

WHERE

/*%JoinFKPK (:%New, Chek,» =»,» AND») */

:new.pay_zak = Chek.pay_zak AND

:new.date_pay = Chek.date_pay;

IF (

/*%NotnullFK (:%New,» IS NOT NULL AND») */

NUMROWS = 0

)

THEN

raise_application_error (

-20007,

'Cannot update Klientu because Chek does not exist.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Kyrjeru BEFORE INSERT ON Kyrjeru for each row

- ERwin Builtin Trigger

- INSERT trigger on Kyrjeru

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Sklad Kyrjeru on child insert restrict */

/* ERWIN_RELATION:CHECKSUM= «00010666», PARENT_OWNER=»», PARENT_TABLE= «Sklad»

CHILD_OWNER=»», CHILD_TABLE= «Kyrjeru»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_31», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

SELECT count(*) INTO NUMROWS

FROM Sklad

WHERE

/*%JoinFKPK (:%New, Sklad,» =»,» AND») */

:new.nom_post = Sklad.nom_post AND

:new.post_no = Sklad.post_no AND

:new.inv_numb = Sklad.inv_numb;

IF (

/*%NotnullFK (:%New,» IS NOT NULL AND») */

NUMROWS = 0

)

THEN

raise_application_error (

-20002,

'Cannot insert Kyrjeru because Sklad does not exist.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Kyrjeru AFTER UPDATE ON Kyrjeru for each row

- ERwin Builtin Trigger

- UPDATE trigger on Kyrjeru

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Sklad Kyrjeru on child update restrict */

/* ERWIN_RELATION:CHECKSUM= «00010829», PARENT_OWNER=»», PARENT_TABLE= «Sklad»

CHILD_OWNER=»», CHILD_TABLE= «Kyrjeru»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_31», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

SELECT count(*) INTO NUMROWS

FROM Sklad

WHERE

/*%JoinFKPK (:%New, Sklad,» =»,» AND») */

:new.nom_post = Sklad.nom_post AND

:new.post_no = Sklad.post_no AND

:new.inv_numb = Sklad.inv_numb;

IF (

/*%NotnullFK (:%New,» IS NOT NULL AND») */

NUMROWS = 0

)

THEN

raise_application_error (

-20007,

'Cannot update Kyrjeru because Sklad does not exist.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Postavka BEFORE INSERT ON Postavka for each row

- ERwin Builtin Trigger

- INSERT trigger on Postavka

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Postavshiki Postavka on child insert restrict */

/* ERWIN_RELATION:CHECKSUM= «0000f5ca», PARENT_OWNER=»», PARENT_TABLE= «Postavshiki»

CHILD_OWNER=»», CHILD_TABLE= «Postavka»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_21», FK_COLUMNS= «post_no» */

SELECT count(*) INTO NUMROWS

FROM Postavshiki

WHERE

/*%JoinFKPK (:%New, Postavshiki,» =»,» AND») */

:new.post_no = Postavshiki.post_no;

IF (

/*%NotnullFK (:%New,» IS NOT NULL AND») */

NUMROWS = 0

)

THEN

raise_application_error (

-20002,

'Cannot insert Postavka because Postavshiki does not exist.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tD_Postavka AFTER DELETE ON Postavka for each row

- ERwin Builtin Trigger

- DELETE trigger on Postavka

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Postavka Sklad on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM= «0000e1a0», PARENT_OWNER=»», PARENT_TABLE= «Postavka»

CHILD_OWNER=»», CHILD_TABLE= «Sklad»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_27», FK_COLUMNS= «nom_post»«post_no» */

SELECT count(*) INTO NUMROWS

FROM Sklad

WHERE

/* %JoinFKPK (Sklad,:%Old,» =»,» AND») */

Sklad.nom_post =:old.nom_post AND

Sklad.post_no =:old.post_no;

IF (NUMROWS > 0)

THEN

raise_application_error (

-20001,

'Cannot delete Postavka because Sklad exists.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Postavka AFTER UPDATE ON Postavka for each row

- ERwin Builtin Trigger

- UPDATE trigger on Postavka

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Postavka Sklad on parent update restrict */

/* ERWIN_RELATION:CHECKSUM= «0002289b», PARENT_OWNER=»», PARENT_TABLE= «Postavka»

CHILD_OWNER=»», CHILD_TABLE= «Sklad»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_27», FK_COLUMNS= «nom_post»«post_no» */

IF

/*%JoinPKPK (:%Old,:%New,» <>»,» OR») */

:old.nom_post <>:new.nom_post OR

:old.post_no <>:new.post_no

THEN

SELECT count(*) INTO NUMROWS

FROM Sklad

WHERE

/* %JoinFKPK (Sklad,:%Old,» =»,» AND») */

Sklad.nom_post =:old.nom_post AND

Sklad.post_no =:old.post_no;

IF (NUMROWS > 0)

THEN

raise_application_error (

-20005,

'Cannot update Postavka because Sklad exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* Postavshiki Postavka on child update restrict */

/* ERWIN_RELATION:CHECKSUM= «00000000», PARENT_OWNER=»», PARENT_TABLE= «Postavshiki»

CHILD_OWNER=»», CHILD_TABLE= «Postavka»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_21», FK_COLUMNS= «post_no» */

SELECT count(*) INTO NUMROWS

FROM Postavshiki

WHERE

/*%JoinFKPK (:%New, Postavshiki,» =»,» AND») */

:new.post_no = Postavshiki.post_no;

IF (

/*%NotnullFK (:%New,» IS NOT NULL AND») */

NUMROWS = 0

)

THEN

raise_application_error (

-20007,

'Cannot update Postavka because Postavshiki does not exist.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tD_Postavshiki AFTER DELETE ON Postavshiki for each row

- ERwin Builtin Trigger

- DELETE trigger on Postavshiki

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Postavshiki Postavka on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM= «0000d5f0», PARENT_OWNER=»», PARENT_TABLE= «Postavshiki»

CHILD_OWNER=»», CHILD_TABLE= «Postavka»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_21», FK_COLUMNS= «post_no» */

SELECT count(*) INTO NUMROWS

FROM Postavka

WHERE

/* %JoinFKPK (Postavka,:%Old,» =»,» AND») */

Postavka.post_no =:old.post_no;

IF (NUMROWS > 0)

THEN

raise_application_error (

-20001,

'Cannot delete Postavshiki because Postavka exists.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Postavshiki AFTER UPDATE ON Postavshiki for each row

- ERwin Builtin Trigger

- UPDATE trigger on Postavshiki

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Postavshiki Postavka on parent update restrict */

/* ERWIN_RELATION:CHECKSUM= «0000fb42», PARENT_OWNER=»», PARENT_TABLE= «Postavshiki»

CHILD_OWNER=»», CHILD_TABLE= «Postavka»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_21», FK_COLUMNS= «post_no» */

IF

/*%JoinPKPK (:%Old,:%New,» <>»,» OR») */

:old.post_no <>:new.post_no

THEN

SELECT count(*) INTO NUMROWS

FROM Postavka

WHERE

/* %JoinFKPK (Postavka,:%Old,» =»,» AND») */

Postavka.post_no =:old.post_no;

IF (NUMROWS > 0)

THEN

raise_application_error (

-20005,

'Cannot update Postavshiki because Postavka exists.'

);

END IF;

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Sklad BEFORE INSERT ON Sklad for each row

- ERwin Builtin Trigger

- INSERT trigger on Sklad

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Postavka Sklad on child insert restrict */

/* ERWIN_RELATION:CHECKSUM= «0001007f», PARENT_OWNER=»», PARENT_TABLE= «Postavka»

CHILD_OWNER=»», CHILD_TABLE= «Sklad»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_27», FK_COLUMNS= «nom_post»«post_no» */

SELECT count(*) INTO NUMROWS

FROM Postavka

WHERE

/*%JoinFKPK (:%New, Postavka,» =»,» AND») */

:new.nom_post = Postavka.nom_post AND

:new.post_no = Postavka.post_no;

IF (

/*%NotnullFK (:%New,» IS NOT NULL AND») */

NUMROWS = 0

)

THEN

raise_application_error (

-20002,

'Cannot insert Sklad because Postavka does not exist.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tD_Sklad AFTER DELETE ON Sklad for each row

- ERwin Builtin Trigger

- DELETE trigger on Sklad

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Sklad Instrymentu on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM= «000217ef», PARENT_OWNER=»», PARENT_TABLE= «Sklad»

CHILD_OWNER=»», CHILD_TABLE= «Instrymentu»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_28», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

SELECT count(*) INTO NUMROWS

FROM Instrymentu

WHERE

/* %JoinFKPK (Instrymentu,:%Old,» =»,» AND») */

Instrymentu.nom_post =:old.nom_post AND

Instrymentu.post_no =:old.post_no AND

Instrymentu.inv_numb =:old.inv_numb;

IF (NUMROWS > 0)

THEN

raise_application_error (

-20001,

'Cannot delete Sklad because Instrymentu exists.'

);

END IF;

/* ERwin Builtin Trigger */

/* Sklad Kyrjeru on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM= «00000000», PARENT_OWNER=»», PARENT_TABLE= «Sklad»

CHILD_OWNER=»», CHILD_TABLE= «Kyrjeru»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_31», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

SELECT count(*) INTO NUMROWS

FROM Kyrjeru

WHERE

/* %JoinFKPK (Kyrjeru,:%Old,» =»,» AND») */

Kyrjeru.nom_post =:old.nom_post AND

Kyrjeru.post_no =:old.post_no AND

Kyrjeru.inv_numb =:old.inv_numb;

IF (NUMROWS > 0)

THEN

raise_application_error (

-20001,

'Cannot delete Sklad because Kyrjeru exists.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Sklad AFTER UPDATE ON Sklad for each row

- ERwin Builtin Trigger

- UPDATE trigger on Sklad

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Sklad Instrymentu on parent update restrict */

/* ERWIN_RELATION:CHECKSUM= «0003a2dd», PARENT_OWNER=»», PARENT_TABLE= «Sklad»

CHILD_OWNER=»», CHILD_TABLE= «Instrymentu»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_28», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

IF

/*%JoinPKPK (:%Old,:%New,» <>»,» OR») */

:old.nom_post <>:new.nom_post OR

:old.post_no <>:new.post_no OR

:old.inv_numb <>:new.inv_numb

THEN

SELECT count(*) INTO NUMROWS

FROM Instrymentu

WHERE

/* %JoinFKPK (Instrymentu,:%Old,» =»,» AND») */

Instrymentu.nom_post =:old.nom_post AND

Instrymentu.post_no =:old.post_no AND

Instrymentu.inv_numb =:old.inv_numb;

IF (NUMROWS > 0)

THEN

raise_application_error (

-20005,

'Cannot update Sklad because Instrymentu exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* Sklad Kyrjeru on parent update restrict */

/* ERWIN_RELATION:CHECKSUM= «00000000», PARENT_OWNER=»», PARENT_TABLE= «Sklad»

CHILD_OWNER=»», CHILD_TABLE= «Kyrjeru»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_31», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

IF

/*%JoinPKPK (:%Old,:%New,» <>»,» OR») */

:old.nom_post <>:new.nom_post OR

:old.post_no <>:new.post_no OR

:old.inv_numb <>:new.inv_numb

THEN

SELECT count(*) INTO NUMROWS

FROM Kyrjeru

WHERE

/* %JoinFKPK (Kyrjeru,:%Old,» =»,» AND») */

Kyrjeru.nom_post =:old.nom_post AND

Kyrjeru.post_no =:old.post_no AND

Kyrjeru.inv_numb =:old.inv_numb;

IF (NUMROWS > 0)

THEN

raise_application_error (

-20005,

'Cannot update Sklad because Kyrjeru exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* Postavka Sklad on child update restrict */

/* ERWIN_RELATION:CHECKSUM= «00000000», PARENT_OWNER=»», PARENT_TABLE= «Postavka»

CHILD_OWNER=»», CHILD_TABLE= «Sklad»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «R_27», FK_COLUMNS= «nom_post»«post_no» */

SELECT count(*) INTO NUMROWS

FROM Postavka

WHERE

/*%JoinFKPK (:%New, Postavka,» =»,» AND») */

:new.nom_post = Postavka.nom_post AND

:new.post_no = Postavka.post_no;

IF (

/*%NotnullFK (:%New,» IS NOT NULL AND») */

NUMROWS = 0

)

THEN

raise_application_error (

-20007,

'Cannot update Sklad because Postavka does not exist.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Strynnue BEFORE INSERT ON Strynnue for each row

- ERwin Builtin Trigger

- INSERT trigger on Strynnue

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Instrymentu Strynnue on child insert restrict */

/* ERWIN_RELATION:CHECKSUM= «00011f2f», PARENT_OWNER=»», PARENT_TABLE= «Инструменты»

CHILD_OWNER=»», CHILD_TABLE= «Strynnue»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «is_a», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

SELECT count(*) INTO NUMROWS

FROM Instrymentu

WHERE

/*%JoinFKPK (:%New, Instrymentu,» =»,» AND») */

:new.nom_post = Instrymentu.nom_post AND

:new.post_no = Instrymentu.post_no AND

:new.inv_numb = Instrymentu.inv_numb;

IF (

/*%NotnullFK (:%New,» IS NOT NULL AND») */

NUMROWS = 0

)

THEN

raise_application_error (

-20002,

'Cannot insert Strynnue because Instrymentu does not exist.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Strynnue AFTER UPDATE ON Strynnue for each row

- ERwin Builtin Trigger

- UPDATE trigger on Strynnue

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Instrymentu Strynnue on child update restrict */

/* ERWIN_RELATION:CHECKSUM= «00011df7», PARENT_OWNER=»», PARENT_TABLE= «Инструменты»

CHILD_OWNER=»», CHILD_TABLE= «Strynnue»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «is_a», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

SELECT count(*) INTO NUMROWS

FROM Instrymentu

WHERE

/*%JoinFKPK (:%New, Instrymentu,» =»,» AND») */

:new.nom_post = Instrymentu.nom_post AND

:new.post_no = Instrymentu.post_no AND

:new.inv_numb = Instrymentu.inv_numb;

IF (

/*%NotnullFK (:%New,» IS NOT NULL AND») */

NUMROWS = 0

)

THEN

raise_application_error (

-20007,

'Cannot update Strynnue because Instrymentu does not exist.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Ydarnue BEFORE INSERT ON Ydarnue for each row

- ERwin Builtin Trigger

- INSERT trigger on Ydarnue

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Instrymentu Ydarnue on child insert restrict */

/* ERWIN_RELATION:CHECKSUM= «00012269», PARENT_OWNER=»», PARENT_TABLE= «Инструменты»

CHILD_OWNER=»», CHILD_TABLE= «Ydarnue»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «is_a», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

SELECT count(*) INTO NUMROWS

FROM Instrymentu

WHERE

/*%JoinFKPK (:%New, Instrymentu,» =»,» AND») */

:new.nom_post = Instrymentu.nom_post AND

:new.post_no = Instrymentu.post_no AND

:new.inv_numb = Instrymentu.inv_numb;

IF (

/*%NotnullFK (:%New,» IS NOT NULL AND») */

NUMROWS = 0

)

THEN

raise_application_error (

-20002,

'Cannot insert Ydarnue because Instrymentu does not exist.'

);

END IF;

- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Ydarnue AFTER UPDATE ON Ydarnue for each row

- ERwin Builtin Trigger

- UPDATE trigger on Ydarnue

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Instrymentu Ydarnue on child update restrict */

/* ERWIN_RELATION:CHECKSUM= «0001299c», PARENT_OWNER=»», PARENT_TABLE= «Инструменты»

CHILD_OWNER=»», CHILD_TABLE= «Ydarnue»

P2C_VERB_PHRASE=»», C2P_VERB_PHRASE=»»,

FK_CONSTRAINT= «is_a», FK_COLUMNS= «nom_post»«post_no» «inv_numb» */

SELECT count(*) INTO NUMROWS

FROM Instrymentu

WHERE

/*%JoinFKPK (:%New, Instrymentu,» =»,» AND») */

:new.nom_post = Instrymentu.nom_post AND

:new.post_no = Instrymentu.post_no AND

:new.inv_numb = Instrymentu.inv_numb;

IF (

/*%NotnullFK (:%New,» IS NOT NULL AND») */

NUMROWS = 0

)

THEN

raise_application_error (

-20007,

'Cannot update Ydarnue because Instrymentu does not exist.'

);

END IF;

- ERwin Builtin Trigger

END;

/

Размещено на Allbest.ru


Подобные документы

  • Аналіз відомих підходів до проектування баз даних. Моделі "сутність-зв'язок". Ієрархічна, мережева та реляційна моделі представлення даних. Організація обмежень посилальної цілісності. Нормалізація відносин. Властивості колонок таблиць фізичної моделі.

    курсовая работа [417,6 K], добавлен 01.02.2013

  • Основні підходи до проектування баз даних. Опис сайту Інтернет-магазину, характеристика його підсистем для обробки анкет і запитів користувачів. Розробка концептуальної, інфологічної, даталогічної, фізичної моделей даних. Побудова ER-моделі в CASE-засоби.

    курсовая работа [2,3 M], добавлен 01.02.2013

  • Аналіз предметної галузі, постановка задачі, проектування бази даних. UML-моделювання, побудова ER-діаграми, схеми реляційної бази даних у третій нормальній формі. Призначення і логічна структура. Опис фізичної моделі бази даних, програмної реалізації.

    курсовая работа [3,5 M], добавлен 28.11.2011

  • Побудова інформаційної системи "Магазин товарів для настільного тенісу" з автоматизації роботи магазину. Концептуальне моделювання бази даних. Обґрунтування вибору СУБД. Логічне проектування бази даних. Схема бази даних. Створення таблиць в конструкторі.

    курсовая работа [8,8 M], добавлен 16.12.2015

  • Створення інформаційної системи для магазинів, які займаються реалізацією музичної продукції. Проектування моделі "сутність-зв'язок" (ER-модель) та на її основі розробка реляційної моделі бази даних. Інструкція для користувача програмним продуктом.

    курсовая работа [2,4 M], добавлен 08.09.2012

  • Проектування інформаційної системи; концептуальне (інфологічне) проектування, побудова ER-діаграми, нормалізація даних. Даталогічне проектування баз даних, фізичне проектування інформаційних систем. СУБД Access: об'єкти, створення таблиць, запитів, форм.

    курсовая работа [13,9 M], добавлен 09.01.2010

  • Розробка бази даних для меблевої фірми. Обстеження і аналіз предметної області та побудова концептуальної, логічної та фізичної моделі цієї бази даних. Використання мови програмування Visual Basic при написанні програмного коду, що обслуговує базу даних.

    курсовая работа [1,4 M], добавлен 24.10.2010

  • Даталогічне проектування баз даних та концептуальне (інфологічне) проектування (побудова ER-діаграми та нормалізація даних) інформаційної системи. Фізичне проектування інформаційних систем (СУБД Access: об’єкти бази, створення таблиць, запитів та форм).

    курсовая работа [3,5 M], добавлен 09.01.2010

  • Використання баз даних та інформаційних систем. Поняття реляційної моделі даних. Ключові особливості мови SQL. Агрегатні функції і угрупування даних. Загальний опис бази даних. Застосування технології систем управління базами даних в мережі Інтернет.

    курсовая работа [633,3 K], добавлен 11.07.2015

  • Специфікація вимог для кожного з двох користувачів. Концептуальне проектування бази даних. Визначення типів сутностей та зв’язків, доменів. Перетворення концептуальної моделі даних у логічну, визначення набору відношень, підтримки цілісності даних.

    курсовая работа [55,1 K], добавлен 15.03.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.