Розробка бази даних та застосування для Інтернет-магазину комп'ютерної техніки

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 01.02.2013
Размер файла 2,3 M

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

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

Firm.name = :old.Name AND

Firm.familia = :old.Familia AND

Firm.kod_firm = :old.kod_firn;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Koristyvach because Firm exists.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Koristyvach AFTER UPDATE ON Koristyvach for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Koristyvach

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Koristyvach Firm on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="00023bc0", PARENT_OWNER="", PARENT_TABLE="Koristyvach"

CHILD_OWNER="", CHILD_TABLE="Firm"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_5", FK_COLUMNS="name""familia""kod_firm" */

IF

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

:old.Name <> :new.Name OR

:old.Familia <> :new.Familia OR

:old.kod_firn <> :new.kod_firn

THEN

SELECT count(*) INTO NUMROWS

FROM Firm

WHERE

/*%JoinFKPK(Firm,:%Old," = "," AND") */

Firm.name = :old.Name AND

Firm.familia = :old.Familia AND

Firm.kod_firm = :old.kod_firn;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Koristyvach because Firm exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* Korzina Koristyvach on child update restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Korzina"

CHILD_OWNER="", CHILD_TABLE="Koristyvach"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_4", FK_COLUMNS="kod_firn" */

SELECT count(*) INTO NUMROWS

FROM Korzina

WHERE

/*%JoinFKPK(:%New,Korzina," = "," AND") */

:new.kod_firn = Korzina.kod_firm;

IF (

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

NUMROWS = 0

)

THEN

raise_application_error(

-20007,

'Cannot update Koristyvach because Korzina does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tD_Korzina AFTER DELETE ON Korzina for each row

-- ERwin Builtin Trigger

-- DELETE trigger on Korzina

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Korzina Koristyvach on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="0000d7be", PARENT_OWNER="", PARENT_TABLE="Korzina"

CHILD_OWNER="", CHILD_TABLE="Koristyvach"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_4", FK_COLUMNS="kod_firn" */

SELECT count(*) INTO NUMROWS

FROM Koristyvach

WHERE

/*%JoinFKPK(Koristyvach,:%Old," = "," AND") */

Koristyvach.kod_firn = :old.kod_firm;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Korzina because Koristyvach exists.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Korzina AFTER UPDATE ON Korzina for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Korzina

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Korzina Koristyvach on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="0001065b", PARENT_OWNER="", PARENT_TABLE="Korzina"

CHILD_OWNER="", CHILD_TABLE="Koristyvach"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_4", FK_COLUMNS="kod_firn" */

IF

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

:old.kod_firm <> :new.kod_firm

THEN

SELECT count(*) INTO NUMROWS

FROM Koristyvach

WHERE

/*%JoinFKPK(Koristyvach,:%Old," = "," AND") */

Koristyvach.kod_firn = :old.kod_firm;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Korzina because Koristyvach exists.'

);

END IF;

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Models BEFORE INSERT ON Models for each row

-- ERwin Builtin Trigger

-- INSERT trigger on Models

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Komplektuechi Models on child insert restrict */

/* ERWIN_RELATION:CHECKSUM="00015c81", PARENT_OWNER="", PARENT_TABLE="Komplektuechi"

CHILD_OWNER="", CHILD_TABLE="Models"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_2", FK_COLUMNS="kod_firm""kod_modely""kod_komplektuechgo""kod_obladnya" */

SELECT count(*) INTO NUMROWS

FROM Komplektuechi

WHERE

/*%JoinFKPK(:%New,Komplektuechi," = "," AND") */

:new.kod_firm = Komplektuechi.kod_firm AND

:new.kod_modely = Komplektuechi.kod_models AND

:new.kod_komplektuechgo = Komplektuechi.kod_komplektuechego AND

:new.kod_obladnya = Komplektuechi.kod_obladnenya;

IF (

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

NUMROWS = 0

)

THEN

raise_application_error(

-20002,

'Cannot insert Models because Komplektuechi does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tD_Models AFTER DELETE ON Models for each row

-- ERwin Builtin Trigger

-- DELETE trigger on Models

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Models Firm on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="00012069", PARENT_OWNER="", PARENT_TABLE="Models"

CHILD_OWNER="", CHILD_TABLE="Firm"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_1", FK_COLUMNS="kod_modeli""kod_firm""kod_komplektuechego""kod_obladnya" */

SELECT count(*) INTO NUMROWS

FROM Firm

WHERE

/*%JoinFKPK(Firm,:%Old," = "," AND") */

Firm.kod_modeli = :old.kod_modely AND

Firm.kod_firm = :old.kod_firm AND

Firm.kod_komplektuechego = :old.kod_komplektuechgo AND

Firm.kod_obladnya = :old.kod_obladnya;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Models because Firm exists.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Models AFTER UPDATE ON Models for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Models

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Models Firm on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="0002e12e", PARENT_OWNER="", PARENT_TABLE="Models"

CHILD_OWNER="", CHILD_TABLE="Firm"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_1", FK_COLUMNS="kod_modeli""kod_firm""kod_komplektuechego""kod_obladnya" */

IF

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

:old.kod_modely <> :new.kod_modely OR

:old.kod_firm <> :new.kod_firm OR

:old.kod_komplektuechgo <> :new.kod_komplektuechgo OR

:old.kod_obladnya <> :new.kod_obladnya

THEN

SELECT count(*) INTO NUMROWS

FROM Firm

WHERE

/*%JoinFKPK(Firm,:%Old," = "," AND") */

Firm.kod_modeli = :old.kod_modely AND

Firm.kod_firm = :old.kod_firm AND

Firm.kod_komplektuechego = :old.kod_komplektuechgo AND

Firm.kod_obladnya = :old.kod_obladnya;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Models because Firm exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* Komplektuechi Models on child update restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="Komplektuechi"

CHILD_OWNER="", CHILD_TABLE="Models"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_2", FK_COLUMNS="kod_firm""kod_modely""kod_komplektuechgo""kod_obladnya" */

SELECT count(*) INTO NUMROWS

FROM Komplektuechi

WHERE

/*%JoinFKPK(:%New,Komplektuechi," = "," AND") */

:new.kod_firm = Komplektuechi.kod_firm AND

:new.kod_modely = Komplektuechi.kod_models AND

:new.kod_komplektuechgo = Komplektuechi.kod_komplektuechego AND

:new.kod_obladnya = Komplektuechi.kod_obladnenya;

IF (

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

NUMROWS = 0

)

THEN

raise_application_error(

-20007,

'Cannot update Models because Komplektuechi does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tD_News AFTER DELETE ON News for each row

-- ERwin Builtin Trigger

-- DELETE trigger on News

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* News Shogi_tovary on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="0000f5bf", PARENT_OWNER="", PARENT_TABLE="News"

CHILD_OWNER="", CHILD_TABLE="Shogi_tovary"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_6", FK_COLUMNS="Name_Firm""Name_models" */

SELECT count(*) INTO NUMROWS

FROM Shogi_tovary

WHERE

/*%JoinFKPK(Shogi_tovary,:%Old," = "," AND") */

Shogi_tovary.Name_Firm = :old.Name_firm AND

Shogi_tovary.Name_models = :old.Name_models;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete News because Shogi_tovary exists.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_News AFTER UPDATE ON News for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on News

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* News Shogi_tovary on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="00012959", PARENT_OWNER="", PARENT_TABLE="News"

CHILD_OWNER="", CHILD_TABLE="Shogi_tovary"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_6", FK_COLUMNS="Name_Firm""Name_models" */

IF

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

:old.Name_firm <> :new.Name_firm OR

:old.Name_models <> :new.Name_models

THEN

SELECT count(*) INTO NUMROWS

FROM Shogi_tovary

WHERE

/*%JoinFKPK(Shogi_tovary,:%Old," = "," AND") */

Shogi_tovary.Name_Firm = :old.Name_firm AND

Shogi_tovary.Name_models = :old.Name_models;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update News because Shogi_tovary exists.'

);

END IF;

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tD_Obladnenya AFTER DELETE ON Obladnenya for each row

-- ERwin Builtin Trigger

-- DELETE trigger on Obladnenya

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Obladnenya Komplektuechi on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="0000f377", PARENT_OWNER="", PARENT_TABLE="Obladnenya"

CHILD_OWNER="", CHILD_TABLE="Komplektuechi"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_3", FK_COLUMNS="kod_obladnenya" */

SELECT count(*) INTO NUMROWS

FROM Komplektuechi

WHERE

/*%JoinFKPK(Komplektuechi,:%Old," = "," AND") */

Komplektuechi.kod_obladnenya = :old.kod_obladnenya;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Obladnenya because Komplektuechi exists.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Obladnenya AFTER UPDATE ON Obladnenya for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Obladnenya

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Obladnenya Komplektuechi on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="00011a77", PARENT_OWNER="", PARENT_TABLE="Obladnenya"

CHILD_OWNER="", CHILD_TABLE="Komplektuechi"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_3", FK_COLUMNS="kod_obladnenya" */

IF

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

:old.kod_obladnenya <> :new.kod_obladnenya

THEN

SELECT count(*) INTO NUMROWS

FROM Komplektuechi

WHERE

/*%JoinFKPK(Komplektuechi,:%Old," = "," AND") */

Komplektuechi.kod_obladnenya = :old.kod_obladnenya;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Obladnenya because Komplektuechi exists.'

);

END IF;

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tI_Shogi_tovary BEFORE INSERT ON Shogi_tovary for each row

-- ERwin Builtin Trigger

-- INSERT trigger on Shogi_tovary

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* News Shogi_tovary on child insert restrict */

/* ERWIN_RELATION:CHECKSUM="0000fd9a", PARENT_OWNER="", PARENT_TABLE="News"

CHILD_OWNER="", CHILD_TABLE="Shogi_tovary"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_6", FK_COLUMNS="Name_Firm""Name_models" */

SELECT count(*) INTO NUMROWS

FROM News

WHERE

/*%JoinFKPK(:%New,News," = "," AND") */

:new.Name_Firm = News.Name_firm AND

:new.Name_models = News.Name_models;

IF (

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

NUMROWS = 0

)

THEN

raise_application_error(

-20002,

'Cannot insert Shogi_tovary because News does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tD_Shogi_tovary AFTER DELETE ON Shogi_tovary for each row

-- ERwin Builtin Trigger

-- DELETE trigger on Shogi_tovary

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Shogi_tovary Firm on parent delete restrict */

/* ERWIN_RELATION:CHECKSUM="0001114b", PARENT_OWNER="", PARENT_TABLE="Shogi_tovary"

CHILD_OWNER="", CHILD_TABLE="Firm"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_7", FK_COLUMNS="name_firm""kod_firm""kod_tovary""name_models" */

SELECT count(*) INTO NUMROWS

FROM Firm

WHERE

/*%JoinFKPK(Firm,:%Old," = "," AND") */

Firm.name_firm = :old.Name_Firm AND

Firm.kod_firm = :old.kod_firm AND

Firm.kod_tovary = :old.kod_tovary AND

Firm.name_models = :old.Name_models;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20001,

'Cannot delete Shogi_tovary because Firm exists.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

CREATE TRIGGER tU_Shogi_tovary AFTER UPDATE ON Shogi_tovary for each row

-- ERwin Builtin Trigger

-- UPDATE trigger on Shogi_tovary

DECLARE NUMROWS INTEGER;

BEGIN

/* ERwin Builtin Trigger */

/* Shogi_tovary Firm on parent update restrict */

/* ERWIN_RELATION:CHECKSUM="00028ee1", PARENT_OWNER="", PARENT_TABLE="Shogi_tovary"

CHILD_OWNER="", CHILD_TABLE="Firm"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_7", FK_COLUMNS="name_firm""kod_firm""kod_tovary""name_models" */

IF

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

:old.Name_Firm <> :new.Name_Firm OR

:old.kod_firm <> :new.kod_firm OR

:old.kod_tovary <> :new.kod_tovary OR

:old.Name_models <> :new.Name_models

THEN

SELECT count(*) INTO NUMROWS

FROM Firm

WHERE

/*%JoinFKPK(Firm,:%Old," = "," AND") */

Firm.name_firm = :old.Name_Firm AND

Firm.kod_firm = :old.kod_firm AND

Firm.kod_tovary = :old.kod_tovary AND

Firm.name_models = :old.Name_models;

IF (NUMROWS > 0)

THEN

raise_application_error(

-20005,

'Cannot update Shogi_tovary because Firm exists.'

);

END IF;

END IF;

/* ERwin Builtin Trigger */

/* News Shogi_tovary on child update restrict */

/* ERWIN_RELATION:CHECKSUM="00000000", PARENT_OWNER="", PARENT_TABLE="News"

CHILD_OWNER="", CHILD_TABLE="Shogi_tovary"

P2C_VERB_PHRASE="", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_6", FK_COLUMNS="Name_Firm""Name_models" */

SELECT count(*) INTO NUMROWS

FROM News

WHERE

/*%JoinFKPK(:%New,News," = "," AND") */

:new.Name_Firm = News.Name_firm AND

:new.Name_models = News.Name_models;

IF (

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

NUMROWS = 0

)

THEN

raise_application_error(

-20007,

'Cannot update Shogi_tovary because News does not exist.'

);

END IF;

-- ERwin Builtin Trigger

END;

/

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


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

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

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

  • Розробка сайту інтернет-магазину комп’ютерної техніки. Структура об’єктів і зв’язків предметної області: головна, таблиці менеджерів, складу, інформація про товар, сторінки користувачів, покупців. Створення резервної копії бази даних, рhp програма.

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

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

    курсовая работа [541,5 K], добавлен 29.01.2013

  • Основні поняття та особливості розробки баз даних в Microsoft Access. Побудова бази даних магазину побутової техніки: створення таблиць та встановлення зв’язків між ними, створення запитів, форм та звітів. Охорона праці і гігієна користувача комп'ютера.

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

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

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

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

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

  • Проектування, розробка та введення в експлуатацію бази даних для віртуального магазину "MotorUA". Виявлення еквівалентних сущностей. Переклад глобальної ER-моделі в реляційну форму. Розробка механизмів захисту даних від несанкціонованого доступу.

    курсовая работа [857,7 K], добавлен 15.02.2011

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

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

  • Обґрунтування потреби, поняття, класифікація, проектування та етапи розробки веб-сайту. Вибір програмних засобів, розробка інтерфейса і бази даних. Динамічна мова розмітки гіпертекстових документів DHTML. Розміщення категорій товарів в on-line магазині.

    дипломная работа [1,5 M], добавлен 04.08.2009

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

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

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