Udostępnij za pośrednictwem


DDL zarządzania kolekcji schematu XML, bazy danych

Jak opisano w Zarządzanie kolekcjami schematu XML na serwerze tematu, można utworzyć kolekcji schematu XML, bazy danych i powiązać je ze zmiennymi i kolumny xml typu.Zarządzanie kolekcjami schematu bazy danych, SQL Server zawiera następujące instrukcje DDL:

Aby użyć kolekcja schematu XML i schematy zawiera, należy najpierw utworzyć zbierania i schematy przy użyciu instrukcja utworzyć kolekcja SCHEMATU XML.Po utworzeniu kolekcja schematu można następnie utworzyć zmiennych i kolumny xml Wpisz i skojarzone z nimi kolekcja schematu.Należy zauważyć, że po utworzeniu kolekcja schematu różnych składników schematu są przechowywane metadane.Za pomocą kolekcja SCHEMATU XML ZMIENIA dodać więcej składników do istniejących schematów lub dodać nowe schematy do istniejącej kolekcja.

Aby upuścić kolekcja schematu, należy użyć instrukcja DROP kolekcja SCHEMATU XML.Porzuca wszystkie schematy, które są zawarte kolekcja i usuwa obiektu kolekcja.Należy zauważyć, że przed można upuścić kolekcja schematu, warunki opisane w UPUŚĆ KOLEKCJI SCHEMATU XML (Transact-SQL)musi być frędzlami

Opis składników schematu

Korzystając z instrukcja utworzyć KOLEKCJI SCHEMATU XML, różne składniki schematu są importowane do bazy danych.Schemat składniki zawierają schemat elementów, atrybutów i wpisz definicje.Korzystając z instrukcja DROP kolekcja SCHEMATU XML, usuń pełną kolekcja.

UTWORZYĆ KOLEKCJI SCHEMATU XML zapisuje składników schematu w różnych tabele systemowe.

Rozważmy na przykład następującego 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.These include SomeAttribute, SomeType, OrderType, CustomerType, Customer, Order, CustomerID, OrderID, OrderDate, RequiredDate, and ShippedDate.

Kategorie składników

Składniki schematu przechowywane w bazie danych dzielą się na następujące kategorie:

  • ELEMENT

  • ATRYBUT

  • Typ (typy proste lub złożone)

  • ELEMENT ATTRIBUTEGROUP

  • MODELGROUP

Na przykład:

  • SomeAttribute jest składnikiem ATRYBUTU.

  • SomeType, OrderType, i CustomerType są składnikami typu.

  • Odbiorcy jest składnikiem elementu.

Po zaimportowaniu schematu do bazy danych, SQL Server nie przechowuje sam schemat.Zamiast tego SQL Server przechowuje różnych składników indywidualnych.Oznacza to, że <schematu> tag nie jest przechowywany, składniki, które są zdefiniowane w nim są zachowywane.Wszystkie elementy schematu nie są zachowywane.Jeśli <schematu> tag zawiera atrybuty, które Określ domyślne zachowanie jego składników, te atrybuty są przenoszone do składników schematu on podczas procesu importowania, jak pokazano w poniższej tabela.

Nazwa atrybutu

Zachowanie

attributeFormDefault

Formularza stosowane do wszystkich deklaracji atrybut w schemacie, gdzie już nie jest obecny i jest wartość atrybut zestaw do wartości attributeFormDefault atrybut.

elementFormDefault

Formularza stosowane do wszystkich deklaracji elementu w schemacie, gdzie już nie jest obecny i jest wartość atrybut zestaw do wartości elementFormDefault atrybut.

blockDefault

Blok stosowane do wszystkich deklaracji elementu i definicje typów, gdzie już nie jest obecny i jest wartość atrybut zestaw do wartości blockDefault atrybut.

finalDefault

Końcowego stosowane do wszystkich deklaracji elementu i definicje typów, gdzie już nie jest obecny i jest wartość atrybut zestaw do wartości finalDefault atrybut.

docelowy obszar nazw

Informacje o składnikach, które należą do miejsce docelowe obszaru nazw jest przechowywany metadane.