Реклама:

В приводимом ниже примере ограничение с именем maxInclusive применяется простым типом qtyLimiter для ограничения возможных значений типа positiveInteger диапазоном 1...100:

<xs:simpleType name="qtyLimiter">

<xs:restriction base="xs:positiveInteger"> <xs:maxInclusive value="100" />

</xs:restriction> </xs:simpleType>

9.2.6.3. Сложные типы

Сложные типы могут включать описания других элементов, атрибутов и групп. Этим они отличаются от простых типов, которые могут включать только ограничения

(facets).

9.3. Схемы XML и отображение в них таблиц, столбцов, реляционных отношений, первичных и внешних ключей

9.3.1. Таблицы набора данных

Таблица наборов данных представляется в схеме элементом сложного типа (ComplexType). Имя такого элемента - это имя таблицы набора данных. Столбцы данных представлены элементами и атрибутами, вложенными в рассматриваемый элемент сложного типа.

На рис. 9.5 показан сложный элемент Kaf, соответствующий структуре таблицы Kaf набора данных. Под рисунком приводится XML-описание этого элемента.

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 9.5

<xs:element name="Kaf"> <xs:complexType> <xs:sequence>

<xs:element name="KK" type="xs:int" /> <xs:element name="Nazv" type="xs:string" minOccurs="0" /> <xs:element name="Sostav" type="xs:unsignedByte" minOccurs="0" />

<xs:element name="Fakultet" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element>

Замечание. В качестве первичного ключа задан столбец КК, что на рисунке обозначено ключиком рядом с этим столбцом. После определения таблиц в ХМЬ-описании схемы задается следующее описание ограничения первичного ключа:

<хз:ипідие пате="Сопз1:гаіп1:1" msdata:PrimaryКey="true">

<хз:зе1ес1:ог хра1п=".//іж1м:Ка£" />

<xs:fie1d xpath="mstns:КК" /> </xs:unique>

9.3.2. Столбцы таблиц набора данных

Столбцы набора данных могут представляться либо элементами (element), либо атрибутами (atribute). Выбор между атрибутом и элементом диктуется потребностями интеграции с другими приложениями. При создании схем в Visual Studio .NET предпочтение отдается элементам. Однако может случиться, что вы интегрируетесь с приложением, у которого в качестве столбцов используются атрибуты. В этом случае придется применять атрибуты и вам.

В предыдущем разделе приведен пример схемы и XML-кода для таблицы Kaf. В этой схеме 4 столбца, притом значения тех из них, описания которых снабжены атрибутом minOccurs, можно не указывать. Столбец без названного атрибута (в данном случае это столбец KK) имеет ограничение unique, поскольку по названному столбцу построен первичный ключ и, следовательно, значение столбца для любой добавляемой в таблицу записи указывать обязательно.

9.3.3. Ограничение первичного и уникального ключей

Изображение ключика рядом с именем элемента столбца в XML-схеме свидетельствует о том, что данный столбец входит в состав первичного ключа.


⇐ Предыдущая страница| |Следующая страница ⇒