Aracılığıyla paylaş


XML Şemasından (XSD) DataSet İlişkisel Yapısını Türetme

Bu bölümde, xml şeması tanım dili (XSD) şema belgesinden bir DataSet ilişkisel şemasının nasıl oluşturulduğuna genel bir bakış sağlanır. Genel olarak, bir şema öğesinin her complexType alt öğesi için içinde DataSetbir tablo oluşturulur. Tablo yapısı, karmaşık türün tanımına göre belirlenir. Tablolar, şemadaki DataSet en üst düzey öğeler için içinde oluşturulur. Ancak, bir tablo yalnızca öğe başka complexType bir öğenin içinde iç içe geçtiğinde complexType en üst düzey complexType öğe için oluşturulur ve bu durumda iç içe complexType öğe içinde DataSetbir DataTable ile eşlenir.

XSD hakkında daha fazla bilgi için bkz. World Wide Web Consortium (W3C) XML Şeması Bölüm 0: Primer Önerisi, XML Şema Bölüm 1: Yapılar Önerisi ve XML Şema Bölümü 2: Veri Türleri Önerisi.

Aşağıdaki örnekte, bir DataSet öğesi olan öğesinin MyDataSet alt öğesi olan XML Şeması customers gösterilmektedir.

<xs:schema id="SomeID"
            xmlns=""
            xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">  
   <xs:element name="MyDataSet" msdata:IsDataSet="true">  
     <xs:complexType>  
       <xs:choice maxOccurs="unbounded">  
         <xs:element name="customers" >
           <xs:complexType >  
             <xs:sequence>  
               <xs:element name="CustomerID" type="xs:integer"
                            minOccurs="0" />  
               <xs:element name="CompanyName" type="xs:string"
                            minOccurs="0" />  
               <xs:element name="Phone" type="xs:string" />  
             </xs:sequence>  
           </xs:complexType>  
          </xs:element>  
       </xs:choice>  
     </xs:complexType>  
   </xs:element>  
 </xs:schema>  

Yukarıdaki örnekte, öğesi customers karmaşık bir tür öğesidir. Bu nedenle, karmaşık tür tanımı ayrıştırılır ve eşleme işlemi aşağıdaki tabloyu oluşturur.

Customers (CustomerID, CompanyName, Phone)  

Tablodaki her sütunun veri türü, belirtilen ilgili öğenin veya özniteliğin XML Şema türünden türetilir.

Not

öğesi customers tamsayı gibi basit bir XML Şeması veri türündeyse tablo oluşturulmaz. Tablolar yalnızca karmaşık türler olan üst düzey öğeler için oluşturulur.

Aşağıdaki XML Şemasında Schema öğesinin iki alt öğesi InStateCustomers vardır ve OutOfStateCustomers.

<xs:schema id="SomeID"
            xmlns=""
            xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">  
   <xs:element name="InStateCustomers" type="customerType" />  
   <xs:element name="OutOfStateCustomers" type="customerType" />  
    <xs:complexType name="customerType" >  
  
     </xs:complexType>  
  
   <xs:element name="MyDataSet" msdata:IsDataSet="true">  
     <xs:complexType>  
       <xs:choice maxOccurs="unbounded">  
         <xs:element ref="customers" />  
       </xs:choice>  
     </xs:complexType>  
   </xs:element>  
 </xs:schema>  

InStateCustomers Hem hem de OutOfStateCustomers alt öğeleri karmaşık tür öğeleridir (customerType). Bu nedenle, eşleme işlemi içinde aşağıdaki iki özdeş DataSettabloyu oluşturur.

InStateCustomers (CustomerID, CompanyName, Phone)  
OutOfStateCustomers (CustomerID, CompanyName, Phone)  

Bu Bölümde

XML Şeması (XSD) Kısıtlamalarını DataSet Kısıtlamaları ile Eşleme
içinde benzersiz ve yabancı anahtar kısıtlamaları DataSetoluşturmak için kullanılan XML Şeması öğelerini açıklar.

XML Şemasından (XSD) DataSet İlişkileri Oluşturma
içindeki tablo sütunları DataSetarasında ilişki oluşturmak için kullanılan XML Şeması öğelerini açıklar.

XML Şema Kısıtlamaları ve İlişkileri
bir içinde DataSetkısıtlamalar oluşturmak için XML Şeması öğeleri kullanılırken ilişkilerin örtük olarak nasıl oluşturulduğunu açıklar.

DataSet içinde XML kullanma
xml verileri olarak ilişkisel DataSet yapı ve verilerin nasıl yüklenip kalıcı hale nasıl yapılacağını açıklar.

Ayrıca bkz.