Розробка бази даних та застосування для інтернет-магазину продажу музичних інструментів
Аналіз відомих підходів до проектування баз даних. Ієрархічна, мережева та реляційна моделі представлення даних, їх особливості. Концептуальне проектування: приклад документів, побудова 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