Delen 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 voor elementen op het hoogste niveau binnen de `DataSet` 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.

Voor meer informatie over de XSD, zie de aanbeveling van het World Wide Web Consortium (W3C) XML Schema Deel 0: Primer, de XML Schema Deel 1: Structuren Aanbeveling, en de XML Schema Deel 2: Datatypes Aanbeveling.

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.

Opmerking

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 elementkinderen: InStateCustomers en 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>  

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

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

In deze sectie

XML-schema (XSD)-beperkingen mappen naar beperkingen van dataset
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
Het beschrijft hoe relaties impliciet tot stand komen wanneer u XML-schema-elementen gebruikt om beperkingen in een DataSet te creƫren.

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

Zie ook