
- •Введение
- •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.1.2 Создание ограничений уникальности
Для создания ограничений уникальности применяются SQL-операторы ALTER TABLE … ADD CONSTRAINT. Первичные ключи задаются с помощь фразы PRIMARY KEY, а ключи-кандидаты — с помощью фразы UNIQUE.
ALTER TABLE [dbo].[сотрудник]
ADD CONSTRAINT PK_сотрудник
PRIMARY KEY ([таб номер]),
CONSTRAINT UN_ФИО
UNIQUE ([фио])
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 [dbo].[персонал]
ADD CONSTRAINT PK_персонал
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 [dbo].[зал]
ADD CONSTRAINT PK_зал
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 [dbo].[категория рест-ра]
ADD CONSTRAINT PK_категория
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 [dbo].[реставратор реставрации]
ADD CONSTRAINT PK_реставратор_рест
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 [dbo].[объект реставрации]
ADD CONSTRAINT PK_кафедра
PRIMARY KEY ([нпп объекта],[рег номер рест])
ALTER TABLE [dbo].[вып работа на объекте]
ADD CONSTRAINT PK_работа
PRIMARY KEY ([нпп работы],[нпп объекта],[рег номер рест])
ALTER TABLE [dbo].[автор объекта]
ADD CONSTRAINT PK_автор_об
PRIMARY KEY ([код автора],[код объекта])
7.1.3 Создание ограничений атрибутов и кортежей
Для создания ограничений атрибутов и кортежей применяются SQL-операторы ALTER TABLE … ADD CONSTRAINT с фразой CHECK.
ALTER TABLE [dbo].[поступление]
ADD CONSTRAINT CH_дата
CHECK ([дата]<= GetDate())
ALTER TABLE [dbo].[автор]
ADD CONSTRAINT CH_код_автора
CHECK ([код автора] BETWEEN 000001 AND 100000)
ALTER TABLE [dbo].[реставратор реставрации]
ADD CONSTRAINT CH_нпп_рест
CHECK ([нпп рест] BETWEEN 000001 AND 100000)
ALTER TABLE [dbo].[реставрация]
ADD CONSTRAINT CH_продолжительность
CHECK ([продолжительность]=[дата окончания]-[дата начала])
ALTER TABLE [dbo].[сотрудник]
ADD CONSTRAINT CH_фио
CHECK ([фио] BETWEEN 'А' AND 'яя')