Проектирование многопользовательской информационной системы "Университетская библиотека"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

RENCES ПреподавателиDELETE NO ACTIONUPDATE NO ACTIONTABLE Пользование_библиотекой3

// Изменение таблицы Пользование_библиотекой3

ADD FOREIGN KEY (Шифр)

REFERENCES ЭкземплярDELETE NO ACTIONUPDATE NO ACTIONTABLE Сотрудники_библиотеки

// Изменение таблицы Сотрудники_библиотеки

ADD FOREIGN KEY (Номер_отдела)

REFERENCES ОтделыDELETE NO ACTIONUPDATE NO ACTIONTABLE Списанные_книги

// Изменение таблицы Списанные_книги

ADD FOREIGN KEY (Шифр)

REFERENCES ЭкземплярDELETE NO ACTIONUPDATE NO ACTIONTABLE Экземпляр

// Изменение таблицы ЭкземплярFOREIGN KEY (ISBN)КнигаDELETE NO ACTIONUPDATE NO ACTION

TABLE Экземпляр

// Изменение таблицы Экземпляр

ADD FOREIGN KEY (Номер_отдела)

REFERENCES ОтделыDELETE NO ACTIONUPDATE NO ACTIONtrigger tD_Заказы on Заказы for DELETE as

// Создание триггера на удаление из таблицы Заказы

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* DELETE trigger on Заказы */@errno int,

@errmsg varchar(255)

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* Книга Заказы ON CHILD DELETE NO ACTION */exists (select * from deleted, Книга

/* deleted.ISBN = Книга.ISBN */.ISBN = Книга.ISBN andexists (* from Заказы

/* Заказы.ISBN = Книга.ISBN */

Заказы.ISBN = Книга.ISBN

)

)@errno = 30010,

@errmsg = Cannot DELETE last Заказы because Книга exists. error

end

 

// Создание триггера на удаление из таблицы Преподаватели

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* Преподаватели Делают Заказы ON CHILD DELETE NO ACTION */exists (select * from deleted, Преподаватели

where

/* deleted. Читательский_номер = Преподаватели. Читательский_номер */. Читательский_номер = Преподаватели. Читательский_номер and

not exists (

select * from Заказы

/* Заказы. Читательский_номер = Преподаватели. Читательский_номер */

Заказы. Читательский_номер = Преподаватели. Читательский_номер

)

)@errno = 30010,

@errmsg = Cannot DELETE last Заказы because Преподаватели exists.error

/* ERwin Builtin Tue May 29 17:12:41 2007 */:@errno @errmsgtransaction

trigger tU_Заказы on Заказы for UPDATE as

// Создание триггера на обновление таблицы Заказы

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* UPDATE trigger on Заказы */

declare @numrows int, // объявление переменных

@nullcnt int,

@validcnt int,

@insЧитательский_номер int,

@insISBN varchar(20),

@errno int,

@errmsg varchar(255)

@numrows = @@rowcount

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* Книга Заказы ON CHILD UPDATE NO ACTION */

/* update(ISBN) */(ISBN)@nullcnt = 0@validcnt = count(*)inserted, Книга

/* inserted.ISBN = Книга.ISBN */.ISBN = Книга.ISBN

/* */@validcnt + @nullcnt!= @numrows@errno = 30007,

@errmsg = Cannot UPDATE Заказы because Книга does not exist. error

end

end

// Создание триггера на обновление таблицы Преподаватели

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* Преподаватели Делают Заказы ON CHILD UPDATE NO ACTION */

/* update (Читательский_номер) */(Читательский_номер)

begin@nullcnt = 0@validcnt = count(*)inserted, Преподаватели

/* inserted. Читательский_номер = Преподаватели. Читательский_номер */. Читательский_номер = Преподаватели. Читательский_номер

/* */@validcnt + @nullcnt!= @numrows@errno = 30007,

@errmsg = Cannot UPDATE Заказы because Преподаватели does not exist.error

/* ERwin Builtin Tue May 29 17:12:41 2007 */:@errno @errmsgtransaction

go

// Создание триггера на удаление из таблицы Замена_экземпляров

create trigger tD_Замена_экземпляров on Замена_экземпляров for DELETE as

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* DELETE trigger on Замена_экземпляров */@errno int,

@errmsg varchar(255)

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* Экземпляр Заменили Замена_экземпляров ON CHILD DELETE NO ACTION */exists (select * from deleted, Экземпляр

/* deleted. Шифр = Экземпляр. Шифр */. Шифр = Экземпляр. Шифр andexists ( * from Замена_экземпляров

where

/* Замена_экземпляров. Шифр = Экземпляр. Шифр */

Замена_экземпляров. Шифр = Экземпляр. Шифр

)

)

begin

select @errno = 30010,

@errmsg = Cannot DELETE last Замена_экземпляров because Экземпляр exists.error

/* ERwin Builtin Tue May 29 17:12:41 2007 */:@errno @errmsgtransaction

go

 

// Создание триггера на обновление таблицы Замена_экземпляров

create trigger tU_Замена_экземпляров on Замена_экземпляров for UPDATE as

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* UPDATE trigger on Замена_экземпляров */@numrows int,

@nullcnt int,

@validcnt int,

@insШифр varchar(20),

@errno int,

@errmsg varchar(255)

@numrows = @@rowcount

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* Экземпляр Заменили Замена_экземпляров ON CHILD UPDATE NO ACTION */

/* update(Шифр) */(Шифр)@nullcnt = 0@validcnt = count(*)inserted, Экземпляр

/* inserted. Шифр = Экземпляр. Шифр */. Шифр = Экземпляр. Шифр

/* */

@validcnt + @nullcnt!= @numrows@errno = 30007,

@errmsg = Cannot UPDATE Замена_экземпляров because Экземпляр does not exist.error

/* ERwin Builtin Tue May 29 17:12:41 2007 */:@errno @errmsgtransaction

go

 

// Создание триггера на удаление таблицы Книга

create trigger tD_Книга on Книга for DELETE as

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* DELETE trigger on Книга */@errno int,

@errmsg varchar(255)

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* Книга зарегестрировали в Экземпляр ON PARENT DELETE NO ACTION */exists (* from deleted, Экземпляр

/* Экземпляр.ISBN = deleted.ISBN */

Экземпляр.ISBN = deleted.ISBN

)@errno = 30001,

@errmsg = Cannot DELETE Книга because Экземпляр exists.error

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* Книга Заказы ON PARENT DELETE NO ACTION */exists (* from deleted, Заказы

/* Заказы.ISBN = deleted.ISBN */

Заказы.ISBN = deleted.ISBN

)@errno = 30001,

@errmsg = Cannot DELETE Книга because Заказы exists.error

/* ERwin Builtin Tue May 29 17:12:41 2007 */:@errno @errmsgtransaction

go

 

// Создание триггера на обновление таблицы Книга

create trigger tU_Книга on Книга for UPDATE as

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* UPDATE trigger on Книга */@numrows int,

@nullcnt int,

@validcnt int,

@insISBN varchar(20),

@errno int,

@errmsg varchar(255)@numrows = @@rowcount

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* Книга зарегестрировали в Экземпляр ON PARENT UPDATE NO ACTION */

/* update(ISBN) */(ISBN)exists (* from deleted, Экземпляр

/* Экземпляр.ISBN = deleted.ISBN */

Экземпляр.ISBN = deleted.ISBN

)@errno = 30005,

@errmsg = Cannot UPDATE Книга because Экземпляр exists. error

end

end

 

// Создание триггера на обновление таблицы Заказы

/* ERwin Builtin Tue May 29 17:12:41 2007 */

/* Книга Заказы ON PARENT UPDATE NO ACTION */

/* update(ISBN) */(ISBN)exists (* from deleted, Заказы

/* Заказы.ISBN