Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая_15_05-2013.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.51 Mб
Скачать

2.3. Триггеры и генераторы. Обеспечение ссылочной целостности.

Созданы следующие генераторы для поля ID в таблицах:

  • GEN_AVTORI_ID – для генерации ID авторов в таблице AVTORI (Авторы);

CREATE GENERATOR GEN_AVTORI_ID;

SET GENERATOR GEN_AVTORI_ID TO 16;

  • GEN_KNIGI_ID – для генерации ID читателей в таблице KNIGI (Книги);

CREATE GENERATOR GEN_KNIGI_ID;

SET GENERATOR GEN_KNIGI_ID TO 28;

  • GEN_IZDATELSTVA_ID - для генерации ID издателя в таблице IZDATELSTVA (Издательства);

CREATE GENERATOR GEN_IZDATELSTVA_ID;

SET GENERATOR GEN_IZDATELSTVA_ID TO 9;

  • GEN_GANRI_ID – для генерации ID книг в таблице GANRI (Жанры);

CREATE GENERATOR GEN_GANRI_ID;

SET GENERATOR GEN_GANRI_ID TO 21;

  • GEN_POST_ID – для генерации ID поставщиков в таблице POST (Контрагенты);

CREATE GENERATOR GEN_POST_ID;

SET GENERATOR GEN_POST_ID TO 21;

  • GEN_PRIHOD_ID – для генерации ID приходной накладной в таблице PRIHOD (Приход);

CREATE GENERATOR GEN_PRIHOD_ID;

SET GENERATOR GEN_PRIHOD_ID TO 30;

  • GEN_RASHOD_ID – для генерации ID расходной накладной в таблице RASHOD (Расход);

CREATE GENERATOR GEN_RASHOD_ID;

SET GENERATOR GEN_RASHOD_ID TO 31;

  • GEN_SKL_ID – для генерации ID книги на складе в таблице SKL (Склад);

CREATE GENERATOR GEN_SKL_ID;

SET GENERATOR GEN_SKL_ID TO 19;

  • GEN_SOD_RAS_ID – для генерации ID записи в расходной накладной в таблице SOD_RAS (Содержание расходной накладной);

CREATE GENERATOR GEN_SOD_RAS_ID;

SET GENERATOR GEN_SOD_RAS_ID TO 6;

  • GEN_SOD_PRI_ID – для генерации ID записи в приходной накладной в таблице SOD_ PRI (Содержание приходной накладной);

CREATE GENERATOR GEN_SOD_PRI_ID;

SET GENERATOR GEN_SOD_PRI_ID TO 7;

  • GEN_ZAK_ID для генерации ID заказа в таблице ZAK (Заказы поставщикам);

CREATE GENERATOR GEN_ZAK_ID;

SET GENERATOR GEN_ZAK_ID TO 9;

Данные генераторы ведут отсчет с 1 и с шагом в 1.

Также созданы триггеры:

  • AVTORI_BI – для записи ID авторов в таблице AVTORI (Авторы);

CREATE OR ALTER TRIGGER AVTORI_BI FOR AVTORI

ACTIVE BEFORE INSERT POSITION 0

as

begin

if (new.id is null) then

new.id = gen_id(gen_avtori_id,1);

end

  • KNIGI_ BI – для записи ID читателей в таблице KNIGI (Книги);

CREATE OR ALTER TRIGGER KNIGI_BI FOR KNIGI

ACTIVE BEFORE INSERT POSITION 0

as

begin

if (new.id is null) then

new.id = gen_id(gen_knigi_id,1);

end

  • IZDATELSTVA_BI - для записи ID издателя в таблице IZDATELSTVA (Издательства);

CREATE OR ALTER TRIGGER IZDATELSTVA_BI FOR IZDATELSTVA

ACTIVE BEFORE INSERT POSITION 0

as

begin

if (new.id is null) then

new.id = gen_id(gen_izdatelstva_id,1);

end

  • GANRI_ BI – для записи ID книг в таблице GANRI (Жанры);

CREATE OR ALTER TRIGGER GANRI_BI FOR GANRI

ACTIVE BEFORE INSERT POSITION 0

as

begin

if (new.id is null) then

new.id = gen_id(gen_ganri_id,1);

end

  • POST_ BI – для записи ID поставщиков в таблице POST (Контрагенты);

CREATE OR ALTER TRIGGER POST_BI FOR POST

ACTIVE BEFORE INSERT POSITION 0

as

begin

if (new.id is null) then

new.id = gen_id(gen_post_id,1);

end

  • PRIHOD_ BI – для записи ID приходной накладной в таблице PRIHOD (Приход);

CREATE OR ALTER TRIGGER PRIHOD_BI FOR PRIHOD

ACTIVE BEFORE INSERT POSITION 0

as

begin

if (new.id is null) then

new.id = gen_id(gen_prihod_id,1);

end

  • RASHOD_ BI – для записи ID расходной накладной в таблице RASHOD (Расход);

CREATE OR ALTER TRIGGER RASHOD_BI FOR RASHOD

ACTIVE BEFORE INSERT POSITION 0

as

begin

if (new.id is null) then

new.id = gen_id(gen_rashod_id,1);

end

  • SKL_ BI – для записи ID книги на складе в таблице SKL (Склад);

CREATE OR ALTER TRIGGER SKL_BI FOR SKL

ACTIVE BEFORE INSERT POSITION 0

as

begin

if (new.id is null) then

new.id = gen_id(gen_skl_id,1);

end

  • SOD_RAS_BI – для записи ID записи в расходной накладной в таблице SOD_RAS (Содержание расходной накладной);

CREATE OR ALTER TRIGGER SOD_RAS_BI FOR SOD_RAS

ACTIVE BEFORE INSERT POSITION 0

as

begin

if (new.id is null) then

new.id = gen_id(gen_sod_ras_id,1);

end

  • SOD_PRI_ BI – для записи ID записи в приходной накладной в таблице SOD_ PRI (Содержание приходной накладной);

CREATE OR ALTER TRIGGER SOD_PRI_BI FOR SOD_PRI

ACTIVE BEFORE INSERT POSITION 0

as

begin

if (new.id is null) then

new.id = gen_id(gen_sod_pri_id,1);

end

  • ZAK_ BI – для записи ID заказа в таблице ZAK (Заказы поставщикам);

CREATE OR ALTER TRIGGER ZAK_BI FOR ZAK

ACTIVE BEFORE INSERT POSITION 0

as

begin

if (new.id is null) then

new.id = gen_id(gen_zak_id,1);

end

Индексы:

FK_KNIGI_1

 CREATE INDEX FK_KNIGI_1 ON KNIGI (KOD_GAN);

(Код Жанра)

FK_KNIGI_2

 CREATE INDEX FK_KNIGI_2 ON KNIGI (KOD_AVT);

(Код Автора)

FK_KNIGI_3

 CREATE INDEX FK_KNIGI_3 ON KNIGI (KOD_IZD);

(Код Издательства)

FK_PRIHOD_1

CREATE INDEX FK_PRIHOD_1 ON PRIHOD (POS);

(Код Поставщика)

FK_RASHOD_1

CREATE INDEX FK_RASHOD_1 ON RASHOD (POK);

(Код Покупателя)

FK_ZAK_1

CREATE INDEX FK_ZAK_1 ON ZAK (KOD_KNI);

(Код Книги)

FK_ZAK_2

CREATE INDEX FK_ZAK_2 ON ZAK (KOD_POS);

(Код Поставщика)

FK_SKL_1

CREATE INDEX FK_SKL_1 ON SKL (KOD_KNI);

(Код Книги)

FK_SOD_RAS_1

CREATE INDEX FK_SOD_RAS_1 ON SOD_RAS (KOD_KNI);

(Код Книги)

FK_SOD_RAS_2 

CREATE INDEX FK_SOD_RAS_2 ON SOD_RAS (KOD_CHEK);

(Код Расходной накладной)

FK_SOD_PRI_1 

CREATE INDEX FK_SOD_PRI_1 ON SOD_PRI (KOD_PRI);

(Код Прихода)

FK_SOD_PRI_2 

CREATE INDEX FK_SOD_PRI_2 ON SOD_PRI (KOD_KNI);

(Код Книги)

Разработка пользовательского интерфейса

Описание основных программных модулей

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]