CDaoIndexInfo 구조는 다음과 같은 형태:
구조체 CDaoIndexInfo {
nbsp;? CDaoIndexInfo ();?????????????????? / / 생성자
CString m_strName;????????????????? / / 기본
?? CDaoIndexFieldInfo * m_pFieldInfos;? / / 기본
?? 짧은 m_nFields;??????????????????? / / 기본
?? BOOL m_bPrimary;??????????????????? / / 보조
?? BOOL m_bUnique;???????????????????? / / 보조
?? BOOL m_bClustered;????????????????? / / 보조
?? BOOL m_bIgnoreNulls;??????????????? / / 보조
?? BOOL m_bRequired;?????????????????? / / 보조
?? BOOL m_bForeign;??????????????????? / / 보조
?? 긴 m_lDistinctCount;????????????? / / 모든
/ / 아래는 / / 구현 코멘트:
?? / / 소멸자, 그렇지 않으면 문서화
}(&N)
CDaoIndexInfo 구조에는 데이터 액세스 개체 (DAO)에 대해 정의 된 index 개체에 대 한 정보가 들어 있습니다. 기본, 보조, 그리고 위의 모든에 대 한 참조 정보를 CDaoTableDef 및 CDaoRecordset 클래스에서 GetIndexInfo 멤버 함수에 의해 반환 되는 방법을 나타내는합니다。
Index 개체는 MFC 클래스에 의해 표시 되지 않습니다. 대신 MFC 클래스 CDaoTableDef 또는 CDaoRecordset 개체를 원본으로 사용 하는 DAO 개체 Indexes 컬렉션 이라고 하는 index 개체의 컬렉션을 포함 합니다. 이러한 클래스의 인덱스 정보를 개별 항목에 액세스 하려면 멤버 함수를 공급 하거나 액세스할 수 있습니다 한 번에 모두 CDaoIndexInfo 개체와 포함 된 개체의 GetIndexInfo 멤버 함수를 호출 하 여。
CDaoIndexInfo 가 제대로 할당 하 고 m_pFieldInfos 의 인덱스 필드 정보를 할당 하려면 생성자와 소멸자。
회원
m_strName
Field 개체의 고유한 이름을. 자세한 내용은 DAO 도움말의 "Name 속성" 항목을 참조 하십시오.
m_pFieldInfos
Tabledef 또는 recordset 필드 인덱스에 있는 키 필드를 나타내는 CDaoIndexFieldInfo 개체의 배열에 대 한 포인터입니다. 각 개체 인덱스에 있는 필드를 식별합니다. 기본 인덱스 순서 오름차순입니다. Index 개체에는 각 레코드에 대 한 인덱스 키를 나타내는 필드를 하나 이상 가질 수 있습니다. 이러한 수 수 오름차순, 내림차순, 또는 조합。
m_nFields
M_pFieldInfos 에 저장 하는 필드 수。
m_bPrimary
기본 속성이 TRUE이면 index 개체가 기본 인덱스를 나타냅니다. 기본 인덱스는 미리 정의 된 순서로 테이블에서 모든 레코드를 고유 하 게 식별 하는 하나 이상의 필드로 구성 됩니다. 인덱스 필드는 고유 해야 하므로 Index 개체의 Unique 속성 또한 진정한 DAO에서 설정 됩니다. 기본 인덱스가 둘 이상의 필드로 구성 된 경우 각 필드에 중복 값을 포함할 수 있지만 인덱싱된 모든 필드의 값 조합은 각각 고유 해야 합니다. 기본 인덱스 테이블의 키로 구성 되며 일반적으로 기본 키와 동일한 필드를 포함。
테이블의 기본 키를 설정할 때 기본 키 테이블의 기본 인덱스 자동으로 정의 됩니다. 자세한 내용은 다음 웹 사이트를 참조 하십시오. "기본 속성"과 "고유 속성" DAO 도움말의 항목。
메모nbsp;??있을 수 있습니다, 대부분의 테이블에 대 한 기본 인덱스(&N)。
m_bUnique
Index 개체가 테이블의 고유 인덱스를 나타내는지 여부를 나타냅니다. 이 속성이 TRUE이면 index 개체가 고유 인덱스를 나타냅니다. 고유 인덱스는 논리적으로 고유한, 미리 정의 된 순서로 테이블에서 모든 레코드를 정렬 하는 하나 이상의 필드로 구성 됩니다. 인덱스가 하나의 필드로 구성 된 경우 해당 필드의 값 전체 테이블에 대해 고유 해야 합니다. 인덱스가 둘 이상의 필드로 구성 된 경우 각 필드에 중복 값을 포함할 수 있지만 인덱싱된 모든 필드의 값 조합은 각각 고유 해야 합니다.
Index 개체의 Unique 및 Primary 속성이 TRUE로 설정 하는 경우 인덱스가 고유 하며 기본: 미리 정의 된 논리적 순서로 테이블에서 모든 레코드를 고유 하 게 식별 합니다. Primary 속성을 FALSE로 설정 하는 경우 인덱스는 보조 인덱스가입니다. 보조 인덱스 (키와 키가 아닌) 테이블의 레코드에 대 한 식별자로 재직 하지 않고 논리적으로 미리 정의 된 순서로 레코드를 정렬。
자세한 내용은 다음 웹 사이트를 참조 하십시오. "기본 속성"과 "고유 속성" DAO 도움말의 항목。
m_bClustered
Index 개체가 테이블의 클러스터 된 인덱스를 나타내는지 여부를 나타냅니다. 이 속성이 TRUE이면 index 개체가 나타냅니다 클러스터형된 인덱스를; 그렇지 않으면, 그것을 하지 않습니다. 클러스터 된 인덱스가 하나 구성 또는 더 키 필드는, 미리 정의 된 순서로 테이블에서 모든 레코드를 정렬 함께 찍은. 클러스터형된 인덱스와 테이블의 데이터는 클러스터형된 인덱스에 의해 지정 된 순서로 그대로 저장 됩니다. 클러스터형된 인덱스는 테이블의 레코드에 대 한 효율적인 액세스를 제공합니다. 자세한 내용은 DAO 도움말의 "클러스터 속성" 항목을 참조 하십시오.
메모nbsp;??Jet 데이터베이스 엔진에서는 클러스터형된 인덱스를 지원 하지 않으므로 Microsoft Jet 데이터베이스 엔진을 사용 하는 데이터베이스에 대 한 Clustered 속성이 무시 됩니다(&N).
m_bIgnoreNulls
인덱스 필드에 Null 값이 있는 레코드에 인덱스 항목이 있는지 여부를 나타냅니다. 이 속성이 TRUE이면 Null 값이 있는 필드는 색인 항목을 있지 않습니다. 빠르게 필드를 사용 하 여 레코드를 검색 하려면, 필드에 인덱스를 정의할 수 있습니다. 인덱싱된 필드에 Null 항목을 허용 하 고 많은 null 항목을 기대 하는 경우에 사실 인덱스 사용 하는 저장 공간의 크기를 줄이기 위해 index 개체의 IgnoreNulls 속성을 설정할 수 있습니다. IgnoreNulls 속성 설정과 Required 속성 설정을 함께 Null 인덱스 값이 들어 있는 레코드는 다음 표에서 같이 색인 항목에 있는지 여부 확인。
| IgnoreNulls | 필수 | 인덱스 필드에 null |
| 사실 | False | Null 값을 허용; 추가 색인 항목 없음。 |
| False | False | Null 값을 허용; 색인 엔트리 추가。 |
| True 또는 False | 사실 | Null 값 허용 되지 않습니다; 추가 색인 항목 없음。 |
자세한 내용은 DAO 도움말의 "IgnoreNulls 속성" 항목을 참조 하십시오.
m_bRequired
DAO index 개체의 경우 Null이 아닌 값이 필요 여부를 나타냅니다.이 속성이 TRUE이면 index 개체가 Null 값을 허용 하지 않습니다. 자세한 내용은 DAO 도움말의 "필수 속성" 항목을 참조 하십시오.
팁nbsp;??DAO index 개체 또는 field 개체 (tabledef, recordset, querydef 개체에 의해 포함)에 대 한이 속성을 설정 하는 경우 field 개체에 대 한 설정 합니다. 전에 index 개체의 field 개체에 대 한 속성 설정의 유효성 체크(&N)。
m_bForeign
Index 개체가 테이블의 외래 키를 나타내는지 여부를 나타냅니다. 이 속성이 TRUE이면 인덱스는 테이블의 외래 키를 나타냅니다. 외래 키 기본 테이블의 행을 고유 하 게 식별 하는 외래 테이블에 있는 하나 이상의 필드로 구성 됩니다. Microsoft Jet 데이터베이스 엔진 외래 테이블의 index 개체를 만들고 Foreign 속성을 설정 하는 참조 무결성을 적용 하는 관계를 만들 때. 자세한 내용은 DAO 도움말의 "해외 부동산" 항목을 참조 하십시오.
m_lDistinctCount
연결된 된 테이블에 포함 된 index 개체에 대 한 고유 값의 개수를 나타냅니다. 고유 값 또는 인덱스에 있는 키의 수를 확인 하려면 DistinctCount 속성을 검사 합니다. 인덱스가 중복 값을 허용 하는 경우 해당 값의 여러 번 있을 수 있습니다 비록 모든 키 한 번만 계산 됩니다. 이 정보는 인덱스 정보를 계산 하 여 데이터 액세스를 최적화 하려는 응용 프로그램에 유용 합니다. 고유 값의 개수는 index 개체의 ' 카디널리티 ' 라고도 합니다. DistinctCount 속성에서는 특정 시점의 실제 키 개수가 항상 반영 되지 않습니다. 예를 들어, 트랜잭션 롤백에 의해 발생 한 변경 내용은 DistinctCount 속성에 즉시 반영 되지 않습니다. 자세한 내용은 DAO 도움말의 "DistinctCount 속성" 항목을 참조 하십시오.
코멘트
Tabledef 개체의 GetIndexInfo 멤버 함수에 의해 검색 된 정보는 CDaoIndexInfo 구조에 저장 됩니다. 포함 된 tabledef 개체의 Indexes 컬렉션에 index 개체 저장 된의 GetIndexInfo 멤버 함수를 호출 합니다. CDaoIndexInfo 는 또한 디버그 빌드에서 Dump 멤버 함수를 정의합니다. 덤프 를 사용 하 여 CDaoIndexInfo 개체의 내용을 덤프합니다。
이 및 다른 MFC DAO 정보 구조체를 사용 하 여 자세한 참고 DAO 컬렉션: DAO 개체에 대 한 정보 얻기 Visual c + + 프로그래머 가이드。
참고 항목nbsp;CDaoTableDef::GetIndexInfo(&N)