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:
UTWORZYĆ KOLEKCJI SCHEMATU XML (Transact-SQL) Importuje schemat składników do bazy danych.
ALTER KOLEKCJI SCHEMATU XML (Transact-SQL) Modyfikuje składniki schemat istniejącej kolekcja schematu XML.
UPUŚĆ KOLEKCJI SCHEMATU XML (Transact-SQL) Usuwa pełną kolekcja schematu XML i jego składników.
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. |