Derivazione della struttura relazionale di dataset da XML Schema (XSD)Deriving DataSet Relational Structure from XML Schema (XSD)

Questa sezione fornisce una panoramica della compilazione dello schema relazionale di un tipo DataSet da un documento basato sullo schema XSD (XML Schema Definition Language).This section provides an overview of how the relational schema of a DataSet is built from an XML Schema definition language (XSD) schema document. In generale, per ogni complexType elemento figlio di un elemento dello schema, in cui viene generata una tabella di DataSet.In general, for each complexType child element of a schema element, a table is generated in the DataSet. La struttura della tabella è determinata dalla definizione del tipo complesso.The table structure is determined by the definition of the complex type. Le tabelle vengono create nel DataSet per gli elementi di primo livello nello schema.Tables are created in the DataSet for top-level elements in the schema. Tuttavia, una tabella viene creata solo per un livello superiore complexType elemento quando il complexType è annidato l'elemento all'interno di un altro complexType elemento, in cui caso nidificata complexType elemento viene mappato a un DataTable all'interno del DataSet.However, a table is only created for a top-level complexType element when the complexType element is nested inside another complexType element, in which case the nested complexType element is mapped to a DataTable within the DataSet.

Per ulteriori informazioni su XSD, vedere di World Wide Web Consortium (W3C) XML Schema Part 0: Primer raccomandazione, XML Schema Part 1: Structures Recommendation e XML Schema Part 2: Datatypes Recommendation, disponibile all'indirizzo http://www.w3.org/ .For more information about the XSD, see the World Wide Web Consortium (W3C) XML Schema Part 0: Primer Recommendation, the XML Schema Part 1: Structures Recommendation, and the XML Schema Part 2: Datatypes Recommendation, located at http://www.w3.org/.

Nell'esempio seguente viene illustrato un XML Schema in cui customers è l'elemento figlio del MyDataSet elemento, ovvero un DataSet elemento.The following example demonstrates an XML Schema where customers is the child element of the MyDataSet element, which is a 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>  

L'elemento customers nell'esempio precedente è un elemento di tipo complesso.In the preceding example, the element customers is a complex type element. La definizione di tipo complesso viene quindi analizzata e la tabella seguente viene creata dal processo di mapping.Therefore, the complex type definition is parsed, and the mapping process creates the following table.

Customers (CustomerID , CompanyName, Phone)  

Il tipo di dati relativo a ogni colonna della tabella viene derivato dal tipo di XML Schema relativo al corrispondente elemento o attributo specificato.The data type of each column in the table is derived from the XML Schema type of the corresponding element or attribute specified.

Nota

Se l'elemento customers è di un tipo di dati XML Schema semplice, ad esempio intero, verrà generata alcuna tabella.If the element customers is of a simple XML Schema data type such as integer, no table is generated. Le tabelle vengono create solo per gli elementi di livello principale di tipo complesso.Tables are only created for the top-level elements that are complex types.

Nello Schema XML seguente, il Schema elemento dispone di due elementi figlio, InStateCustomers e OutOfStateCustomers.In the following XML Schema, the Schema element has two element children, InStateCustomers and 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>  

Entrambi gli elementi figlio InStateCustomers e OutOfStateCustomers sono elementi di tipo complesso (customerType).Both the InStateCustomers and the OutOfStateCustomers child elements are complex type elements (customerType). Pertanto, il processo di mapping genera le due tabelle identiche seguenti nel DataSet.Therefore, the mapping process generates the following two identical tables in the DataSet.

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

In questa sezioneIn This Section

Mapping tra vincoli XML Schema (XSD) e vincoli di DataSetMapping XML Schema (XSD) Constraints to DataSet Constraints
Vengono descritti gli elementi di XML Schema utilizzati per creare vincoli di chiave esterni e univoci in un DataSet.Describes the XML Schema elements used to create unique and foreign key constraints in a DataSet.

Generazione di relazioni tra DataSet da XML Schema (XSD)Generating DataSet Relations from XML Schema (XSD)
Vengono descritti gli elementi di XML Schema utilizzati per creare relazioni tra le colonne della tabella in un DataSet.Describes the XML Schema elements used to create relations between table columns in a DataSet.

Vincoli e relazioni di XML SchemaXML Schema Constraints and Relationships
Viene descritto come le relazioni vengono create in modo implicito quando si usano elementi di XML Schema per creare vincoli in un DataSet.Describes how relations are created implicitly when using XML Schema elements to create constraints in a DataSet.

Uso di XML in un set di datiUsing XML in a DataSet
Viene descritto come caricare e mantenere la struttura relazionale e i dati in un DataSet come dati XML.Describes how to load and persist the relational structure and data in a DataSet as XML data.

Vedere ancheSee Also

Provider gestiti ADO.NET e Centro per sviluppatori di set di datiADO.NET Managed Providers and DataSet Developer Center