- •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.2.2 Представления отображения для функции 2
Здесь представленыSQL-операторы CREATE PROCEDURE, предназначенные для создания представлений отображения для функции 2 «Оформление заявки» в соответствии с разработанными концептуальными моделями отображения (см. разд. 6.2.2). Все отображения для этой функции построены в виде хранимых процедур (Stored procedure), корневая — без параметров, остальные — с параметрами для задания соответствующих фильтров:
CREATE PROCEDURE [dbo].[Оформление заявки] AS
SELECT[Заявки].[Рег. номер],
[Заявки].[Код ОИС],
[Документы].[Дата получения],
[ОИС].[Код типа],
[ОИС].[Наименование ОИС],
[Тип].[Наименование]
FROM((([Заявки]
INNERJOIN[Документы]
ON[Заявки].[Рег. номер] = [Документы].[Рег. номер])
INNERJOIN[ОИС]
ON[Заявки].[Код ОИС] = [ОИС].[Код ОИС])
INNERJOIN[Тип]
ON[ОИС].[Код типа] = [Тип].[Код типа])
CREATE PROCEDURE[dbo].[Правообладатель]
@RegNum CHAR(6) AS
SELECT[Правообладатель заявки].[Код правообладателя],
[Правообладатель заявки].[ФИО правообладателя]
FROM[Правообладатель заявки]
WHERE[Правообладатель заявки].[Рег. номер]=@RegNum
CREATE PROCEDURE[dbo].[Автор]
@RegNum CHAR(6) AS
SELECT[Автор].[Код автора],
[Автор].[ФИО автора],
[Автор заявки].[Код автора],
[Автор заявки].[ФИО автора],
[Организация].[Код организации],
[Организация].[ФИО автора],
FROM((([Автор]
INNERJOIN[Автор заявки]
ON[Автор].[Код автора] = [Автор заявки].[Код автора])
INNERJOIN[Организация]
ON[Автор заявки].[Код организации] = [Автор заявки].[Код организации])
FROM[Автор]
WHERE[Автор].[Рег. номер]=@RegNum
CREATEPROCEDURE[dbo].[Квитанция об оплате]
SELECT[Квитанция об оплате]
[Квитанция об оплате].[Нпп],
[Квитанция об оплате].[Номер],
[Квитанция об оплате].[Дата],
[Квитанция об оплате].[Место],
[Квитанция об оплате].[Время],
[Квитанция об оплате].[Кассир],
[Квитанция об оплате].[Рег, номер],
FROM[Квитанция об оплате]
WHERE[Квитанция об оплате].[Рег. номер]=@RegNum
7.2.3 Представления отображения для функции 3
Здесь представлены SQL-операторы CREATE VIEW и CREATE PROCEDURE, предназначенные для создания представлений отображения для функции 3 «Лицензии» в соответствии с разработанными концептуальными моделями отображения (см. разд. 6.2.3). Корневое отображение для этой функции построено в виде виртуальной таблицы (View), а остальные — в виде хранимых процедур (Stored procedure):
CREATE VIEW [dbo].[VЛицензии] AS
SELECT [Лицензии].[Рег. номер],
[Лицензии].[Код ответственного сотрудника],
[Ответственный сотрудник].[ФИО ответственного сотрудника],
[Ответственный сотрудник].[Должность],
[Ответственный сотрудник].[Код организации],
[Организация].[название организации],
[Документы].[Дата получения]
FROM((([Лицензии]
INNERJOIN[Ответственный сотрудник]
ON[Лицензии].[Код ответственного сотрудника]=[Ответственный сотрудник].[Код ответственного сотрудника])
INNERJOIN[Организация]
ON[Ответственный сотрудник].[Код организации]=[Организация].[Код организации])
INNERJOIN[Документы]
ON[Документы].[Рег. номер]=[Лицензии].[Рег. номер])
CREATE PROCEDURE[dbo].[Правообладатель] ]
@RegNum1 CHAR(6) AS
SELECT[Правообладатель лицензии].[Код правообладателя лицензии],
[Правообладатель лицензии].[ФИО правообладателя лицензии],
[Правообладатель лицензии].[Код организации],
[Организация].[название организации]
FROM([Правообладатель лицензии]
INNERJOIN[Организация]
ON[Правообладатель лицензии].[Код организации]=[Организация].[Код организации])
WHERE[Правообладатель лицензии].[Рег. номер]=@RegNum1