Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta seção fornece uma visão geral de como o esquema relacional de um DataSet é criado a partir de um documento de esquema XSD (XML Schema Definition Language). Em geral, para cada complexType elemento filho de um elemento de esquema, uma tabela é gerada no DataSet. A estrutura da tabela é determinada pela definição do tipo complexo. As tabelas são criadas no DataSet para elementos de nível superior no esquema. No entanto, uma tabela só é criada para um elemento de nível complexType superior quando o complexType elemento é aninhado dentro de outro complexType elemento, caso em que o elemento aninhado complexType é mapeado para um DataTable dentro do DataSet.
Para obter mais informações sobre o XSD, consulte o Esquema XML Parte 0 do World Wide Web Consortium (W3C): Recomendação de Primer, o Esquema XML Parte 1: Recomendação de Estruturas e o Esquema XML Parte 2: Recomendação de Tipos de Dados.
O exemplo seguinte demonstra um Esquema XML onde customers é o elemento filho do MyDataSet elemento, que é um DataSet elemento.
<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>
No exemplo anterior, o elemento customers é um elemento de tipo complexo. Portanto, a definição de tipo complexo é analisada e o processo de mapeamento cria a tabela a seguir.
Customers (CustomerID, CompanyName, Phone)
O tipo de dados de cada coluna na tabela é derivado do tipo de esquema XML do elemento ou atributo correspondente especificado.
Observação
Se o elemento customers for de um tipo de dados de esquema XML simples, como inteiro, nenhuma tabela será gerada. As tabelas são criadas apenas para os elementos de nível superior que são tipos complexos.
No seguinte Esquema XML, o Schema elemento tem dois filhos de elementos, InStateCustomers e 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>
Ambos os elementos filho InStateCustomers e OutOfStateCustomers são elementos de tipo complexo (customerType). Portanto, o processo de mapeamento gera as duas tabelas idênticas a seguir no DataSet.
InStateCustomers (CustomerID, CompanyName, Phone)
OutOfStateCustomers (CustomerID, CompanyName, Phone)
Na presente seção
Mapear as restrições do esquema XML (XSD) para as restrições do conjunto de dados Descreve os elementos XML Schema usados para criar restrições de chave únicas e estrangeiras num DataSet.
Gerar Relações de DataSet a partir do Esquema XML (XSD) Descreve os elementos do XML Schema usados para criar relações entre colunas de tabela num DataSet.
Restrições e Relações do Esquema XML Descreve como as relações são criadas implicitamente ao usar elementos XML Schema para criar restrições num DataSet.
Seções relacionadas
Utilização de XML num DataSet Descreve como carregar e persistir a estrutura relacional e os dados num DataSet como dados XML.