- •7 Разработка sql-кода базы данных
- •7.1Sql-код создания таблиц
- •7.1.1 Создание столбцов таблиц
- •7.1.2 Создание ограничений уникальности
- •7.1.3 Создание ограничений атрибутов и кортежей
- •7.1.4 Создание ограничений ссылочной целостности
- •7.1.5 Создание триггеров базы данных
- •7.2 Sql-код создания представлений отображения
- •7.2.1 Представления отображения для функции 1
- •7.2.2 Представления отображения для функции 2
- •7.2.3 Представления отображения для функции 3
- •7.4 Вывод
7.1.2 Создание ограничений уникальности
Для создания ограничений уникальности применяются SQL-операторы ALTER TABLE … ADD CONSTRAINT. Первичные ключи задаются с помощь фразы PRIMARY KEY, а ключи-кандидаты — с помощью фразы UNIQUE.
alter table [dbo]. [Автор]
add constraint PK_Автор
primary key ([код автора])
alter table [dbo].[Автор заявки]
addconstraintPK_код_автора_регистрационный_номер_заявки
primarykey([Код автора заявки],[Рег. номер заявки])
alter table [dbo]. [Автор патента]
add constraint PK_код_автора_патента_регистрационный_номер_патента
primary key ([Код автора],[Рег. номер патента])
alter table [dbo]. [Документы]
add constraint PK_Рег_номер
primary key ([Рег. номер])
alter table [dbo]. [Должность]
addconstraintPK_код_должности
primary key ([Код должности])
alter table [dbo]. [Заявки]
add constraint PK_регистрациооный_номер_заявки
primary key ([Рег. номер заявки])
alter table [dbo]. [Квитанция об оплате]
add constraint PK_рег_номер_заявки_Нпп
primary key ([Рег. номер заявки], [Нпп])
alter table [dbo]. [Лицензии]
addconstraintPK_Рег_номер_лицензии
primary key ([Рег. номер лицензии])
alter table [dbo]. [ОИС]
add constraint PK_код_ОИС
primary key ([Код ОИС])
alter table [dbo].[Организация]
add constraint PK_код_Организации
primary key ([Код организации])
alter table [dbo].[Патенты]
add constraint PK_Рег_номер_патента
primary key ([Рег. номер патента])
alter table [Правообладатель заявки]
add constraint PK_Код_правообладателя
primary key ([Код правообладателя])
alter table [Правообладатель лицензии]
add constraint PK_код_правообладателя_лицензии
primary key ([Код правообладателя лицензии], [Рег. номер лицензии])
alter table [Предметная область патента]
add constraint PK_код_предметной_области
primary key ([Код предметной области],[Рег. номер патента])
alter table [Тип]
add constraint PK_Код_типа
primary key ([Код типа])
alter table [Тип_объекта]
add constraint PK_Код_типа_объекта
primary key ([Код типа])
alter table [Автор]
add constraint UN_ФИО_автора
unique ([ФИО автора])
altertable[Ответственный сотрудник]
addconstraintUN_ответсвенный_сотрудник
unique([ФИО ответственного сотрудника])
7.1.3 Создание ограничений атрибутов и кортежей
Для создания ограничений атрибутов и кортежей применяются SQL-операторы ALTER TABLE … ADD CONSTRAINT с фразой CHECK.
alter table [Автор]
add constraintCH_ФИО_автора
chek([ФИО автора]BETWEEN'А'AND'яя')
alter table[dbo].[Ответственный сотрудник]
add constraintCH_ФИО_ответственного_сотрудника
сheсk ([ФИО ответственного сотрудника]BETWEEN'А'AND'яя')
alter table[dbo].[прием/выписка]
add constraintCH_дата
сheсk([дата получения]>[дата оплаты])
7.1.4 Создание ограничений ссылочной целостности
Для создания ограничений ссылочной целостности применяются SQL-операторы ALTER TABLE … ADD CONSTRAINT с фразой FOREIGN KEY. Фраза REFERENCES указывает при этом на родительскую таблицу, а фразы ON DELETE и ON UPDATE задают правила обработки в ситуациях удаления и изменения родителя.
ALTER TABLE [dbo].[Автор заявки]
ADD CONSTRAINT FK_код_автора
FOREIGN KEY ([Код автора заявки])
REFERENCES [Автор]
ON UPDATE CASCADE
ON DELETE CASCADE
CONSTRAINT FK_Рег_Номер
FOREIGN KEY ([Рег. номер])
REFERENCES [Заявки]
ON UPDATE CASCADE
ON DELETE CASCADE
CONSTRAINTFK_код_организации
FOREIGNKEY([Код организации])
REFERENCES [Организация]
ON UPDATE CASCADE
ON DELETE CASCADE
ALTER TABLE [dbo]. [Автор патента]
ADD CONSTRAINT FK_код_автора_патента
FOREIGN KEY ([Код автора])
REFERENCES [Автор]
ON UPDATE CASCADE
ON DELETE CASCADE
CONSTRAINT FK_Рег_номер2
FOREIGN KEY ([Рег. номер])
REFERENCES [Патенты]
ON UPDATE CASCADE
ON DELETE CASCADE
CONSTRAINTFK_Код_организации
FOREIGNKEY([Код организации])
REFERENCES [Организация]
ON UPDATE CASCADE
ON DELETE CASCADE
CONSTRAINT FK_код_должности
FOREIGN KEY ([Код должности])
REFERENCES [Должность]
ON UPDATE CASCADE
ON DELETE CASCADE
ALTER TABLE [dbo].[Заявки]
ADD CONSTRAINT FK_Рег_номер_заявки
FOREIGN KEY ([Рег. номер заявки])
REFERENCES [Документы]
ON UPDATE CASCADE
ON DELETE CASCADE
CONSTRAINT FK_Код_ОИС
FOREIGN KEY ([Код ОИС])
REFERENCES [ОИС]
ON UPDATE CASCADE
ON DELETE CASCADE
ALTER TABLE [dbo].[Лицензии]
ADD CONSTRAINT FK_Рег_номер_лицензии
FOREIGN KEY ([Рег. номер лицензии])
REFERENCES [Документы]
ON UPDATE CASCADE
ONDELETECASCADE
CONSTRAINTFK_Код_ответственного_сотрудника
FOREIGNKEY([Код ответственного сотрудника])
REFERENCES [Ответственный сотрудник]
ON UPDATE CASCADE
ON DELETE CASCADE
ALTER TABLE [dbo].[Патенты]
ADD CONSTRAINT FK_Рег_номер_патента
FOREIGN KEY ([Рег. номер патента])
REFERENCES [Документы]
ON UPDATE CASCADE
ON DELETE CASCADE
CONSTRAINT FK_Код_ОИС
FOREIGN KEY ([Код ОИС])
REFERENCES [ОИС]
ON UPDATE CASCADE
ON DELETE CASCADE
ALTERTABLE[dbo].[Ответственный сотрудник]
ADDCONSTRAINTFK_код_организации
FOREIGNKEY([Код организации])
REFERENCES[Организация]
ON UPDATE CASCADE
ON DELETE CASCADE
CONSTRAINTFK_Код_организации1
FOREIGNKEY([Код организации])
REFERENCES [Организация]
ON UPDATE CASCADE
ON DELETE CASCADE
alter table[dbo]. [Квитанция об оплате]
add constraintFK_Рег_номер_заявки3
foreign key([Рег. номер заявки])
referencesЗаявки
ON UPDATE CASCADE
ON DELETE CASCADE
ALTER TABLE [dbo].[Правообладатель заявки]
ADD CONSTRAINT FK_Рег_номер_заявки7
FOREIGN KEY ([Рег. номер])
REFERENCES [Заявки]
ON UPDATE CASCADE
ON DELETE CASCADE
ALTER TABLE [dbo].[Правообладатель лицензии]
ADD CONSTRAINT FK_Рег_номер_лицензии7
FOREIGN KEY ([Рег. номер])
REFERENCES [Лицензии]
ON DELETE CASCADE
ON UPDATE CASCADE
CONSTRAINTFK_Код_организации2
FOREIGNKEY([Код организации])
REFERENCES [Организация]
ON DELETE CASCADE
ON UPDATE CASCADE
ALTER TABLE [dbo].[Предметная область патента]
ADD CONSTRAINT FK_Код_типа
FOREIGN KEY ([Код типа])
REFERENCES [Тип] ([Код типа])
ON DELETE CASCADE
ON UPDATE CASCADE
CONSTRAINT FK_Рег_номер1
FOREIGN KEY ([Рег. номер])
REFERENCES [Патенты]
ON UPDATE CASCADE
ON DELETE CASCADE
ALTER TABLE [ОИС]
ADD CONSTRAINT FK_код_типа1_код_типа2
FOREIGN KEY ([Код типа])
REFERENCES [Тип]
ON UPDATE CASCADE
ON DELETE CASCADE
CONSTRAINT FK_код_категории
FOREIGN KEY ([Код категории])
REFERENCES [Категория]
ON UPDATE CASCADE
ON DELETE CASCADE
ALTER TABLE [dbo].[Предметная область]
ADD CONSTRAINT FK_код_типа1
FOREIGN KEY ([Код типа])
REFERENCES [Тип]
ON DELETE CASCADE
ON UPDATE CASCADE
ALTER TABLE [dbo].[Тип объекта]
ADD CONSTRAINT FK_код_типа_объекта
FOREIGN KEY ([Код типа])
REFERENCES [Тип]
ON DELETE CASCADE
ON UPDATE CASCADE
ALTER TABLE [dbo].[ОИС]
ADD CONSTRAINT FK_Код_типа2
FOREIGN KEY ([Код типа])
REFERENCES [Тип объекта]
ON DELETE CASCADE
ON UPDATE CASCADE