다음을 통해 공유


CDaoIndexInfo 구조체

CDaoIndexInfo 구조 인덱스 데이터 액세스 개체 (DAO)에 정의 된 개체에 대 한 정보를 포함 합니다.

struct CDaoIndexInfo {
   CDaoIndexInfo( );                   // Constructor
   CString m_strName;                  // Primary
   CDaoIndexFieldInfo* m_pFieldInfos;  // Primary
   short m_nFields;                    // Primary
   BOOL m_bPrimary;                    // Secondary
   BOOL m_bUnique;                     // Secondary
   BOOL m_bClustered;                  // Secondary
   BOOL m_bIgnoreNulls;                // Secondary
   BOOL m_bRequired;                   // Secondary
   BOOL m_bForeign;                    // Secondary
   long m_lDistinctCount;              // All

   // Below the // Implementation comment:
   // Destructor, not otherwise documented
}; 

매개 변수

  • m_strName
    Field 개체의 고유 이름을 지정 합니다.자세한 내용은 DAO 도움말의 "Name 속성" 항목을 참조 하십시오.

  • m_pFieldInfos
    에 대 한 포인터의 배열 CDaoIndexFieldInfo 개체를 나타내는 tabledef 또는 recordset 필드 인덱스에 있는 키 필드입니다.각 개체 필드에 인덱스를 식별합니다.기본 인덱스 순서 오름차순입니다.Index 개체는 각 레코드에 대 한 인덱스 키를 나타내는 필드를 하나 이상 가질 수 있습니다.이러한, 내림차순, 또는 조합 오름차순 있습니다.

  • m_nFields
    필드에 저장 된 수 m_pFieldInfos.

  • m_bPrimary
    기본 속성이 있는 경우 TRUE, 기본 인덱스가 인덱스 개체를 나타냅니다.기본 인덱스는 미리 정의 된 순서로 테이블에서 모든 레코드를 고유 하 게 식별 하는 하나 이상의 필드로 구성 됩니다.인덱스 필드는 고유 해야 하므로 Index 개체의 Unique 속성을 설정할 수도 있습니다 TRUE dao에서.기본 인덱스가 둘 이상의 필드로 구성 된 경우 각 필드에 중복 값을 포함할 수 있지만의 인덱싱된 모든 필드에서의 값 조합은 각각 고유 해야 합니다.기본 인덱스는 테이블의 키로 구성 됩니다 및 일반적으로 기본 키와 동일한 필드를 포함 합니다.

    테이블에 기본 키를 설정할 때 기본 키 테이블의 기본 인덱스 자동으로 정의 됩니다.자세한 내용은 DAO 도움말에서 "고유 속성" 하 고 "기본 속성" 항목을 참조 하십시오.

    [!참고]

    수, 기껏해야 하나의 기본 인덱스는 테이블에 있습니다.

  • m_bUnique
    Index 개체가 테이블의 고유 인덱스를 나타내는지 여부를 나타냅니다.이 속성이 TRUE, 고유 인덱스는 인덱스 개체를 나타냅니다.고유 인덱스는 논리적으로 고유한, 미리 정의 된 순서로 테이블에서 모든 레코드를 정렬 하는 하나 이상의 필드로 구성 됩니다.인덱스가 하나의 필드로 구성 된 경우 해당 필드의 값을 전체 테이블에 대해 고유 해야 합니다.인덱스가 둘 이상의 필드로 구성 된 경우 각 필드에 중복 값을 포함할 수 있지만의 인덱싱된 모든 필드에서의 값 조합은 각각 고유 해야 합니다.

    Index 개체의 Unique와 기본 속성을 설정는 경우 TRUE, 고유 하 고 기본 인덱스입니다: 미리 정의 된, 논리적 순서로 테이블에서 모든 레코드를 고유 하 게 식별 합니다.Primary 속성을 설정는 경우 FALSE, 인덱스는 보조 인덱스입니다.보조 인덱스 (키와 키가 아닌) 테이블의 레코드에 대 한 식별자로 처리 하지 않고 레코드를 미리 정의 된 순서로 논리적으로 정렬 합니다.

    자세한 내용은 DAO 도움말에서 "고유 속성" 하 고 "기본 속성" 항목을 참조 하십시오.

  • m_bClustered
    Index 개체가 테이블의 클러스터 된 인덱스를 나타내는지 여부를 나타냅니다.이 속성이 TRUE, 클러스터 된 인덱스가 있습니다; index 개체를 나타냅니다. 그렇지 않은 경우는 포함 되지 않습니다.클러스터 된 인덱스 중 하나를 구성 하거나 필드는 자세한 집합적, 전체적으로 볼 때, 미리 정의 된 순서로 테이블에서 모든 레코드를 정렬 합니다.클러스터 된 인덱스를 데이터 테이블의 클러스터형된 인덱스에 의해 지정 된 순서로 문자 그대로 저장 됩니다.효율적인 액세스 레코드 테이블에 클러스터 된 인덱스를 제공합니다.자세한 내용은 DAO 도움말의 "속성 클러스터" 항목을 참조 하십시오.

    [!참고]

    Jet 데이터베이스 엔진이 클러스터 된 인덱스를 지원 하지 않으므로 Microsoft Jet 데이터베이스 엔진을 사용 하는 데이터베이스에는 Clustered 속성이 무시 됩니다.

  • m_bIgnoreNulls
    여 인덱스 필드에 Null 값이 있는 레코드에 인덱스 항목이 있는지 여부를 나타냅니다.이 속성이 TRUE, 색인 항목 필드에 Null 값이 있는 없습니다.빠르게 필드를 사용 하 여 레코드를 검색 하려면 해당 필드에 인덱스를 정의할 수 있습니다.인덱싱된 필드에 Null 항목을 허용 하 고 대부분의 항목은 Null이 될 것을 예상 하는 경우에 index 개체의 IgnoreNulls 속성을 설정할 수 있습니다 TRUE 인덱스를 사용 하 여 저장 공간을 줄일 수 있습니다.IgnoreNulls 속성 설정과 Required 속성 설정을 함께 인덱스 값이 Null 인 레코드는 다음 표에 표시 된 대로 색인 항목에 있는지 여부를 결정 합니다.

    IgnoreNulls

    필수

    인덱스 필드에 null

    True

    False

    Null 값을 허용 합니다. 색인 항목을 추가 하지 않습니다.

    False

    False

    Null 값을 허용 합니다. 색인 엔트리를 추가 합니다.

    True 또는 False

    True

    Null 값을 사용할 수 없습니다. 색인 항목을 추가 하지 않습니다.

    자세한 내용은 DAO 도움말의 "IgnoreNulls 속성" 항목을 참조 하십시오.

  • m_bRequired
    DAO index 개체는 Null이 아닌 값이 필요한 지 여부를 나타냅니다.이 속성이 TRUE, index 개체 Null 값을 허용 하지 않습니다.자세한 내용은 DAO 도움말의 "속성 필요" 항목을 참조 하십시오.

    팁

    DAO index 개체 또는 field 개체 (tabledef, recordset, querydef 개체에서 포함)에 대해이 속성을 설정할 수 있습니다 때 개체에 대 한 필드를 설정 합니다.Field 개체의 속성 설정의 유효성을 인덱스 개체의 먼저 검사 됩니다.

  • m_bForeign
    Index 개체가 테이블의 외래 키를 나타내는지 여부를 나타냅니다.이 속성이 TRUE, 외래 키 테이블에 있는 인덱스를 나타냅니다.기본 테이블의 행을 고유 하 게 식별 하는 하나 이상의 필드 외래 테이블에서 외래 키로 구성 됩니다.Microsoft Jet 데이터베이스 엔진은 외래 테이블의 index 개체를 만들고 참조 무결성을 적용 하는 관계를 만들 때 외래 속성을 설정 합니다.자세한 내용은 DAO 도움말에서 "외래 속성" 항목을 참조 하십시오.

  • m_lDistinctCount
    관련된 테이블에 포함 된 index 개체에 대 한 고유 값의 개수를 나타냅니다.DistinctCount 속성 인덱스에 있는 키 또는 고유 값의 수를 확인 합니다.아무 키나 있을 수 있지만 여러 번 해당 값의 인덱스 중복 값을 허용 하는 경우에 한 번만 계산 됩니다.이 정보는 인덱스 정보를 계산 하 여 데이터 액세스를 최적화 하려는 응용 프로그램에 유용 합니다.고유 값의 개수는 index 개체의 ' 카디널리티 ' 라고도 합니다.DistinctCount 속성은 항상 실제 키 수가 특정 시간에 반영 되지 않습니다.예를 들어, 트랜잭션 롤백에 의해 발생 하는 변경 DistinctCount 속성에 즉시 반영 되지 않습니다.자세한 내용은 DAO 도움말의 "DistinctCount 속성" 항목을 참조 하십시오.

설명

어떻게 정보를 반환 하는 기본 및 보조, 위의 모든에 대 한 참조를 나타내는 GetIndexInfo 멤버 함수를 클래스에서 CDaoTableDefCDaoRecordset.

Index 개체는 MFC 클래스에 의해 표시 되지 않습니다.DAO 개체를 클래스의 기본 MFC 개체 대신 CDaoTableDef 또는 CDaoRecordset Indexes 컬렉션 이라고 하는 인덱스 개체의 컬렉션을 포함 합니다.이러한 클래스 개별 항목의 인덱스 정보에 액세스 하는 멤버 함수를 제공 하거나 한 번에 액세스할 수는 CDaoIndexInfo 를 호출 하 여 개체의 GetIndexInfo 멤버 함수를 포함 하는 개체입니다.

CDaoIndexInfo생성자 및 소멸자를 올바르게 할당 하 고 할당 인덱스 필드에 정보를 m_pFieldInfos.

에 의해 검색 된 정보는 GetIndexInfo 멤버 함수는 tabledef 개체의 저장에 CDaoIndexInfo 구조.호출 하는 GetIndexInfo 멤버 함수를 포함 하는 tabledef 개체 index 개체는 Indexes 컬렉션에 저장 됩니다.CDaoIndexInfo또한 정의 Dump 멤버 함수에서 디버그 빌드.사용할 수 있습니다 Dump 의 내용을 덤프 하는 CDaoIndexInfo 개체입니다.

요구 사항

헤더: afxdao.h

참고 항목

참조

CDaoTableDef::GetIndexInfo

기타 리소스

구조, 스타일, 콜백 및 메시지 맵