Скачиваний:
94
Добавлен:
02.05.2014
Размер:
436.29 Кб
Скачать

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.БД.КР.024.ХМ«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="unbounded"/>

<xsd:element name="ОИС" type="ОИС-type" minOccurs="1" maxOccurs="1"/>

<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:complexType>

<xsd:complexType name="Документы-type">

<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="1"/>

</xsd:sequence>

<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="Автор_патента-type">

<xsd:sequence>

<xsd:element name="Автор" type="Автор-type" minOccurs="1" maxOccurs="unbounded"/>

<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: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="Организация-type">

<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: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:sequence>

<xsd:element name="Тип" type="Тип-type" minOccurs="1" maxOccurs="unbounded"/>

<xsd:sequence>

<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:attribute name="cелектор" use="required"/>

</xsd:complexType>

</xsd:schema>

Соседние файлы в папке База данных - ВУЗ. Отдел интеллектуальной собственности