Udostępnij za pośrednictwem


Generowanie relacji elementu DataSet na podstawie schematu XML (XSD)

W obiekcie DataSettworzy się skojarzenie między co najmniej dwiema kolumnami, tworząc relację nadrzędny-podrzędny. Istnieją trzy sposoby reprezentowania relacji Zestawu danych w schemacie języka definicji schematu XML (XSD):

  • Określ zagnieżdżone typy złożone.

  • Użyj adnotacji msdata:Relationship .

  • Określ element xs:keyref bez adnotacji msdata:ConstraintOnly.

Zagnieżdżone typy złożone

Zagnieżdżone złożone definicje typów w schemacie wskazują relacje nadrzędny-podrzędny elementów. Poniższy fragment schematu XML pokazuje, że OrderDetail jest elementem podrzędnym elementu Order .

<xs:element name="Order">  
  <xs:complexType>  
     <xs:sequence>
       <xs:element name="OrderDetail" />  
           <xs:complexType>
           </xs:complexType>  
     </xs:sequence>  
  </xs:complexType>  
</xs:element>  

Proces mapowania schematu XML tworzy tabele w zestawie danych , które odpowiadają zagnieżdżonym typom złożonym w schemacie. Tworzy również dodatkowe kolumny, które są używane jako-nadrzędne kolumny podrzędne dla wygenerowanych tabel. Należy pamiętać, że te-nadrzędne kolumny podrzędne określają relacje, które nie są takie same jak określanie ograniczeń klucza podstawowego/klucza obcego.

msdata:Adnotacja relacji

Adnotacja msdata:Relationship umożliwia jawne określenie relacji nadrzędny-podrzędny między elementami w schemacie, które nie są zagnieżdżone. Poniższy przykład przedstawia strukturę elementu Relacja .

<msdata:Relationship name="CustOrderRelationship"
msdata:parent=""
msdata:child=""
msdata:parentkey=""
msdata:childkey="" />  

Atrybuty adnotacji msdata:Relationship identyfikują elementy zaangażowane w relację nadrzędny-podrzędny, a także elementy parentkey i childkey oraz atrybuty zaangażowane w relację. Proces mapowania używa tych informacji do generowania tabel w zestawie danych i tworzenia relacji klucza podstawowego/klucza obcego między tymi tabelami.

Na przykład poniższy fragment schematu określa elementy Order i OrderDetail na tym samym poziomie (nie zagnieżdżone). Schemat określa adnotację msdata:Relationship , która określa relację nadrzędny-podrzędny między tymi dwoma elementami. W takim przypadku należy określić jawną relację przy użyciu adnotacji 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>  

Proces mapowania używa elementu Relacja do utworzenia relacji nadrzędny-podrzędny między kolumną OrderNumber w tabeli Order i kolumną OrderNo w tabeli OrderDetail w zestawie danych. Proces mapowania określa tylko relację; Nie określa on automatycznie żadnych ograniczeń dotyczących wartości w tych kolumnach, podobnie jak ograniczenia klucza podstawowego/klucza obcego w relacyjnych bazach danych.

W tej sekcji

Mapowanie niejawnych relacji między zagnieżdżonymi elementami schematu
Opisuje ograniczenia i relacje, które są niejawnie tworzone w zestawie danych , gdy zagnieżdżone elementy są napotykane w schemacie XML.

Mapowanie relacji określonych dla zagnieżdżonych elementów
Opisuje sposób jawnego ustawiania relacji w zestawie danych dla zagnieżdżonych elementów w schemacie XML.

Określanie relacji między elementami bez zagnieżdżania
Opisuje sposób tworzenia relacji w zestawie danych między elementami schematu XML, które nie są zagnieżdżone.

Pobieranie relacyjnej struktury elementu DataSet ze schematu XML (XSD)
Opisuje strukturę relacyjną lub schemat zestawu danych utworzonego na podstawie schematu języka definicji schematu XML (XSD).

Mapowanie ograniczeń schematu XML (XSD) na ograniczenia elementu DataSet
Opisuje elementy schematu XML używane do tworzenia unikatowych i obcych ograniczeń klucza w zestawie danych.

Zobacz też