ADO.NET 데이터 세트

DataSet 개체는 연결되지 않은 분산 데이터 시나리오를 ADO.NET을 사용하여 지원하는 데 핵심적인 역할을 수행합니다. DataSet는 데이터 원본에 관계없이 일관성 있는 관계형 프로그래밍 모델을 제공하는 데이터의 메모리 상주 표현입니다. 이 개체는 다양한 여러 데이터 소스에 사용하거나 XML 데이터에 사용할 수 있을 뿐 아니라 이 개체를 사용하여 애플리케이션의 로컬 데이터를 관리할 수도 있습니다. DataSet는 관련 테이블, 제약 조건 및 테이블 간의 관계를 포함하는 완전한 데이터 집합을 나타냅니다. 다음 그림은 DataSet 개체 모델을 보여 줍니다.

ADO.Net graphic
DataSet 개체 모델

DataSet의 메서드 및 개체는 관계형 데이터베이스 모델의 메서드 및 개체와 일치합니다.

DataSet는 유지될 수 있으며 해당 내용을 XML로 로드하고 해당 스키마를 XSD(XML 스키마 정의 언어) 스키마로 다시 로드할 수 있습니다. 자세한 내용은 데이터 세트에서 XML 사용을 참조하세요.

DataTableCollection

ADO.NET DataSet에는 DataTable 개체로 표시되는 0개 이상의 테이블 컬렉션이 포함되어 있습니다. DataTableCollection에는 DataSet의 모든 DataTable 개체가 포함됩니다.

DataTableSystem.Data 네임스페이스에 정의되며 메모리 상주형 데이터를 단일 테이블로 나타냅니다. 여기에는 DataColumnCollection에 의해 표현되는 열의 컬렉션과 ConstraintCollection에 의해 표현되는 제약 조건의 컬렉션이 포함됩니다. 이 두 컬렉션은 테이블의 스키마를 정의합니다. DataTable에는 DataRowCollection에 의해 표현되는 행의 컬렉션도 포함됩니다. 이 컬렉션에는 테이블의 데이터가 들어 있습니다. 이와 함께 DataRow는 현재 버전과 원래 버전을 모두 보유하므로 행에 저장된 값에 대한 변경 사항을 식별할 수 있습니다.

DataView 클래스

DataView는 데이터 바인딩 애플리케이션에서 자주 사용되는 기능으로, 이 기능을 사용하면 DataTable에 저장되어 있는 데이터에 대해 서로 다른 뷰를 만들 수 있습니다. DataView를 사용하면 테이블의 데이터를 여러 정렬 순서로 노출시킬 수 있으며 행 상태에 따라 또는 필터 식을 기준으로 데이터를 필터링할 수 있습니다. 자세한 내용은 DataView를 참조하세요.

DataRelationCollection

DataSet에는 해당 DataRelationCollection 개체의 관계가 포함됩니다. DataRelation 개체에 의해 표현되는 관계는 하나의 DataTable에 있는 행을 다른 DataTable에 있는 행과 연결합니다. 이 관계는 관계형 데이터베이스의 기본 키 열과 외래 키 열 간에 존재하는 조인 경로와 유사합니다. DataRelation은 두 DataSet 테이블에서 일치하는 열을 식별합니다.

관계를 사용하면 DataSet의 한 테이블에서 다른 테이블로 탐색할 수 있습니다. DataRelation의 필수 요소는 관계의 이름, 관련되는 테이블의 이름 및 각 테이블에 있는 관련 열입니다. DataColumn 개체의 배열을 키 열로 지정하면 테이블당 두 개 이상의 열에 대한 관계를 빌드할 수 있습니다. DataRelationCollection에 관계를 추가한 경우에는 UniqueKeyConstraintForeignKeyConstraint를 선택적으로 추가하여 관련 열 값이 변경될 때 무결성 제약 조건을 적용할 수 있습니다.

자세한 내용은 DataRelations 추가를 참조하세요.

XML

XML 스트림이나 문서에서 DataSet를 채울 수 있습니다. XML 스트림이나 문서를 사용하여 데이터, 스키마 정보 또는 두 가지 모두를 DataSet에 제공할 수 있습니다. XML 스트림이나 문서에서 제공되는 정보를 DataSet에 있는 기존 데이터나 스키마 정보와 결합할 수 있습니다. 자세한 내용은 데이터 세트에서 XML 사용을 참조하세요.

ExtendedProperties

DataSet, DataTableDataColumn은 모두 ExtendedProperties 속성을 가집니다. ExtendedProperties는 결과 집합을 생성하는 데 사용한 SELECT 문이나 데이터가 생성된 시간 같은 사용자 지정 정보를 배치할 수 있는 PropertyCollection입니다. ExtendedProperties 컬렉션은 DataSet에 대한 스키마 정보와 함께 유지됩니다.

LINQ to DataSet

LINQ to DataSet는 DataSet에 저장된 연결이 끊긴 데이터에 대한 언어 통합 쿼리 기능을 제공합니다. LINQ to DataSet는 표준 LINQ 구문을 사용하며 Visual Studio IDE를 사용할 때 컴파일 타임 구문 검사, 정적 입력 및 IntelliSense 지원을 제공합니다.

자세한 내용은 LINQ to DataSet을 참조하세요.

참고 항목