- •Введение
- •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.4 Вывод
В результате программирования разработан программный SQL-код, обеспечивающий создание 23 таблиц базы данных и реализующий 11 стандартных ограничений целостности. Одно нестандартное ограничение целостности из специфицированных на предыдущем этапе было реализовано с помощью триггера базы данных. На основе ранее построенных моделей отображения запрограммирована реализация внешних представлений, включающая в общей сложности около (более) 106 строк SQL-кода.
8 РАЗРАБОТКА XML-КОДА ДОСТУПА К БАЗЕ ДАННЫХ
Данный раздел посвящен разработке XML-кода, обеспечивающего доступ к реляционной базе данных в формате XML на базе технологии XML-схем отображения (XML Mapping Schema). На данном этапе проектирования предполагается, что внешние иерархические модели, рассмотренные в разд. 2, задают данные в формате XML. Здесь выбирается ориентация внешних XML-документов, строятся XSD-схемы внешних XML-документов, а также аннотированные XSD-схемы для отображения внешних XML-документов во внутреннюю реляционную модель базы данных.
8.1 Выбор ориентации внешних xml-представлений
В данном подразделе выбирается ориентация XML-документов, соответствующих внешним иерархическим моделям. Рассматривается два способа внешних XML-представлений:
– элемент-ориентированный, при котором каждый атрибут внешней иерархической модели, так же как и каждый агрегат, представляется отдельным элементом во внешнем XML-документе;
– атрибут-ориентированный, при котором агрегаты внешней иерархической модели представляются элементами во внешнем XML-документе, а атрибуты внешней иерархической модели представляются атрибутами соответствующих элементов внешнего XML-документа.
Сделан следующий выбор способа ориентации внешних XML-документов:
– для функции 1 «Поступление» — атрибут-ориентированный;
– для функции 2 «Реставрация» — элемент-ориентированный;
– для функции 3 «Экспозиция» — атрибут-ориентированный.
В соответствии с указанным выбором построены в графической форме внешние модели XML-документов.
Определено отображение моделей XML-документов в таблицы и представления внутренней реляционной модели. Сделан следующий выбор между реальными таблицами и виртуальными представлениями (см. разд. 6 и 7) реляционной базы данных при задании отображений:
– для функции 1 — отображение только на виртуальные представления;
– для функции 2 — отображение только на реальные таблицы;
– для функции 3 — отображение на виртуальные представления и реальные таблицы.
Результаты представлены в документе2008.654600.БД.КР.056.ХМ«XML-модель».
8.2 Разработка xsd-схем внешних xml-документов
В данном подразделе строятся XSD-схемы внешних XML-документов. XML-код задания XSD-схем внешних документов для каждой из функций представлен ниже.
8.2.1 Xsd-схема для функции 1
<?xml version="1.0" encoding="windows-1251"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Поступление" type="Поступление-type"/>
<xsd:complexType name="Поступление-type">
<xsd:sequence>
<xsd:element name="Объект-поступления" type="Объект-поступления-type" minOccurs="1" maxOccurs="1"/>
<xsd:element name="Владелец" type="Владелец-type" minOccurs="1" maxOccurs="1"/>
<xsd:element name="Ответственный-за-поступление-сотрудник" type="Ответственный-за-поступление-сотрудник-type" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="Рег-номер-поступления" use="required"/>
<xsd:attribute name="Дата" use="required"/>
</xsd:complexType>
<xsd:complexType name="Объект-поступления-type">
<xsd:sequence>
<xsd:element name="Автор-объекта" type="Автор-объекта-type" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="Хар-ка-объекта" type="Хар-ка-объекта-type" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="Код-объекта" use="required"/>
<xsd:attribute name="Назв-объекта" use="required"/>
<xsd:attribute name="Код-типа" use="required"/>
<xsd:attribute name="Назв-типа" use="required"/>
</xsd:complexType>
<xsd:complexType name="Владелец-type">
<xsd:attribute name="Код-клиента" use="required"/>
<xsd:attribute name="ФИО-клиента" use="required"/>
</xsd:complexType>
<xsd:complexType name="Ответственный-за-поступление-сотрудник">
<xsd:attribute name="Таб-номер" use="required"/>
<xsd:attribute name="ФИО" use="required"/>
<xsd:attribute name="Код-должности" use="required"/>
<xsd:attribute name="Назв-должности" use="required"/>
</xsd:complexType>
<xsd:complexType name="Автор-объекта">
<xsd:attribute name="Код-автора" use="required"/>
<xsd:attribute name="ФИО-автора" use="required"/>
</xsd:complexType>
<xsd:complexType name="Хар-ка-объекта">
<xsd:attribute name="Код-хар-ки" use="required"/>
<xsd:attribute name="Назв-хар-ки" use="required"/>
<xsd:attribute name="Значение" use="optional"/>
</xsd:complexType>
</xsd:schema>