Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le processus d’inférence détermine d’abord, à partir du document XML, quels éléments seront déduits sous forme de tables. À partir du xml restant, le processus d’inférence détermine les colonnes de ces tables. Pour les tables imbriquées, le processus d’inférence génère des objets et ForeignKeyConstraint imbriquésDataRelation.
Voici un bref résumé des règles d’inférence :
Les éléments qui ont des attributs sont déduits en tant que tables.
Les éléments qui ont des éléments enfants sont déduits en tant que tables.
Les éléments qui se répètent sont déduits sous la forme d’une table unique.
Si le document, ou la racine, l’élément n’a aucun attribut et aucun élément enfant qui serait déduit en tant que colonnes, il est déduit sous la forme d’un DataSet. Sinon, l’élément de document est déduit sous la forme d’une table.
Les attributs sont déduits sous forme de colonnes.
Les éléments qui n’ont pas d’attributs ou d’éléments enfants, et qui ne se répètent pas, sont déduits en tant que colonnes.
Pour les éléments déduits en tant que tables imbriquées dans d’autres éléments qui sont également déduits en tant que tables, une DataRelation imbriquée est créée entre les deux tables. Une nouvelle colonne clé primaire nommée TableName_Id est ajoutée aux deux tables et utilisée par DataRelation. Un ForeignKeyConstraint est créé entre les deux tables à l’aide de la colonne TableName_Id .
Pour les éléments déduits sous forme de tables et qui contiennent du texte, mais qui n’ont aucun élément enfant, une nouvelle colonne nommée TableName_Text est créée pour le texte de chacun des éléments. Si un élément est déduit sous la forme d’un tableau et a du texte, mais possède également des éléments enfants, le texte est ignoré.