DataSet에서 부모-자식 관계를 만들어 두 개 이상의 열 간에 연관성을 형성합니다. XSD(XML 스키마 정의 언어) 스키마 내에서 데이터 세트 관계를 나타내는 세 가지 방법이 있습니다.
중첩된 복합 형식을 지정합니다.
msdata:Relationship 주석을 사용합니다.
msdata:ConstraintOnly 주석 없이 xs:keyref를 지정합니다.
중첩된 복합 형식
스키마의 중첩된 복합 형식 정의는 요소의 부모-자식 관계를 나타냅니다. 다음 XML 스키마 조각은 OrderDetail 이 Order 요소의 자식 요소임을 보여줍니다.
<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 주석의 특성은 부모-자식 관계에 관련된 요소뿐만 아니라 관계에 관련된 부모 키 및 자식 키 요소 및 특성을 식별합니다. 매핑 프로세스는 이 정보를 사용하여 DataSet 에서 테이블을 생성하고 이러한 테이블 간에 기본 키/외래 키 관계를 만듭니다.
예를 들어 다음 스키마 조각은 같은 수준의 Order 및 OrderDetail 요소를 지정합니다(중첩되지 않음). 스키마는 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 열과 DataSet의 OrderDetail 테이블에 있는 OrderNo 열 간에 부모-자식 관계를 만듭니다. 매핑 프로세스는 관계만 지정합니다. 관계형 데이터베이스의 기본 키/외래 키 제약 조건과 마찬가지로 이러한 열의 값에 대한 제약 조건은 자동으로 지정하지 않습니다.
이 섹션 안에
중첩된 스키마 요소 간의 암시적 관계 매핑
XML 스키마에서 중첩된 요소가 발생할 때 DataSet 에서 암시적으로 만들어지는 제약 조건 및 관계에 대해 설명합니다.
중첩된 요소에 대해 지정된 지도 관계
XML 스키마의 중첩된 요소에 대한 데이터 세트 의 관계를 명시적으로 설정하는 방법을 설명합니다.
중첩 없이 요소 간 관계를 지정하기
중첩되지 않은 XML 스키마 요소 간에 DataSet 에서 관계를 만드는 방법을 설명합니다.
관련 섹션
XSD(XML 스키마)에서 데이터 세트 관계형 구조 파생
XSD(XML 스키마 정의 언어) 스키마에서 만든 DataSet 의 관계형 구조 또는 스키마에 대해 설명합니다.
XSD(XML 스키마) 제약 조건을 데이터 세트 제약 조건에 매핑
DataSet에서 고유 및 외래 키 제약 조건을 만드는 데 사용되는 XML 스키마 요소에 대해 설명합니다.