Udostępnij za pośrednictwem


DDL for Managing XML Schema Collections in the Database

Zgodnie z opisem w Managing XML Schema Collections on the Server temat, można utworzyć kolekcji schematu XML w bazie danych i je skojarzyć ze zmiennych i kolumn xml Typ. Zarządzanie kolekcjami schematu bazy danych, SQL Server zawiera następujące instrukcje DDL:

Aby użyć kolekcja schematu XML i schematów, zawiera, należy najpierw utworzyć zbierania i schematy za pomocą instrukcja CREATE kolekcja SCHEMATU XML.Po utworzeniu kolekcja schematu umożliwia tworzenie zmiennych i kolumn xml Wpisz i skojarzone z nimi kolekcja schematu. Należy zauważyć, że po utworzeniu kolekcja schematu poszczególnych elementów schematu są przechowywane metadane.Za pomocą kolekcja ALTER SCHEMATU XML można również dodać więcej składników do istniejących schematów lub dodać nowe schematy istniejącą kolekcja.

Aby usunąć kolekcja schematu, należy użyć instrukcja DROP kolekcja SCHEMATU XML.To już wszystkie schematy, które są zawarte w kolekcja i usuwa obiektu kolekcja.Należy zauważyć, że przed można upuścić kolekcja schematu, warunki opisane w DROP kolekcja SCHEMATU XML (języka Transact-SQL)muszą być spełnione.

Opis schematu składników

Korzystając z instrukcja CREATE kolekcja SCHEMATU XML, poszczególnych elementów schematu są importowane do bazy danych.Składniki schematu zawiera schemat elementy, atrybuty i wpisz definicje.Korzystając z instrukcja DROP kolekcja SCHEMATU XML, możesz usunąć pełne pobieranie.

CREATE kolekcja SCHEMATU XML zapisuje elementy schematu do różnych tabele systemowe.

Na przykład należy wziąć pod uwagę następujące schematu:

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="uri:Cust_Orders2"
            xmlns="uri:Cust_Orders2" >
  <xsd:attribute name="SomeAttribute" type="xsd:int" />
  <xsd:complexType name="SomeType" />
  <xsd:complexType name="OrderType" >
    <xsd:sequence>
      <xsd:element name="OrderDate" type="xsd:date" />
      <xsd:element name="RequiredDate" type="xsd:date" />
      <xsd:element name="ShippedDate" type="xsd:date" />
    </xsd:sequence>
    <xsd:attribute name="OrderID" type="xsd:ID" />
    <xsd:attribute name="CustomerID"  />
    <xsd:attribute name="EmployeeID"  />
  </xsd:complexType>
  <xsd:complexType name="CustomerType" >
     <xsd:sequence>
        <xsd:element name="Order" type="OrderType"
                     maxOccurs="unbounded" />
       </xsd:sequence>
      <xsd:attribute name="CustomerID" type="xsd:string" />
      <xsd:attribute name="OrderIDList" type="xsd:IDREFS" />
  </xsd:complexType>
  <xsd:element name="Customer" type="CustomerType" />
</xsd:schema>

Poprzedni schemat zawiera różne rodzaje składników, które mogą być przechowywane w bazie danych.Należą do nich SomeAttribute, SomeType, OrderType, CustomerType, Customer, Order, CustomerID, OrderID, OrderDate, RequiredDate, a ShippedDate.

Kategorie składników

Składniki schematu przechowywanych w bazie danych należą do następujących kategorii:

  • ELEMENT

  • is_snapshot

  • Typ (dla prostych lub złożonych typów)

  • ATTRIBUTEGROUP

  • MODELGROUP

Na przykład:

  • SomeAttribute jest składnikiem atrybut.

  • SomeType, OrderType, and CustomerType to składniki typu.

  • Odbiorcy jest składnikiem elementu.

Podczas importowania schematu do bazy danych SQL Server nie przechowuje się schemat. Zamiast tego SQL Server przechowuje różnych składników indywidualnych. Oznacza to <Schemat> nie znajduje się znacznik, są zachowywane tylko te składniki, które są zdefiniowane w nim. Wszystkie elementy schematu nie są zachowywane.Jeśli <Schemat> Tag zawiera atrybuty, określające domyślne zachowanie jego składniki, atrybuty te są przenoszone do składników schemat znajdujące się w nim podczas procesu importowania, jak pokazano w poniższej tabela.

Nazwa atrybut

Zachowanie

attributeFormDefault

The form atrybut applied to all atrybut declarations in the schema where it is not already present and the value is zestaw to the value of the attributeFormDefault atrybut.

elementFormDefault

The form atrybut applied to all element declarations in the schema where it is not already present and the value is zestaw to the value of the elementFormDefault atrybut.

blockDefault

The blok atrybut applied to all element declarations and type definitions where it is not already present and the value is zestaw to the value of the blockDefault atrybut.

finalDefault

The final atrybut applied to all element declarations and type definitions where it is not already present and the value is zestaw to the value of the finalDefault atrybut.

docelowy obszar nazw

Informacje o składnikach, które należą do docelowego obszaru nazw są przechowywane metadane.