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

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

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Бази даних - це сукупність структур, призначених для зберігання великих обсягів інформації і програмних модулів, що здійснюють управління даними, їх вибірку, сортування та інші подібні дії. Крім того, в цьому контексті рівноправно можуть використовуватися слова «модель бази даних» і «модель предметної області» (наприклад, «концептуальна модель бази даних» і «концептуальна модель предметної області»), оскільки така модель є як спосіб реальності, так і спосіб проектованої бази даних для цієї реальності. Крім того, специфіка конкретної СУБД при фізичному проектуванні включає вибір рішень, повязаних з фізичним середовищем зберігання даних (вибір методів управління дискової памяттю, поділ БД по файлах і пристроям, методів доступу до даних), створення індексів і т.д. Кожен рядок в таблиці містить дані, які відносяться до якоїсь речі або її частини. кожен стовпчик таблиці описує який-небудь атрибут цієї речі. Звязки один до одного між двома сутностями - це такі звязки, при яких кожен екземпляр однієї сутності може буди звязаним тільки з одним з одним екземпляром другої сутності.

Список литературы
1. Дейт, К.Дж. Введение в системы баз данных, 8-е издание.: Пер. с англ. /К.Дж. Дейт. - М.: Издательский дом «Вильямс», 2005. - 1328 с.: ил. - Парал. тит. англ.

2. Конноли Т. Базы данных: проектирование и сопровождение. Теория и практика. /Т. Конноли, К. Бегг, А. Страчан.

3. Луни К. Oracle Database 10G. Полный справочник в 2 томах. / К. Луни. - М.: Издательство «Лори», 2004.

4. Дорогий Я.Ю. Методична розробка до виконання лабораторної роботи «Створення застосувань в Oracle 11G XE» [Електронне видання]. / Я.Ю. Дорогий. - К.: ІССЗІ НТУУ «КПІ», 2012.

Додаток A: SQL-код БД: CREATE TABLE Chek

( pay_zak INTEGER NOT NULL, date_pay INTEGER NOT NULL, pay_type VARCHAR2 (20) NULL

);

CREATE UNIQUE INDEX ХРКЧЕК ON Chek

(pay_zak ASC, date_pay ASC);

ALTER TABLE Chek

ADD CONSTRAINT ХРКЧЕК PRIMARY KEY (pay_zak, date_pay);

CREATE TABLE Dyhovue

( tip_met VARCHAR2 (20) NULL, vus_zv VARCHAR2 (20) NULL, tip_di VARCHAR2 (20) NULL, nom_post INTEGER NOT NULL, post_no INTEGER NOT NULL, inv_numb INTEGER NOT NULL

);

CREATE UNIQUE INDEX ХРКДУХОВЫЕ ON Dyhovue

(nom_post ASC, post_no ASC, inv_numb ASC);

ALTER TABLE Dyhovue

ADD CONSTRAINT ХРКДУХОВЫЕ PRIMARY KEY (nom_post, post_no, inv_numb);

CREATE TABLE Instrymentu

( tzena INTEGER NULL, weight INTEGER NULL, разм INTEGER NULL, tip_instr VARCHAR2 (20) NULL, nom_post INTEGER NOT NULL, post_no INTEGER NOT NULL, inv_numb INTEGER NOT NULL

);

CREATE UNIQUE INDEX ХРКИНСТРУМЕНТЫ ON Instrymentu

(nom_post ASC, post_no ASC, inv_numb ASC);

ALTER TABLE Instrymentu

ADD CONSTRAINT ХРКИНСТРУМЕНТЫ PRIMARY KEY (nom_post, post_no, inv_numb);

CREATE TABLE Klientu

( money CHAR(18) NULL, mest_gor VARCHAR2 (20) NULL, pay_zak INTEGER NOT NULL, reback INTEGER NULL, date_pay INTEGER NOT NULL

);

CREATE UNIQUE INDEX ХРККЛИЕНТЫ ON Klientu

(pay_zak ASC, date_pay ASC);

ALTER TABLE Klientu

ADD CONSTRAINT ХРККЛИЕНТЫ PRIMARY KEY (pay_zak, date_pay);

CREATE TABLE Kyrjeru

( kol_svob INTEGER NULL, kol_pole INTEGER NULL, time INTEGER NULL, nom_post INTEGER NOT NULL, post_no INTEGER NOT NULL, inv_numb INTEGER NOT NULL

);

CREATE UNIQUE INDEX ХРККУРЬЕРЫ ON Kyrjeru

(nom_post ASC, post_no ASC, inv_numb ASC);

ALTER TABLE Kyrjeru

ADD CONSTRAINT ХРККУРЬЕРЫ PRIMARY KEY (nom_post, post_no, inv_numb);

CREATE TABLE Postavka

( kol_gr INTEGER NULL, date_post INTEGER NULL, nom_post INTEGER NOT NULL, post_no INTEGER NOT NULL

);

CREATE UNIQUE INDEX ХРКПОСТАВКА ON Postavka

(nom_post ASC, post_no ASC);

ALTER TABLE Postavka

ADD CONSTRAINT ХРКПОСТАВКА PRIMARY KEY (nom_post, post_no);

CREATE TABLE Postavshiki

( post_no INTEGER NOT NULL, country VARCHAR2 (20) NULL, Nazv_firm_post VARCHAR2 (20) NULL, step_dov INTEGER NULL

);

CREATE UNIQUE INDEX ХРКПОСТАВЩИКИ ON Postavshiki

(post_no ASC);

ALTER TABLE Postavshiki

ADD CONSTRAINT ХРКПОСТАВЩИКИ PRIMARY KEY (post_no);

CREATE TABLE Sklad

(

Perc_skl INTEGER NULL, kol_skl_dyx INTEGER NULL, kol_zap_bara INTEGER NULL, kol_skl_str INTEGER NULL, nom_post INTEGER NOT NULL, post_no INTEGER NOT NULL, inv_numb INTEGER NOT NULL

);

CREATE UNIQUE INDEX ХРКСКЛАД ON Sklad

(nom_post ASC, post_no ASC, inv_numb ASC);

ALTER TABLE Sklad

ADD CONSTRAINT ХРКСКЛАД PRIMARY KEY (nom_post, post_no, inv_numb);

CREATE TABLE Strynnue

( col_str INTEGER NULL, Colour VARCHAR2 (20) NULL, tip_str VARCHAR2 (20) NULL, nom_post INTEGER NOT NULL, post_no INTEGER NOT NULL, inv_numb INTEGER NOT NULL

);

CREATE UNIQUE INDEX ХРКСТРУННЫЕ ON Strynnue

(nom_post ASC, post_no ASC, inv_numb ASC);

ALTER TABLE Strynnue

ADD CONSTRAINT ХРКСТРУННЫЕ PRIMARY KEY (nom_post, post_no, inv_numb);

CREATE TABLE Ydarnue

( tip_dere VARCHAR2 (20) NULL, kol_kyx INTEGER NULL, nal_ram INTEGER NULL, nog_yp VARCHAR2 (20) NULL, tip_bara VARCHAR2 (20) NULL, nom_post INTEGER NOT NULL, post_no INTEGER NOT NULL, inv_numb INTEGER NOT NULL

);

CREATE UNIQUE INDEX ХРКУДАРНЫЕ ON Ydarnue

(nom_post ASC, post_no ASC, inv_numb ASC);

ALTER TABLE Ydarnue

ADD CONSTRAINT ХРКУДАРНЫЕ PRIMARY KEY (nom_post, post_no, inv_numb);

ALTER TABLE Dyhovue

ADD (FOREIGN KEY (nom_post, post_no, inv_numb) REFERENCES Instrymentu (nom_post, post_no, inv_numb) ON DELETE CASCADE);

ALTER TABLE Instrymentu

ADD (CONSTRAINT R_28 FOREIGN KEY (nom_post, post_no, inv_numb) REFERENCES Sklad (nom_post, post_no, inv_numb));

ALTER TABLE Klientu

ADD (CONSTRAINT R_25 FOREIGN KEY (pay_zak, date_pay) REFERENCES Chek (pay_zak, date_pay));

ALTER TABLE Kyrjeru

ADD (CONSTRAINT R_31 FOREIGN KEY (nom_post, post_no, inv_numb) REFERENCES Sklad (nom_post, post_no, inv_numb));

ALTER TABLE Postavka

ADD (CONSTRAINT R_21 FOREIGN KEY (post_no) REFERENCES Postavshiki (post_no));

ALTER TABLE Sklad

ADD (CONSTRAINT R_27 FOREIGN KEY (nom_post, post_no) REFERENCES Postavka (nom_post, post_no));

ALTER TABLE Strynnue

ADD (FOREIGN KEY (nom_post, post_no, inv_numb) REFERENCES Instrymentu (nom_post, post_no, inv_numb) ON DELETE CASCADE);

ALTER TABLE Ydarnue

ADD (FOREIGN KEY (nom_post, post_no, inv_numb) REFERENCES Instrymentu (nom_post, post_no, inv_numb) ON DELETE CASCADE);

CREATE TRIGGER TD_Chek AFTER DELETE ON Chek for each row

- ERWIN Builtin Trigger

- DELETE trigger on Chek

DECLARE NUMROWS INTEGER;

BEGIN

/* ERWIN Builtin Trigger */

/* Chek Klientu on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM= «0000e777», 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 Klientu

WHERE

/* %JOINFKPK (Klientu,:%Old,» =»,» AND») */

Klientu.pay_zak =:old.pay_zak AND Klientu.date_pay =:old.date_pay;

IF (NUMROWS > 0)

THEN raise_application_error (

-20001, "Cannot delete Chek because Klientu exists."

);

END IF;

- ERWIN Builtin Trigger

END;

/

CREATE TRIGGER TU_Chek AFTER UPDATE ON Chek for each row

- ERWIN Builtin Trigger

- UPDATE trigger on Chek

DECLARE NUMROWS INTEGER;

BEGIN

/* ERWIN Builtin Trigger */

/* Chek Klientu on parent update restrict */

/* ERWIN_RELATION:CHECKSUM= «00011786», 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» */

IF

/*%JOINPKPK (:%Old,:%New,» »,» OR») */

:old.pay_zak :new.pay_zak OR :old.date_pay :new.date_pay

THEN

SELECT count(*) INTO NUMROWS

FROM Klientu

WHERE

/* %JOINFKPK (Klientu,:%Old,» =»,» AND») */

Klientu.pay_zak =:old.pay_zak AND Klientu.date_pay =:old.date_pay;

IF (NUMROWS > 0)

THEN raise_application_error (

-20005, "Cannot update Chek because Klientu exists."

);

END IF;

END IF;

- ERWIN Builtin Trigger

END;

/

CREATE TRIGGER TI_Dyhovue BEFORE INSERT ON Dyhovue for each row

- ERWIN Builtin Trigger

- INSERT trigger on Dyhovue

DECLARE NUMROWS INTEGER;

BEGIN

/* ERWIN Builtin Trigger */

/* Instrymentu Dyhovue on child insert restrict */

/* ERWIN_RELATION:CHECKSUM= «000119f9», 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» */

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 Dyhovue because Instrymentu does not exist."

);

END IF;

- ERWIN Builtin Trigger

END;

/

CREATE TRIGGER TU_Dyhovue AFTER UPDATE ON Dyhovue for each row

- ERWIN Builtin Trigger

- UPDATE trigger on Dyhovue

DECLARE NUMROWS INTEGER;

BEGIN

/* ERWIN Builtin Trigger */

/* Instrymentu Dyhovue on child update restrict */

/* ERWIN_RELATION:CHECKSUM= «000118b6», 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» */

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 Dyhovue because Instrymentu does not exist."

);

END IF;

- ERWIN Builtin Trigger

END;

/

CREATE TRIGGER TI_Instrymentu BEFORE INSERT ON Instrymentu for each row

- ERWIN Builtin Trigger

- INSERT trigger on Instrymentu

DECLARE NUMROWS INTEGER;

BEGIN

/* ERWIN Builtin Trigger */

/* Sklad Instrymentu on child insert restrict */

/* ERWIN_RELATION:CHECKSUM= «00011048», 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 (

-20002, "Cannot insert Instrymentu because Sklad does not exist."

);

END IF;

- ERWIN Builtin Trigger

END;

/

CREATE TRIGGER TD_Instrymentu AFTER DELETE ON Instrymentu for each row

- ERWIN Builtin Trigger

- DELETE trigger on Instrymentu

DECLARE NUMROWS INTEGER;

BEGIN

/* ERWIN Builtin Trigger */

/* Instrymentu Dyhovue on parent delete cascade */

/* ERWIN_RELATION:CHECKSUM= «0002730b», 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» */

DELETE FROM Dyhovue

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;

/* ERWIN Builtin Trigger */

/* Instrymentu Ydarnue on parent delete 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» */

DELETE FROM Ydarnue

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;

/* ERWIN Builtin Trigger */

/* 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;

/

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

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?