DDL, veritabanındaki XML şeması derlemeleri yönetmek için
Açıklandığı biçimde XML şema koleksiyonları sunucuda yönetme konu, oluşturabileceğiniz XML şema koleksiyonları veritabanında ve bunları sütunlarından değişkenleri ile ilişkilendirmek xml TYPE. Veritabanında, şema koleksiyonları yönetmek için SQL Server DDL aþaðýdaki sağlar:
XML SCHEMA koleksiyon (Transact-SQL) CREATE Şema bileşenleri, bir veritabanına alır.
XML SCHEMA koleksiyon (Transact-SQL) ALTER Varolan bir XML şema koleksiyon Şema bileşenleri değiştirir.
XML SCHEMA koleksiyon (Transact-SQL) DROP Tam XML şeması koleksiyonunu ve tüm bileşenlerini siler.
Bir XML şema koleksiyon ve içerdiği şemalar'ı kullanmak için , önce koleksiyonnu ve şemalar CREATE XML SCHEMA koleksiyon kullanarak oluşturmalısınız deyim.Şema koleksiyon oluşturulduktan sonra daha sonra değişkenleri ve sütunlarından oluşturabilirsiniz xml yazın ve şema koleksiyon ile ilişkilendirin. Bir şema koleksiyon oluşturulduktan sonra çeşitli şema bileşenleri meta verilerde depolanan unutmayın.XML SCHEMA ALTER koleksiyon varolan şemalar için daha fazla bileşen eklemek veya varolan koleksiyon yeni şemalar eklemek için de kullanılabilir.
Şema koleksiyon bırakmak için , XML SCHEMA koleksiyon DROP deyimini kullanın.Bu koleksiyonda bulunan ve koleksiyon nesnesine kaldırır tüm şemalar bırakır.Bir şema koleksiyon bırakmak, önce koşullar'de açıklanan unutmayın. XML SCHEMA koleksiyon (Transact-SQL) DROPuygun olması gerekir.
Schema Bileşenleri'ni anlama
XML SCHEMA koleksiyon CREATE deyim kullandığınızda, çeşitli şema bileşenleri veritabanına alınır.Şema bileşenleri şema öğeleri, öznitelikleri ve tanımlarını yazın.XML SCHEMA koleksiyon DROP deyim kullandığınızda, tüm koleksiyon kaldırın.
CREATE XML SCHEMA koleksiyon şema bileşenleri çeşitli sistem tablolarına kaydeder.
Örneğin, aşağıdaki şemada göz önünde bulundurun:
<?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>
Önceki şema değişik veritabanında depolanan bileşenleri gösterir.Bu yöntemler şunlardır SomeAttribute, SomeType, OrderType, CustomerType, Customer, Order, CustomerID, OrderID, OrderDate, RequiredDate, ve ShippedDate.
Bileşen kategorileri
Veritabanında depolanan Schema bileşenleri aşağıdaki kategorilere ayrılır:
Öğe
Öznitelik
TÜR (için basit veya karmaşık türleri)
attributegroup
modelgroup
Örneğin:
SomeAttribute öznitelik bileşenidir.
SomeType, OrderType, and CustomerType TÜRÜ bileşenleri olur.
Müşteri ELEMENT bileşenidir.
Bir şema bir veritabanına alma SQL Server Şema kendisini depolamaz. Bunun yerine, SQL Server çeşitli tek tek bileşenlerini depolar. Diğer bir deyişle, <Schema> etiket yok olarak depolanır, yalnızca içinde tanımlanan bileşenleri korunur. Tüm şema öğeleri korunmaz.If the <Schema> tag contains attributes that specify default behavior of its components, these attributes are moved to the schema components within it during the import process, as shown in the following tablo.
Öznitelik adı |
Davranış |
---|---|
attributeFormDefault |
The form öznitelik applied to all öznitelik declarations in the schema where it is not already present and the value is küme to the value of the attributeFormDefault öznitelik. |
elementFormDefault |
The form öznitelik applied to all element declarations in the schema where it is not already present and the value is küme to the value of the elementFormDefault öznitelik. |
blockDefault |
The blok öznitelik applied to all element declarations and type definitions where it is not already present and the value is küme to the value of the blockDefault öznitelik. |
finalDefault |
The final öznitelik applied to all element declarations and type definitions where it is not already present and the value is küme to the value of the finalDefault öznitelik. |
targetNamespace |
Hedef ad alanına ait olan bileşenleri hakkındaki meta verilerde depolanır. |