Share via


Relationele structuur van DataSet afleiden uit XML-schema (XSD)

In deze sectie vindt u een overzicht van hoe het relationele schema van een schema DataSet is gebouwd op basis van een XSD-schemadocument (XML Schema Definition Language). Over het algemeen wordt voor elk complexType onderliggend element van een schema-element een tabel gegenereerd in het DataSet. De tabelstructuur wordt bepaald door de definitie van het complexe type. Tabellen worden gemaakt in de voor elementen op het DataSet hoogste niveau in het schema. Er wordt echter alleen een tabel gemaakt voor een element op het hoogste niveau complexType wanneer het complexType element in een ander complexType element is genest. In dat geval wordt het geneste complexType element toegewezen aan een DataTable element binnen het DataSetelement.

Zie het W3C-schemaonderdeel 0 van het World Wide Web Consortium (W3C): Primer Recommendation, the XML Schema Part 1: Structures Recommendation, and the XML Schema Part 2: Datatypes Recommendation.

In het volgende voorbeeld ziet u een XML-schema waarin customers het onderliggende element van het MyDataSet element is, een DataSet-element .

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

In het voorgaande voorbeeld is het element customers een complex typeelement. De definitie van het complexe type wordt daarom geparseerd en het toewijzingsproces maakt de volgende tabel.

Customers (CustomerID, CompanyName, Phone)  

Het gegevenstype van elke kolom in de tabel is afgeleid van het XML-schematype van het bijbehorende element of kenmerk dat is opgegeven.

Notitie

Als het element customers van een eenvoudig gegevenstype XML-schema is, zoals geheel getal, wordt er geen tabel gegenereerd. Tabellen worden alleen gemaakt voor de elementen op het hoogste niveau die complexe typen zijn.

In het volgende XML-schema heeft het schema-element twee onderliggende elementen en OutOfStateCustomersInStateCustomers .

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

Zowel de InStateCustomers onderliggende elementen als de OutOfStateCustomers onderliggende elementen zijn complexe typeelementen (customerType). Daarom genereert het toewijzingsproces de volgende twee identieke tabellen in de DataSet.

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

In dit gedeelte

Beperkingen voor XML-schema (XSD) toewijzen aan datasetbeperkingen
Beschrijft de XML-schema-elementen die worden gebruikt voor het maken van unieke en refererende sleutelbeperkingen in een DataSet.

Gegevenssetrelaties genereren van XML-schema (XSD)
Beschrijft de XML-schema-elementen die worden gebruikt voor het maken van relaties tussen tabelkolommen in een DataSet.

Beperkingen en relaties voor XML-schema's
Beschrijft hoe relaties impliciet worden gemaakt wanneer u XML-schema-elementen gebruikt om beperkingen in een DataSet.

XML gebruiken in een dataset
Hierin wordt beschreven hoe u de relationele structuur en gegevens in een DataSet XML-gegevens laadt en persistent maakt.

Zie ook