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 DataSet
bir 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 DataSet
bir 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ş DataSet
tabloyu 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ı DataSet
oluşturmak için kullanılan XML Şeması öğelerini açıklar.
XML Şemasından (XSD) DataSet İlişkileri Oluşturma
içindeki tablo sütunları DataSet
arası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 DataSet
kısıtlamalar oluşturmak için XML Şeması öğeleri kullanılırken ilişkilerin örtük olarak nasıl oluşturulduğunu açıklar.
İlgili Bölümler
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.