Aracılığıyla paylaş


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:

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.