다음을 통해 공유


XSD(XML 스키마)에서 데이터 세트 관계 생성

DataSet에서 부모-자식 관계를 만들어 두 개 이상의 열 간에 연관성을 형성합니다. XSD(XML 스키마 정의 언어) 스키마 내에서 관계를 나타내는 DataSet 세 가지 방법이 있습니다.

  • 중첩된 복합 형식을 지정합니다.

  • msdata:Relationship 주석을 사용합니다.

  • msdata:ConstraintOnly 주석 없이 xs:keyref를 지정합니다.

중첩된 복합 형식

스키마의 중첩된 복합 형식 정의는 요소의 부모-자식 관계를 나타냅니다. 다음 XML 스키마 조각은 Order 요소의 자식 요소로 OrderDetail가 사용됨을 보여줍니다.

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

XML 스키마 매핑 프로세스는 스키마의 DataSet 중첩된 복합 형식에 해당하는 테이블을 만듭니다. 또한 생성된 테이블에 대한 부모-자식 열로 사용되는 추가 열을 만듭니다. 이러한 부모-자식 열은 기본 키/외래 키 제약 조건을 지정하는 것과 동일하지 않은 관계를 지정합니다.

msdata:관계 주석

msdata:Relationship 주석을 사용하면 중첩되지 않은 스키마의 요소 간에 부모-자식 관계를 명시적으로 지정할 수 있습니다. 다음 예제에서는 요소의 Relationship 구조를 보여줍니다.

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

msdata:Relationship 주석의 특성은 부모-자식 관계에 관련된 요소뿐만 아니라 parentkey 관계에 관련된 요소 및 childkey 특성을 식별합니다. 매핑 프로세스는 이 정보를 사용하여 테이블을 생성하고 이러한 테이블 DataSet 간에 기본 키/외래 키 관계를 만듭니다.

예를 들어, 다음 스키마 조각은 같은 수준(중첩되지 않음)에 있는 OrderOrderDetail 요소를 지정합니다. 스키마는 msdata:Relationship 주석을 지정합니다. 이 주석은 이러한 두 요소 간의 부모-자식 관계를 지정합니다. 이 경우 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>

매핑 프로세스는 Relationship 요소를 사용하여 Order 테이블의 OrderNumber 열과 OrderDetail 테이블의 OrderNo 열 간에 부모-자식 관계를 DataSet 내에서 생성합니다. 매핑 프로세스는 관계만 지정합니다. 관계형 데이터베이스의 기본 키/외래 키 제약 조건과 마찬가지로 이러한 열의 값에 대한 제약 조건은 자동으로 지정하지 않습니다.

이 섹션 안에

중첩된 스키마 요소 간의 암시적 관계 매핑 XML 스키마에서 DataSet 중첩된 요소가 발생할 때 암시적으로 만들어지는 제약 조건 및 관계에 대해 설명합니다.

중첩된 요소에 대해 지정된 지도 관계 XML 스키마의 중첩된 요소에 DataSet 대한 관계를 명시적으로 설정하는 방법을 설명합니다.

중첩이 없는 요소 간 관계 지정 중첩되지 않은 XML 스키마 요소 간에 관계를 DataSet 만드는 방법을 설명합니다.

XSD(XML 스키마)에서 데이터 세트 관계형 구조 파생 XSD(XML 스키마 정의 언어) 스키마 DataSet 에서 만든 관계형 구조 또는 스키마에 대해 설명합니다.

XSD(XML 스키마) 제약 조건을 데이터 세트 제약 조건에 매핑DataSet에서 고유 및 외래 키 제약 조건을 만드는 데 사용되는 XML 스키마 요소에 대해 설명합니다.

참고하십시오