Megosztás a következőn keresztül:


DataSet-relációs struktúra származtatása XML-sémából (XSD)

Ez a szakasz áttekintést nyújt arról, hogyan épül fel egy DataSet XML-sémadefiníciós nyelvből (XSD) készült sémadokumentum relációs sémája. A sémaelem minden gyermekeleméhez complexType általában egy tábla jön létre a DataSet. A táblázat szerkezetét az összetett típus definíciója határozza meg. A rendszer táblákat hoz létre a DataSet séma legfelső szintű elemeihez. A rendszer azonban csak akkor hoz létre táblázatot egy legfelső szintű complexType elemhez, ha az complexType elem egy másik complexType elembe van ágyazva, ebben az esetben a beágyazott complexType elem egy adott elemhez DataTable van leképezve.DataSet

Az XSD-ről további információt a World Wide Web Consortium (W3C) XML Schema Part 0: Primer Recommendation, az XML Schema Part 1: Structures Recommendation és az XML Schema Part 2: Datatypes Recommendation című részben talál.

Az alábbi példa egy XML-sémát mutat be, amely customers az elem gyermekelemeMyDataSet, amely adathalmazelem.

<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>  

Az előző példában az elem customers egy összetett típusú elem. Ezért a komplex típusdefiníció elemzésre kerül, és a leképezési folyamat a következő táblát hozza létre.

Customers (CustomerID, CompanyName, Phone)  

A táblázat egyes oszlopainak adattípusa a megadott megfelelő elem vagy attribútum XML-sématípusából származik.

Feljegyzés

Ha az elem customers egy egyszerű XML-séma adattípusa, például egész szám, akkor a rendszer nem hoz létre táblát. A táblák csak az összetett típusok legfelső szintű elemeihez jönnek létre.

A következő XML-sémában a sémaelem két elemből áll, InStateCustomers és OutOfStateCustomersa .

<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>  

A gyermek és a InStateCustomersOutOfStateCustomers gyermek elem egyaránt összetett típuselem (customerType). Ezért a leképezési folyamat a következő két azonos táblát hozza létre a DataSet.

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

A szakasz tartalma

XML-séma (XSD) korlátozásai adathalmaz-korlátozásokhoz való leképezése
A azokat az XML-sémaelemeket ismerteti, amelyek egyedi és idegenkulcs-megkötések létrehozására szolgálnak.DataSet

Adatkészlet-kapcsolatok létrehozása XML-sémából (XSD)
A táblázatoszlopok DataSetközötti kapcsolatok létrehozásához használt XML-sémaelemeket ismerteti.

XML-séma korlátozásai és kapcsolatai
Ismerteti, hogyan jönnek létre a kapcsolatok implicit módon, amikor XML-sémaelemeket használnak kényszerek létrehozására egy DataSet.

XML használata adathalmazban
Ismerteti, hogyan töltheti be és őrizheti meg a relációs struktúrát és az adatokat XML-adatokként DataSet .

Lásd még