Souhrn procesu odvození schématu datové sady
Proces odvození nejprve určí z dokumentu XML, které prvky budou odvozeny jako tabulky. Ze zbývajícího kódu XML proces odvozování určuje sloupce pro tyto tabulky. U vnořených tabulek vygeneruje proces odvozování vnořené DataRelation objekty a ForeignKeyConstraint objekty.
Následuje stručný souhrn pravidel odvozování:
Prvky s atributy jsou odvozeny jako tabulky.
Prvky, které mají podřízené prvky, se odvozují jako tabulky.
Prvky, které se opakují, se odvozují jako jedna tabulka.
Pokud dokument nebo kořenový prvek nemá žádné atributy a žádné podřízené prvky, které by byly odvozeny jako sloupce, je odvozena jako .DataSet V opačném případě je prvek dokumentu odvozen jako tabulka.
Atributy se odvozují jako sloupce.
Prvky, které nemají žádné atributy nebo podřízené prvky a které se neopakují, jsou odvozeny jako sloupce.
U elementů, které jsou odvozeny jako vnořené tabulky v jiných elementech, které jsou také odvozeny jako tabulky, se mezi těmito dvěma tabulkami vytvoří vnořená relace DataRelation . Nový sloupec primárního klíče s názvem TableName_Id se přidá do obou tabulek a používá dataRelation. CizíKeyConstraint je vytvořen mezi dvěma tabulkami pomocí TableName_Id sloupce.
Pro prvky, které jsou odvozeny jako tabulky a které obsahují text, ale nemají žádné podřízené prvky, vytvoří se nový sloupec s názvem TableName_Text pro text každého z prvků. Pokud je prvek odvozen jako tabulka a má text, ale má také podřízené prvky, text bude ignorován.