Gegevenssetrelaties genereren van XML-schema (XSD)
In een DataSetformulier vormt u een koppeling tussen twee of meer kolommen door een relatie tussen bovenliggende en onderliggende items te maken. Er zijn drie manieren om een DataSet-relatie binnen een XSD-schema (XML Schema Definition Language) weer te geven:
Geneste complexe typen opgeven.
Gebruik de annotatie msdata:Relationship .
Geef een xs:keyref op zonder de annotatie msdata:ConstraintOnly .
Geneste complexe typen
Geneste complexe typedefinities in een schema geven de relaties tussen bovenliggende en onderliggende elementen aan. In het volgende XML-schemafragment ziet u dat OrderDetail een onderliggend element van het element Order is.
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderDetail" />
<xs:complexType>
</xs:complexType>
</xs:sequence>
</xs:complexType>
</xs:element>
Met het toewijzingsproces voor XML-schema's worden tabellen gemaakt in de DataSet die overeenkomen met de geneste complexe typen in het schema. Er worden ook extra kolommen gemaakt die worden gebruikt als bovenliggende-onderliggende kolommen voor de gegenereerde tabellen. Houd er rekening mee dat deze bovenliggende-onderliggende kolommen relaties opgeven, wat niet hetzelfde is als het opgeven van beperkingen voor primaire sleutels/refererende sleutels.
msdata:Relatieaantekening
Met de annotatie msdata:Relationship kunt u expliciet bovenliggende/onderliggende relaties opgeven tussen elementen in het schema die niet zijn genest. In het volgende voorbeeld ziet u de structuur van het element Relatie .
<msdata:Relationship name="CustOrderRelationship"
msdata:parent=""
msdata:child=""
msdata:parentkey=""
msdata:childkey="" />
De kenmerken van de annotatie msdata:Relationship identificeren de elementen die betrokken zijn bij de relatie tussen bovenliggende en onderliggende elementen, evenals de elementen en kenmerken van de bovenliggende en onderliggende sleutel die bij de relatie horen. Het toewijzingsproces gebruikt deze informatie voor het genereren van tabellen in de DataSet en het maken van de primaire sleutel-/refererende-sleutelrelatie tussen deze tabellen.
In het volgende schemafragment worden bijvoorbeeld Order- en OrderDetail-elementen op hetzelfde niveau opgegeven (niet genest). In het schema wordt een annotatie msdata:Relationship opgegeven, waarmee de relatie tussen deze twee elementen wordt opgegeven. In dit geval moet een expliciete relatie worden opgegeven met behulp van de annotatie msdata:Relationship .
<xs:element name="MyDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="OrderDetail">
<xs:complexType>
</xs:complexType>
</xs:element>
<xs:element name="Order">
<xs:complexType>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:appinfo>
<msdata:Relationship name="OrdOrdDetailRelation"
msdata:parent="Order"
msdata:child="OrderDetail"
msdata:parentkey="OrderNumber"
msdata:childkey="OrderNo"/>
</xs:appinfo>
</xs:annotation>
Het toewijzingsproces maakt gebruik van het element Relatie om een bovenliggende-onderliggende relatie te maken tussen de kolom OrderNummer in de tabel Order en de kolom OrderNo in de tabel OrderDetail in de DataSet. Het toewijzingsproces geeft alleen de relatie op; Er worden niet automatisch beperkingen opgegeven voor de waarden in deze kolommen, net zoals de beperkingen van de primaire sleutel/refererende sleutel in relationele databases.
In dit gedeelte
Impliciete relaties tussen geneste schema-elementen toewijzen
Hierin worden de beperkingen en relaties beschreven die impliciet worden gemaakt in een DataSet wanneer geneste elementen worden aangetroffen in het XML-schema.
Kaartrelaties opgegeven voor geneste elementen
Hierin wordt beschreven hoe u expliciet relaties instelt in een DataSet voor geneste elementen in XML-schema.
Relaties opgeven tussen elementen zonder nesting
Hierin wordt beschreven hoe u relaties maakt in een DataSet tussen XML-schema-elementen die niet zijn genest.
Gerelateerde secties
Relationele structuur van DataSet afleiden uit XML-schema (XSD)
Beschrijft de relationele structuur of het schema van een DataSet die is gemaakt op basis van het XSD-schema (XML Schema Definition Language).
Beperkingen voor XML-schema (XSD) toewijzen aan datasetbeperkingen
Hierin worden de XML-schema-elementen beschreven die worden gebruikt voor het maken van unieke en refererende sleutelbeperkingen in een DataSet.