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:
CREATE kolekcja SCHEMATU XML (języka Transact-SQL) Importuje schemat składników do bazy danych.
ALTER XML SCHEMA COLLECTION (Transact-SQL) Modyfikuje składniki schematu w istniejącą kolekcja schematu XML.
DROP kolekcja SCHEMATU XML (języka Transact-SQL) Usuwa pełną kolekcja schematu XML i wszystkie jego składniki.
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. |