Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Schemat języka definicji schematu XML (XSD) może zawierać złożone typy zagnieżdżone wewnątrz siebie. W takim przypadku proces mapowania stosuje mapowanie domyślne i tworzy następujące elementy w DataSet:
Jedna tabela dla każdego z typów złożonych: nadrzędnego i podrzędnego.
Jeśli w obiekcie nadrzędnym nie istnieje żadne unikatowe ograniczenie, jedna dodatkowa kolumna klucza podstawowego dla definicji tabeli o nazwie TableName_Id gdzie TableName jest nazwą tabeli nadrzędnej.
Ograniczenie klucza podstawowego w tabeli nadrzędnej identyfikujące dodatkową kolumnę jako klucz podstawowy (przez ustawienie
IsPrimaryKeywłaściwości na True). Ograniczenie ma nazwę Constraint#, gdzie # to 1, 2, 3 itd. Na przykład domyślna nazwa pierwszego ograniczenia to Constraint1.Ograniczenie klucza obcego w tabeli podrzędnej identyfikujące dodatkową kolumnę jako klucz obcy odwołujący się do klucza podstawowego tabeli nadrzędnej. Ograniczenie ma nazwę ParentTable_ChildTable, gdzie ParentTable jest nazwą tabeli nadrzędnej, a ChildTable jest nazwą tabeli podrzędnej.
Relacja danych między tabelą nadrzędną a tabelą podrzędną.
Poniższy przykład przedstawia schemat, w którym OrderDetail jest elementem podrzędnym Order.
<xs:schema id="MyDataSet" 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="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderNumber" type="xs:string" />
<xs:element name="EmpNumber" type="xs:string" />
<xs:element name="OrderDetail">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderNo" type="xs:string" />
<xs:element name="ItemNo" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Proces mapowania schematu XML tworzy następujące elementy w zestawie danych:
Jedna
Orderi jednaOrderDetailtabela.Order(OrderNumber, EmpNumber, Order_Id) OrderDetail(OrderNo, ItemNo, Order_Id)Unikatowe ograniczenie w
Ordertabeli. Należy pamiętać, żeIsPrimaryKeywłaściwość ma ustawioną wartość True.ConstraintName: Constraint1 Type: UniqueConstraint Table: Order Columns: Order_Id IsPrimaryKey: TrueOgraniczenie klucza obcego w tabeli
OrderDetail.ConstraintName: Order_OrderDetail Type: ForeignKeyConstraint Table: OrderDetail Columns: Order_Id RelatedTable: Order RelatedColumns: Order_IdRelacja między tabelami
OrderiOrderDetail. WłaściwośćNesteddla tej relacji jest ustawiona naTrue, ponieważ elementyOrderiOrderDetailsą zagnieżdżone w schemacie.ParentTable: Order ParentColumns: Order_Id ChildTable: OrderDetail ChildColumns: Order_Id ParentKeyConstraint: Constraint1 ChildKeyConstraint: Order_OrderDetail RelationName: Order_OrderDetail Nested: True