Розробка бази даних та застосування для Інтернет-магазину відеотехніки
Дослідження підсистем створення облікової анкети на сайті, обробки замовлення та контролю платіжної системи. Проектування концептуальної, логічної і фізичної моделей даних. Визначення в них атрибутів сутностей, типу та розміру. Генерація моделей до СКБД.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 30.01.2013 |
Размер файла | 1,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
-- ERwin Builtin Trigger
-- UPDATE trigger on Internet_store
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Internet_store Warehouse on parent update restrict */
/* ERWIN_RELATION:CHECKSUM="0001039e", PARENT_OWNER="", PARENT_TABLE="Internet_store"
CHILD_OWNER="", CHILD_TABLE="Warehouse"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_1", FK_COLUMNS="ID_store" */
IF
/* %JoinPKPK(:%Old,:%New," <> "," OR ") */
:old.ID_store <> :new.ID_store
THEN
SELECT count(*) INTO NUMROWS
FROM Warehouse
WHERE
/* %JoinFKPK(Warehouse,:%Old," = "," AND") */
Warehouse.ID_store = :old.ID_store;
IF (NUMROWS > 0)
THEN
raise_application_error(
-20005,
'Cannot update Internet_store because Warehouse exists.'
);
END IF;
END IF;
-- ERwin Builtin Trigger
END;
CREATE TRIGGER tI_Ord BEFORE INSERT ON Ord for each row
-- ERwin Builtin Trigger
-- INSERT trigger on Ord
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Good Ord on child insert restrict */
/* ERWIN_RELATION:CHECKSUM="0001cbab", PARENT_OWNER="", PARENT_TABLE="Good"
CHILD_OWNER="", CHILD_TABLE="Ord"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_4", FK_COLUMNS="ID_good" */
SELECT count(*) INTO NUMROWS
FROM Good
WHERE
/* %JoinFKPK(:%New,Good," = "," AND") */
:new.ID_good = Good.ID_good;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20002,
'Cannot insert Ord because Good does not exist.'
);
END IF;
/* ERwin Builtin Trigger */
/* Orderer Ord on child insert restrict */
/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Orderer"
CHILD_OWNER="", CHILD_TABLE="Ord"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_5", FK_COLUMNS="N_S_ord" */
SELECT count(*) INTO NUMROWS
FROM Orderer
WHERE
/* %JoinFKPK(:%New,Orderer," = "," AND") */
:new.N_S_ord = Orderer.N_S_ord;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20002,
'Cannot insert Ord because Orderer does not exist.'
);
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tD_Ord AFTER DELETE ON Ord for each row
-- ERwin Builtin Trigger
-- DELETE trigger on Ord
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Ord Ord_del on parent delete restrict */
/* ERWIN_RELATION:CHECKSUM="00010cd1", PARENT_OWNER="", PARENT_TABLE="Ord"
CHILD_OWNER="", CHILD_TABLE="Ord_del"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_7", FK_COLUMNS="ID_ordering""Summ""N_S_ord""Delivery" */
SELECT count(*) INTO NUMROWS
FROM Ord_del
WHERE
/* %JoinFKPK(Ord_del,:%Old," = "," AND") */
Ord_del.ID_ordering = :old.ID_ordering AND
Ord_del.Summ = :old.Summ AND
Ord_del.N_S_ord = :old.N_S_ord AND
Ord_del.Delivery = :old.Delivery;
IF (NUMROWS > 0)
THEN
raise_application_error(
-20001,
'Cannot delete Ord because Ord_del exists.'
);
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tU_Ord AFTER UPDATE ON Ord for each row
-- ERwin Builtin Trigger
-- UPDATE trigger on Ord
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Ord Ord_del on parent update restrict */
/* ERWIN_RELATION:CHECKSUM="00030f78", PARENT_OWNER="", PARENT_TABLE="Ord"
CHILD_OWNER="", CHILD_TABLE="Ord_del"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_7", FK_COLUMNS="ID_ordering""Summ""N_S_ord""Delivery" */
IF
/* %JoinPKPK(:%Old,:%New," <> "," OR ") */
:old.ID_ordering <> :new.ID_ordering
THEN
SELECT count(*) INTO NUMROWS
FROM Ord_del
WHERE
/* %JoinFKPK(Ord_del,:%Old," = "," AND") */
Ord_del.ID_ordering = :old.ID_ordering AND
Ord_del.Summ = :old.Summ AND
Ord_del.N_S_ord = :old.N_S_ord AND
Ord_del.Delivery = :old.Delivery;
IF (NUMROWS > 0)
THEN
raise_application_error(
-20005,
'Cannot update Ord because Ord_del exists.'
);
END IF;
END IF;
/* ERwin Builtin Trigger */
/* Good Ord on child update restrict */
/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Good"
CHILD_OWNER="", CHILD_TABLE="Ord"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_4", FK_COLUMNS="ID_good" */
SELECT count(*) INTO NUMROWS
FROM Good
WHERE
/* %JoinFKPK(:%New,Good," = "," AND") */
:new.ID_good = Good.ID_good;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20007,
'Cannot update Ord because Good does not exist.'
);
END IF;
/* ERwin Builtin Trigger */
/* Orderer Ord on child update restrict */
/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Orderer"
CHILD_OWNER="", CHILD_TABLE="Ord"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_5", FK_COLUMNS="N_S_ord" */
SELECT count(*) INTO NUMROWS
FROM Orderer
WHERE
/* %JoinFKPK(:%New,Orderer," = "," AND") */
:new.N_S_ord = Orderer.N_S_ord;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20007,
'Cannot update Ord because Orderer does not exist.'
);
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tI_Ord_del BEFORE INSERT ON Ord_del for each row
-- ERwin Builtin Trigger
-- INSERT trigger on Ord_del
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Ord Ord_del on child insert restrict */
/* ERWIN_RELATION:CHECKSUM="000246d2", PARENT_OWNER="", PARENT_TABLE="Ord"
CHILD_OWNER="", CHILD_TABLE="Ord_del"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_7", FK_COLUMNS="ID_ordering""Summ""N_S_ord""Delivery" */
SELECT count(*) INTO NUMROWS
FROM Ord
WHERE
/* %JoinFKPK(:%New,Ord," = "," AND") */
:new.ID_ordering = Ord.ID_ordering AND
:new.Summ = Ord.Summ AND
:new.N_S_ord = Ord.N_S_ord AND
:new.Delivery = Ord.Delivery;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20002,
'Cannot insert Ord_del because Ord does not exist.'
);
END IF;
/* ERwin Builtin Trigger */
/* Courier Ord_del on child insert restrict */
/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Courier"
CHILD_OWNER="", CHILD_TABLE="Ord_del"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_8", FK_COLUMNS="N_S_cour""Phone_cour""ID_courier" */
SELECT count(*) INTO NUMROWS
FROM Courier
WHERE
/* %JoinFKPK(:%New,Courier," = "," AND") */
:new.ID_courier = Courier.ID_courier AND
:new.N_S_cour = Courier.N_S_cour AND
:new.Phone_cour = Courier.Phone_cour;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20002,
'Cannot insert Ord_del because Courier does not exist.'
);
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tU_Ord_del AFTER UPDATE ON Ord_del for each row
-- ERwin Builtin Trigger
-- UPDATE trigger on Ord_del
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Ord Ord_del on child update restrict */
/* ERWIN_RELATION:CHECKSUM="000239d1", PARENT_OWNER="", PARENT_TABLE="Ord"
CHILD_OWNER="", CHILD_TABLE="Ord_del"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_7", FK_COLUMNS="ID_ordering""Summ""N_S_ord""Delivery" */
SELECT count(*) INTO NUMROWS
FROM Ord
WHERE
/* %JoinFKPK(:%New,Ord," = "," AND") */
:new.ID_ordering = Ord.ID_ordering AND
:new.Summ = Ord.Summ AND
:new.N_S_ord = Ord.N_S_ord AND
:new.Delivery = Ord.Delivery;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20007,
'Cannot update Ord_del because Ord does not exist.'
);
END IF;
/* ERwin Builtin Trigger */
/* Courier Ord_del on child update restrict */
/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Courier"
CHILD_OWNER="", CHILD_TABLE="Ord_del"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_8", FK_COLUMNS="N_S_cour""Phone_cour""ID_courier" */
SELECT count(*) INTO NUMROWS
FROM Courier
WHERE
/* %JoinFKPK(:%New,Courier," = "," AND") */
:new.ID_courier = Courier.ID_courier AND
:new.N_S_cour = Courier.N_S_cour AND
:new.Phone_cour = Courier.Phone_cour;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20007,
'Cannot update Ord_del because Courier does not exist.'
);
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tD_Orderer AFTER DELETE ON Orderer for each row
-- ERwin Builtin Trigger
-- DELETE trigger on Orderer
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Orderer Ord on parent delete restrict */
/* ERWIN_RELATION:CHECKSUM="0000c238", PARENT_OWNER="", PARENT_TABLE="Orderer"
CHILD_OWNER="", CHILD_TABLE="Ord"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_5", FK_COLUMNS="N_S_ord" */
SELECT count(*) INTO NUMROWS
FROM Ord
WHERE
/* %JoinFKPK(Ord,:%Old," = "," AND") */
Ord.N_S_ord = :old.N_S_ord;
IF (NUMROWS > 0)
THEN
raise_application_error(
-20001,
'Cannot delete Orderer because Ord exists.'
);
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tU_Orderer AFTER UPDATE ON Orderer for each row
-- ERwin Builtin Trigger
-- UPDATE trigger on Orderer
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Orderer Ord on parent update restrict */
/* ERWIN_RELATION:CHECKSUM="0000ebc7", PARENT_OWNER="", PARENT_TABLE="Orderer"
CHILD_OWNER="", CHILD_TABLE="Ord"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_5", FK_COLUMNS="N_S_ord" */
IF
/* %JoinPKPK(:%Old,:%New," <> "," OR ") */
:old.N_S_ord <> :new.N_S_ord
THEN
SELECT count(*) INTO NUMROWS
FROM Ord
WHERE
/* %JoinFKPK(Ord,:%Old," = "," AND") */
Ord.N_S_ord = :old.N_S_ord;
IF (NUMROWS > 0)
THEN
raise_application_error(
-20005,
'Cannot update Orderer because Ord exists.'
);
END IF;
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tI_Players BEFORE INSERT ON Players for each row
-- ERwin Builtin Trigger
-- INSERT trigger on Players
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Good Players on child insert restrict */
/* ERWIN_RELATION:CHECKSUM="0001219d", PARENT_OWNER="", PARENT_TABLE="Товар"
CHILD_OWNER="", CHILD_TABLE="Players"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="is_a", FK_COLUMNS="ID_good""Producer""Model""Price""Others" */
SELECT count(*) INTO NUMROWS
FROM Good
WHERE
/* %JoinFKPK(:%New,Good," = "," AND") */
:new.ID_good = Good.ID_good AND
:new.Price = Good.Price AND
:new.Producer = Good.Producer AND
:new.Model = Good.Model AND
:new.Others = Good.Others;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20002,
'Cannot insert Players because Good does not exist.'
);
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tU_Players AFTER UPDATE ON Players for each row
-- ERwin Builtin Trigger
-- UPDATE trigger on Players
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Good Players on child update restrict */
/* ERWIN_RELATION:CHECKSUM="0001232a", PARENT_OWNER="", PARENT_TABLE="Товар"
CHILD_OWNER="", CHILD_TABLE="Players"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="is_a", FK_COLUMNS="ID_good""Producer""Model""Price""Others" */
SELECT count(*) INTO NUMROWS
FROM Good
WHERE
/* %JoinFKPK(:%New,Good," = "," AND") */
:new.ID_good = Good.ID_good AND
:new.Price = Good.Price AND
:new.Producer = Good.Producer AND
:new.Model = Good.Model AND
:new.Others = Good.Others;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20007,
'Cannot update Players because Good does not exist.'
);
END IF;
-- ERwin Builtin Trigger
END;
CREATE TRIGGER tI_Proectors BEFORE INSERT ON Proectors for each row
-- ERwin Builtin Trigger
-- INSERT trigger on Proectors
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Good Proectors on child insert restrict */
/* ERWIN_RELATION:CHECKSUM="00011a67", PARENT_OWNER="", PARENT_TABLE="Товар"
CHILD_OWNER="", CHILD_TABLE="Proectors"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="is_a", FK_COLUMNS="ID_good""Producer""Model""Price""Others" */
SELECT count(*) INTO NUMROWS
FROM Good
WHERE
/* %JoinFKPK(:%New,Good," = "," AND") */
:new.ID_good = Good.ID_good AND
:new.Price = Good.Price AND
:new.Producer = Good.Producer AND
:new.Model = Good.Model AND
:new.Others = Good.Others;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20002,
'Cannot insert Proectors because Good does not exist.'
);
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tU_Proectors AFTER UPDATE ON Proectors for each row
-- ERwin Builtin Trigger
-- UPDATE trigger on Proectors
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Good Proectors on child update restrict */
/* ERWIN_RELATION:CHECKSUM="00011d9b", PARENT_OWNER="", PARENT_TABLE="Товар"
CHILD_OWNER="", CHILD_TABLE="Proectors"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="is_a", FK_COLUMNS="ID_good""Producer""Model""Price""Others" */
SELECT count(*) INTO NUMROWS
FROM Good
WHERE
/* %JoinFKPK(:%New,Good," = "," AND") */
:new.ID_good = Good.ID_good AND
:new.Price = Good.Price AND
:new.Producer = Good.Producer AND
:new.Model = Good.Model AND
:new.Others = Good.Others;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20007,
'Cannot update Proectors because Good does not exist.'
);
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tI_TV_monit BEFORE INSERT ON TV_monit for each row
-- ERwin Builtin Trigger
-- INSERT trigger on TV_monit
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Good TV_monit on child insert restrict */
/* ERWIN_RELATION:CHECKSUM="00012519", PARENT_OWNER="", PARENT_TABLE="Товар"
CHILD_OWNER="", CHILD_TABLE="TV_monit"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="is_a", FK_COLUMNS="ID_good""Producer""Model""Price""Others" */
SELECT count(*) INTO NUMROWS
FROM Good
WHERE
/* %JoinFKPK(:%New,Good," = "," AND") */
:new.ID_good = Good.ID_good AND
:new.Price = Good.Price AND
:new.Producer = Good.Producer AND
:new.Model = Good.Model AND
:new.Others = Good.Others;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20002,
'Cannot insert TV_monit because Good does not exist.'
);
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tU_TV_monit AFTER UPDATE ON TV_monit for each row
-- ERwin Builtin Trigger
-- UPDATE trigger on TV_monit
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Good TV_monit on child update restrict */
/* ERWIN_RELATION:CHECKSUM="00012c81", PARENT_OWNER="", PARENT_TABLE="Товар"
CHILD_OWNER="", CHILD_TABLE="TV_monit"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="is_a", FK_COLUMNS="ID_good""Producer""Model""Price""Others" */
SELECT count(*) INTO NUMROWS
FROM Good
WHERE
/* %JoinFKPK(:%New,Good," = "," AND") */
:new.ID_good = Good.ID_good AND
:new.Price = Good.Price AND
:new.Producer = Good.Producer AND
:new.Model = Good.Model AND
:new.Others = Good.Others;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20007,
'Cannot update TV_monit because Good does not exist.'
);
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tI_Warehouse BEFORE INSERT ON Warehouse for each row
-- ERwin Builtin Trigger
-- INSERT trigger on Warehouse
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Internet_store Warehouse on child insert restrict */
/* ERWIN_RELATION:CHECKSUM="0000f534", PARENT_OWNER="", PARENT_TABLE="Internet_store"
CHILD_OWNER="", CHILD_TABLE="Warehouse"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_1", FK_COLUMNS="ID_store" */
SELECT count(*) INTO NUMROWS
FROM Internet_store
WHERE
/* %JoinFKPK(:%New,Internet_store," = "," AND") */
:new.ID_store = Internet_store.ID_store;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20002,
'Cannot insert Warehouse because Internet_store does not exist.'
);
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tD_Warehouse AFTER DELETE ON Warehouse for each row
-- ERwin Builtin Trigger
-- DELETE trigger on Warehouse
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Warehouse Good on parent delete restrict */
/* ERWIN_RELATION:CHECKSUM="0000ca01", PARENT_OWNER="", PARENT_TABLE="Warehouse"
CHILD_OWNER="", CHILD_TABLE="Good"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_2", FK_COLUMNS="ID_warehouse" */
SELECT count(*) INTO NUMROWS
FROM Good
WHERE
/* %JoinFKPK(Good,:%Old," = "," AND") */
Good.ID_warehouse = :old.ID_warehouse;
IF (NUMROWS > 0)
THEN
raise_application_error(
-20001,
'Cannot delete Warehouse because Good exists.'
);
END IF;
-- ERwin Builtin Trigger
END;
/
CREATE TRIGGER tU_Warehouse AFTER UPDATE ON Warehouse for each row
-- ERwin Builtin Trigger
-- UPDATE trigger on Warehouse
DECLARE NUMROWS INTEGER;
BEGIN
/* ERwin Builtin Trigger */
/* Warehouse Good on parent update restrict */
/* ERWIN_RELATION:CHECKSUM="00020a7b", PARENT_OWNER="", PARENT_TABLE="Warehouse"
CHILD_OWNER="", CHILD_TABLE="Good"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_2", FK_COLUMNS="ID_warehouse" */
IF
/* %JoinPKPK(:%Old,:%New," <> "," OR ") */
:old.ID_warehouse <> :new.ID_warehouse
THEN
SELECT count(*) INTO NUMROWS
FROM Good
WHERE
/* %JoinFKPK(Good,:%Old," = "," AND") */
Good.ID_warehouse = :old.ID_warehouse;
IF (NUMROWS > 0)
THEN
raise_application_error(
-20005,
'Cannot update Warehouse because Good exists.'
);
END IF;
END IF;
/* ERwin Builtin Trigger */
/* Internet_store Warehouse on child update restrict */
/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Internet_store"
CHILD_OWNER="", CHILD_TABLE="Warehouse"
P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",
FK_CONSTRAINT="R_1", FK_COLUMNS="ID_store" */
SELECT count(*) INTO NUMROWS
FROM Internet_store
WHERE
/* %JoinFKPK(:%New,Internet_store," = "," AND") */
:new.ID_store = Internet_store.ID_store;
IF (
/* %NotnullFK(:%New," IS NOT NULL AND") */
NUMROWS = 0
)
THEN
raise_application_error(
-20007,
'Cannot update Warehouse because Internet_store does not exist.'
);
END IF;
-- ERwin Builtin Trigger
END;
Размещено на Allbest.ru
Подобные документы
Основні підходи до проектування баз даних. Опис сайту Інтернет-магазину, характеристика його підсистем для обробки анкет і запитів користувачів. Розробка концептуальної, інфологічної, даталогічної, фізичної моделей даних. Побудова ER-моделі в CASE-засоби.
курсовая работа [2,3 M], добавлен 01.02.2013Системний аналіз бази даних за вхідною та вихідною документацією, визначення сутностей, атрибутів, зв’язків. Створення логічної моделі бази даних із застосуванням нормалізації, алгоритм її роботи. Розробка програмного забезпечення та інтерфейсу СУБД.
курсовая работа [946,8 K], добавлен 02.07.2015Специфікація вимог для кожного з двох користувачів. Концептуальне проектування бази даних. Визначення типів сутностей та зв’язків, доменів. Перетворення концептуальної моделі даних у логічну, визначення набору відношень, підтримки цілісності даних.
курсовая работа [55,1 K], добавлен 15.03.2015Розробка бази даних для меблевої фірми. Обстеження і аналіз предметної області та побудова концептуальної, логічної та фізичної моделі цієї бази даних. Використання мови програмування Visual Basic при написанні програмного коду, що обслуговує базу даних.
курсовая работа [1,4 M], добавлен 24.10.2010Проектування бази даних предметної області "Магазин будівельних матеріалів". Аналіз сукупності вхідних і вихідних даних, шляхи удосконалення інформаційної системи обліку товару. Організація інформаційної бази, розробка логічної і фізичної моделі.
курсовая работа [559,2 K], добавлен 09.05.2016Розробка концептуальної і фізичної моделей бази даних по обліку концертних заходів, організаторів, артистів та призерів конкурсів. Код запиту на створення бази даних. Загальні види запитів в інформаційній системі. Розробка програмного коду головної форми.
курсовая работа [1,5 M], добавлен 11.12.2011Аналіз відомих підходів до проектування баз даних. Ієрархічна, мережева та реляційна моделі представлення даних, їх особливості. Концептуальне проектування: приклад документів, побудова ER-діаграми, модель "сутність-зв'язок". Побудова фізичної моделі.
курсовая работа [541,5 K], добавлен 29.01.2013Концептуальна модель бази даних, визначення зв’язків між ними, атрибутів сутностей їх доменів. Створення ORM source model та Database model diagram для бази даних "Автотранспортне підприємство". Генерування ddl-скрипта для роботи в СУБД SQL-Server.
курсовая работа [47,3 K], добавлен 17.10.2013Розробка програми для автоматизованого розрахунку продажів у крамниці спорттоварів. Розробка концептуальної та логічної моделей бази даних. Автоматизація обробки інформації. Ядро програмного прикладного забезпечення. Розробка візуального інтерфейсу.
курсовая работа [2,3 M], добавлен 26.12.2014Визначення мети створення бази даних магазину та таблиць, які вона повинна містити. Розгляд видів полів та ключів таблиць. Створення запитів, форм, звітів, макросів та модулів. Вибір системи управління базами даних. Реалізація моделі у Microsoft Access.
курсовая работа [3,8 M], добавлен 20.07.2014