CDaoIndexInfo — Struktura

CDaoIndexInfo Struktura zawiera informacje o obiekcie indeks zdefiniowany dla obiektów dostępu do danych (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 
}; 

Parametry

  • m_strName
    Unikatowej nazwy obiektu field.Aby uzyskać szczegółowe informacje zobacz temat "Właściwość Name" w pomocy DAO.

  • m_pFieldInfos
    Wskaźnik do tablicy CDaoIndexFieldInfo obiektów wskazująca, które tabledef lub zestawu rekordów pola są polami klucza w indeksie.Każdy obiekt identyfikuje jedno pole w indeksie.Domyślna kolejność indeksu jest rosnący.Obiekt indeksu może mieć jedno lub więcej pól reprezentujących kluczy indeksu dla każdego rekordu.Mogą one rosnąco, malejąco, lub połączenie.

  • m_nFields
    Liczba pól przechowywane w m_pFieldInfos.

  • m_bPrimary
    Jeśli właściwość podstawowy jest TRUE, reprezentuje obiekt indeksu indeks główny.Indeks podstawowy składa się z jednego lub kilku pól, które jednoznacznie identyfikują wszystkie rekordy w tabeli w preferowanej kolejności.Ponieważ pole indeksu muszą być unikatowe, również jest równa właściwości Unique Index obiektu TRUE w DAO.Jeśli indeks podstawowy składa się z więcej niż jednego pola, każde pole może zawierać zduplikowane wartości, ale każda kombinacja wartości ze wszystkich pól indeksowanych musi być unikatowa.Indeks podstawowy składa się z klucza tabeli i zazwyczaj zawiera te same pola co klucz podstawowy.

    Po ustawieniu klucza podstawowego dla tabeli klucza podstawowego jest automatycznie definiowany jako podstawowego indeksu dla tabeli.Aby uzyskać więcej informacji zobacz tematy "Podstawowe właściwości" i "Unikatowy" w pomocy DAO.

    [!UWAGA]

    Może istnieć, co najwyżej jeden indeks podstawowy dla tabeli.

  • m_bUnique
    Wskazuje, czy obiekt indeksu reprezentuje unikatowy indeks dla tabeli.Jeśli ta właściwość jest TRUE, reprezentuje obiekt indeks unikatowy indeks.Indeks unikatowy składa się z jednego lub kilku pól, które logicznie zorganizować wszystkie rekordy w tabeli w kolejności unikatowe, wstępnie zdefiniowane.Jeśli indeks składa się z jednego pola, wartości w tym polu musi być unikatowa dla całej tabeli.Jeśli indeks składa się z więcej niż jednego pola, każde pole może zawierać zduplikowane wartości, ale każda kombinacja wartości ze wszystkich pól indeksowanych musi być unikatowa.

    Jeśli ustawiono zarówno unikatowe, jak i podstawowych właściwości obiektu index TRUE, indeks jest unikatowy i podstawowego: unikatowo identyfikuje wszystkie rekordy w tabeli w kolejności wstępnie zdefiniowane, logiczne.Jeśli podstawowy właściwość jest ustawiona na FALSE, indeks jest indeksem pomocniczego.Indeksów pomocniczych (zarówno klucz, jak i nonkey) logicznie rozmieścić rekordy w preferowanej kolejności bez służąc jako identyfikator dla rekordów w tabeli.

    Aby uzyskać więcej informacji zobacz tematy "Podstawowe właściwości" i "Unikatowy" w pomocy DAO.

  • m_bClustered
    Wskazuje, czy obiekt indeksu reprezentuje indeks klastrowany tabeli.Jeśli ta właściwość jest TRUE, reprezentuje obiekt indeksu klastrowanego indeksu; w przeciwnym razie nie.Indeks klastrowany składa się z jednego lub więcej nonkey pól, wzięte razem, Rozmieść wszystkie rekordy w tabeli w preferowanej kolejności.Dane w tabeli z indeksem klastrowanym dosłownie znajduje się w kolejności określonej przez indeks klastrowany.Indeks klastrowany zapewnia skuteczny dostęp do rekordów w tabeli.Aby uzyskać więcej informacji zobacz temat "Klastrowane własność" w pomocy DAO.

    [!UWAGA]

    Właściwość Clustered jest ignorowana dla baz danych, które używają aparatu bazy danych Microsoft Jet, ponieważ aparat bazy danych Jet nie obsługuje indeksy klastrowane.

  • m_bIgnoreNulls
    Wskazuje, czy istnieją pozycje indeksu dla rekordów zawierających wartości Null w swoich dziedzinach indeksu.Jeśli ta właściwość jest TRUE, pól zawierających wartości Null nie ma wpisu indeksu.Aby wyszukiwanie rekordów przy użyciu pola szybciej, można zdefiniować indeksu dla pola.Czy zezwolić na wpisy o wartości Null w indeksowanym polu i oczekują wiele wpisów na wartość Null, można ustawić właściwości IgnoreNulls indeksu obiektu do TRUE Aby zmniejszyć ilość miejsca zajmowanego przez ten indeks.Ustawienie właściwości IgnoreNulls i ustawienie wymaganych właściwości wspólnie określają, czy rekord o wartości Null indeksu ma pozycję indeksu, zgodnie z następującą tabelą.

    IgnoreNulls

    Wymagane

    Wartość null w polu index

    True

    Fałsz

    Wartości null są dozwolone; nie dodano wpis indeksu.

    Fałsz

    Fałsz

    Wartości null są dozwolone; dodaje wpis indeksu.

    True lub Fałsz

    True

    Wartość null nie są dozwolone; nie dodano wpis indeksu.

    Aby uzyskać więcej informacji zobacz temat "IgnorujNull" w pomocy DAO.

  • m_bRequired
    Wskazuje, czy obiekt DAO indeks wymaga wartości inne niż Null.Jeśli ta właściwość jest TRUE, obiekt indeksu nie zezwala na wartości Null.Aby uzyskać więcej informacji zobacz temat "Właściwość Required" w pomocy DAO.

    PoradaPorada

    Po ustawieniu tej właściwości dla obiektu DAO indeksu lub obiektu pola (zawarty w tabledef, zestawu rekordów lub obiektu querydef), należy ustawić je dla obiektu pola.Ważność ustawienie właściwości dla obiektu pola jest sprawdzana przed tym index obiektu.

  • m_bForeign
    Wskazuje, czy obiekt indeksu reprezentuje klucza obcego w tabeli.Jeśli ta właściwość jest TRUE, indeks stanowi klucza obcego w tabeli.Klucz obcy składa się z jednego lub więcej pól tabeli obcej, które jednoznacznie identyfikują wiersze w tabeli podstawowej.Aparat bazy danych Microsoft Jet tworzy obiekt indeksu dla tabeli obcej i ustawia właściwość zagranicznych podczas tworzenia relacja, która wymusza więzy integralności.Aby uzyskać więcej informacji zobacz temat "Właściwość zagranicznych" w pomocy DAO.

  • m_lDistinctCount
    Wskazuje liczbę unikatowych wartości dla obiektu indeksu, które są zawarte w skojarzonej tabeli.Sprawdź właściwość DistinctCount, aby ustalić liczbę unikatowych wartości lub kluczy do indeksu.Dowolny klawisz jest liczona tylko raz, mimo że może być wielu wystąpień danej wartości, jeśli indeks zezwala na zduplikowane wartości.Informacje te są przydatne w aplikacjach, które próbują zoptymalizować dostęp do danych poprzez ocenę informacji o indeksie.Liczba unikatowych wartości, jest nazywana Kardynalność index obiektu.Właściwość DistinctCount nie będzie zawsze odzwierciedlają rzeczywistą liczbę kluczy w określonym czasie.Na przykład, zmiana spowodowane przez cofnięcie transakcji nie będą odzwierciedlane natychmiast we właściwości DistinctCount.Aby uzyskać więcej informacji zobacz temat "Właściwość DistinctCount" w pomocy DAO.

Uwagi

Odniesienia do podstawowej i średniej oraz wszystkie powyższe wskazują, jak informacje zwracane przez GetIndexInfo funkcji składowej w klasach CDaoTableDef i CDaoRecordset.

Indeks obiektów nie są reprezentowane przez klasę MFC.Zamiast tego, DAO obiektów podstawowych obiektów klasy MFC CDaoTableDef lub CDaoRecordset zawiera zbiór obiektów indeksu, o nazwie kolekcji Indexes.Dostęp do poszczególnych elementów informacje o indeksach funkcji składowych zasilania tych klas lub uzyskiwania dostępu do nich w całości z CDaoIndexInfo obiekt poprzez wywołanie GetIndexInfo funkcji składowej obiektu zawierającego.

CDaoIndexInfoma on konstruktora i destruktor, aby właściwie przydzielić i zwolnić informacje pola indeksu w m_pFieldInfos.

Informacje pobierane przez GetIndexInfo funkcji składowej obiektu tabledef są przechowywane w CDaoIndexInfo struktury.Wywołanie GetIndexInfo funkcji składowej obiektu tabledef zawierającego, w którego kolekcja indeksów jest przechowywany obiekt indeksu.CDaoIndexInfodefiniuje również Dump tworzy funkcję członka w debugowania.Można użyć Dump do zrzutu zawartości CDaoIndexInfo obiektu.

Wymagania

Nagłówek: afxdao.h

Zobacz też

Informacje

CDaoTableDef::GetIndexInfo

Inne zasoby

Struktury, style, wywołania zwrotne i mapy komunikatów