Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Insert into pokup (pok_name,pok_address,pok_city)






values('Иванов И.И.', 'Пушкинская 27 кв 1', 1)

и попробуем удалить запись о городе Одесса из таблицы CITY.

Мы получили сообщение о невозможности такой операции из-за ограничения по FOREIGN KEY:

Рис.24 Нарушение ссылочной целостности

Удалить город можно будет только тогда, когда в таблице покупателей не будет записей, связанных с этим городом.

Настало время создания таблиц НАКЛАДНАЯ и ОТПУСК-ТОВАРА-СО-СКЛАДА.

Создаем их с автоинкрементными Первичными ключами

CREATE TABLE NAKL (

ID_NAKL INTEGER NOT NULL,

NAKL_DATE DATE DEFAULT 'NOW' NOT NULL,

POK_Id INTEGER NOT NULL,

" POK_CREAT" VARCHAR(10) CHARACTER SET WIN1251 DEFAULT USER NOT NULL,

" POK_TSTAMP" DATE DEFAULT 'NOW' NOT NULL,

CONSTRAINT NAKL_PK PRIMARY KEY (" ID_NAKL")

);

CREATE GENERATOR NAKL_GEN;

COMMIT;

SET GENERATOR NAKL_GEN TO 0;

COMMIT;

SET TERM!!;

CREATE TRIGGER NAKL_ID_BI FOR NAKL

BEFORE INSERT

AS BEGIN

NEW.ID_NAKL = GEN_ID(NAKL_GEN, 1);

END!!

SET TERM;!!

ALTER TABLE NAKL

ADD CONSTRAINT POKUP_NAKL_FK FOREIGN KEY (POK_ID) REFERENCES POKUP

ON DELETE NO ACTION

ON UPDATE NO ACTION;

CREATE TABLE OTPUSK

(

NAKL_ID INTEGER NOT NULL,

TOV_ID INTEGER NOT NULL,

" OTP_CREAT" VARCHAR(10) CHARACTER SET WIN1251 DEFAULT USER NOT NULL,

" OTP_TSTAMP" DATE DEFAULT 'NOW' NOT NULL,

CONSTRAINT OTP_PK PRIMARY KEY (NAKL_ID, TOV_ID)

);

ALTER TABLE OTPUSK

ADD CONSTRAINT NAKL_OTPUSK_FK FOREIGN KEY (NAKL_ID) REFERENCES NAKL

ON DELETE CASCADE

ON UPDATE CASCADE;

ALTER TABLE OTPUSK

ADD CONSTRAINT TOV_OTPUSK_FK FOREIGN KEY (TOV_ID) REFERENCES TOVAR

ON DELETE NO ACTION






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.