- •Введение
- •1.2 Описание автоматизируемых функций (бизнес-процессов)
- •1.2.1 Перечень автоматизируемых функций
- •1.2.2 Функция 1 «Поступление»
- •1.2.3 Функция 2 «Реставрация»
- •1.2.4 Функция 3 «Экспозиция»
- •1.3 Первичное описание информационного обеспечения
- •1.4 Вывод
- •2.1.3 Функция 3 «Экспозиция»
- •2.2 Спецификации локальных ограничений и правил
- •2.3 Вывод
- •3.1.1 Функция 1 «Поступление»
- •3.1.2 Функция 2 «Реставрация»
- •3.1.3 Функция 3 «Экспозиция»
- •3.2 Спецификации локальных ограничений и правил
- •3.3 Вывод
- •4.1.3 Выявление дублирования атрибутов и связей
- •4.2 Синтез глобальной er-модели
- •4.2.1 Слияние эквивалентных сущностей
- •4.2.2 Синтез обобщающих сущностей и категорий
- •4.2.3 Устранение дублирования атрибутов и связей
- •4.2.4 Введение связей «многие ко многим»
- •4.3 Спецификации ограничений и правил
- •4.3 Вывод
- •5 Проектирование внутренней реляционной модели
- •5.1 Устранение подсущностей, категорий и явных связей
- •5.1.1 Устранение подсущностей и категорий
- •5.1.2 Устранение явных связей типа «один ко многим»
- •5.2 Спецификации ограничений и правил
- •5.4 Вывод
- •6 Проектирование моделей отображения
- •6.1 Разработка иерархий представлений
- •6.1.1 Функция 1 «Поступление»
- •6.1.2 Функция 2 «Реставрация»
- •6.1.3 Функция 3 «Экспозиция»
- •6.2 Разработка внутренних моделей представлений
- •6.2.1 Функция 1 «Поступление»
- •6.2.2 Функция 2 «Реставрация»
- •6.2.3 Функция 3 «Экспозиция»
- •6.3 Вывод
- •7 Разработка sql-кода базы данных
- •7.1 Sql-код создания таблиц
- •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 Вывод
- •8.1 Выбор ориентации внешних xml-представлений
- •8.2 Разработка xsd-схем внешних xml-документов
- •8.2.1 Xsd-схема для функции 1
- •8.2.2 Xsd-схема для функции 2
- •8.2.3 Xsd-схема для функции 3
- •8.3 Разработка аннотированных схем отображения
- •8.3.1 Схема отображения для функции 1
- •8.3.2 Схема отображения для функции 2
- •8.3.3 Схема отображения для функции 3
- •8.4 Вывод
- •Заключение
- •Список литературы
7.2.2 Представления отображения для функции 2
Здесь представленыSQL-операторы CREATE PROCEDURE, предназначенные для создания представлений отображения для функции 2 «Реставрация» в соответствии с разработанными концептуальными моделями отображения (см. разд. 6.2.2). Все отображения для этой функции построены в виде хранимых процедур (Stored procedure), корневая — без параметров, остальные — с параметрами для задания соответствующих фильтров:
create procedure dbo.[Vреставрация] as
select [реставрация].[рег номер рест], [реставрация].[дата начала],[реставрация].[дата окончания],[реставрация].[дата окончания]-[реставрация].[дата начала] as [продолжительность]
from [реставрация]
create procedure dbo.[Vреставратор реставрации]
@restavrator char(6) as
select [реставратор реставрации].[нпп рест],[реставратор реставрации].[таб номер],[реставратор реставрации].[код категории],[сотрудник].[фио],[категория реставратора].[назв категории]
from(
[реставратор реставрации] inner join [сотрудник]
on [сотрудник].[таб номер]=[реставратор реставрации].[таб номер]
)
inner join [категория реставратора]
on [категория реставратора].[код категории]=[реставратор реставрации].[код категории]
where [реставрация].[рег номер рест]=@restavrator
create procedure dbo.[Vобъект реставрации]
@object char(6),
@objectres int,
@objectrest char (6)
as
select [объект реставрации].[нпп объекта],
[объект реставрации].[код объекта],
[объект реставрации].[таб номер]
from [объект реставрации]
where [объект реставрации].[нпп рест]=@objectres and
[объект реставрации].[таб номер]=@objectrest and
[объект реставрации].[рег номер рест]=@object
create procedure dbo.[Vвып работа на объекте]
@rabora char(6),
@rabotao char (6)
as
select [вып работа на объекте].[нпп работы],[вып работа на объекте].[код вида],[вып работа на объекте].[содержание],[вид].[назв вида]
from
[вып работа на объекте] inner join [вид]
on [вид].[код вида]=[вып работа на объекте].[код вида]
where [вып работа на объекте].[рег номер рест]=@rabora and
[вып работа на объекте].[нпп объекта]=@rabotao
7.2.3 Представления отображения для функции 3
Здесь представлены SQL-операторы CREATE VIEW и CREATE PROCEDURE, предназначенные для создания представлений отображения для функции 3 «Экспозиция» в соответствии с разработанными концептуальными моделями отображения (см. разд. 6.2.3). Корневое отображение для этой функции построено в виде виртуальной таблицы (View), а остальные — в виде хранимых процедур (Stored procedure):
create view [dbo].Vэкспозиция as
select [экспозиция].[рег номер экспозиции],[экспозиция].[назв экспозиции],[экспозиция].[дата начала],[экспозиция].[дата окончания],[экспозиция].[таб номер],[ответственный сотрудник за экспозицию].[код должности],[сотрудник].[фио],[должность].[назв должности]
from ((
[экспозиция] inner join [ответственный сотрудник за экспозицию]
on [ответственный сотрудник за экспозицию].[таб номер]=[экспозиция].[таб номер])
inner join [сотрудник]
on [сотрудник].[таб номер]=[экспозиция].[таб номер])
inner join [должность]
on [должность].[код должности]=[ответственный сотрудник за экспозицию].[код должности]
group by [экспозиция].[рег номер экспозиции],[экспозиция].[назв экспозиции],[экспозиция].[дата начала],[экспозиция].[дата окончания],[экспозиция].[таб номер],[ответственный сотрудник за экспозицию].[код должности],[сотрудник].[фио],[должность].[назв должности]
create procedure dbo.[Vперсонал экспозиции]
@personal char(6) as
select [персонал экспозиции].[таб номер],[персонал экспозиции].[роль],[сотрудник].[ФИО]
from(
[персонал экспозиции] inner join [персонал]
on [персонал].[таб номер]=[персонал экспозиции].[таб номер])
inner join [сотрудник]
on [сотрудник].[таб номер]=[персонал экспозиции].[таб номер]
where [персонал экспозиции].[рег номер экспозиции]=@personal
create procedure dbo.[Vэкспонат экспозиции]
@eksponat char(6) as
select [экспонат экспозиции].[нпп объекта],[экспонат экспозиции].[код объекта],[экспонат экспозиции].[код зала],[объект поступления].[назв объекта],[зал].[назв зала],[зал].[номер зала]
from(
[экспонат экспозиции] inner join [объект поступления]
on [объект поступления].[код объекта]=[экспонат экспозиции].[код объекта])
inner join [зал]
on [зал].[код зала]=[экспонат экспозиции].[код зала]
where [экспонат экспозиции].[рег номер экспозиции]=@eksponat