Sdílet prostřednictvím


CDaoIndexInfo – struktura

CDaoIndexInfo Struktura obsahuje informace o indexu objekt definovaný pro objekty aplikace access data (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
    Jednoznačně název objektu field.Další informace naleznete v tématu "Název vlastnosti" v nápovědě rozhraní DAO.

  • m_pFieldInfos
    Ukazatel na pole CDaoIndexFieldInfo objekty určující, která tabledef nebo sady záznamů pole představují pole klíče v indexu.Každý objekt identifikuje pole v indexu.Index výchozí řazení je vzestupně.Objekt indexu může mít jedno nebo více polí, představující index klíče pro každý záznam.Tyto mohou být vzestupně, sestupně, nebo kombinace.

  • m_nFields
    Počet polí, které jsou uloženy v m_pFieldInfos.

  • m_bPrimary
    Pokud je vlastnost primární TRUE, objekt index představuje primární index.Primární index se skládá z jednoho nebo více polí, která jednoznačně identifikují všechny záznamy v tabulce v předdefinovaném pořadí.Vzhledem k tomu, že musí být jedinečný index pole, vlastnost jedinečný Index objektu nastavena také na TRUE v DAO.Pokud primární index skládá z více polí, každé pole může obsahovat duplicitní hodnoty, ale kombinace hodnot ze všech indexovaných polí musí být jedinečný.Primární index klíč tabulky je tvořen a obvykle obsahuje stejná pole jako primární klíč.

    Při nastavení primárního klíče pro tabulku primární klíč je automaticky definováno jako primární index pro tabulku.Další informace naleznete v tématech "Primární vlastnosti" a "jedinečný" v nápovědě rozhraní DAO.

    [!POZNÁMKA]

    Zde může být nanejvýš jeden primární index na tabulce.

  • m_bUnique
    Označuje, zda objekt index představuje jedinečný index pro tabulku.Pokud je tato vlastnost TRUE, objekt index představuje jedinečný index.Jedinečný index skládá z jednoho nebo více polí, které logicky uspořádat všechny záznamy v tabulce objednávky jedinečných a předdefinované.Pokud index se skládá z polí, musí být jedinečný pro celou tabulku hodnot v daném poli.Pokud index obsahuje více polí, každé pole může obsahovat duplicitní hodnoty, ale kombinace hodnot ze všech indexovaných polí musí být jedinečný.

    Pokud mají primární i jedinečné vlastnosti objektu index TRUE, index je jedinečný a primární: jednoznačně identifikuje všechny záznamy v tabulce v předdefinované logické pořadí.Pokud je primární vlastnost nastavena na FALSE, sekundární index je index.Sekundární indexy (klíče a nonkey) logicky uspořádat záznamy v předdefinovaném pořadí bez slouží jako identifikátor pro záznamy v tabulce.

    Další informace naleznete v tématech "Primární vlastnosti" a "jedinečný" v nápovědě rozhraní DAO.

  • m_bClustered
    Označuje, zda představuje objekt index seskupený index pro tabulku.Pokud je tato vlastnost TRUE, představuje objekt index seskupený index; v opačném případě se nestane.Seskupený index je tvořen jedním nebo více nonkey pole, které, dohromady uspořádání všech záznamů v tabulce v předdefinovaném pořadí.S seskupený index je doslova uložena data v tabulce v pořadí určeném pomocí seskupený index.Seskupený index obsahuje účinný přístup k záznamům v tabulce.Další informace naleznete v tématu "Skupinový vlastnost" v nápovědě rozhraní DAO.

    [!POZNÁMKA]

    Seskupený vlastnost je ignorována u databází, které používají databázový stroj Microsoft Jet, protože databázový stroj nepodporuje clustery indexy.

  • m_bIgnoreNulls
    Označuje, zda jsou položky rejstříku pro záznamy obsahující hodnoty Null v jejich indexu pole.Pokud je tato vlastnost TRUE, pole s hodnotami Null nemají položky rejstříku.Chcete-li vyhledávání záznamů pomocí pole rychleji, můžete definovat index pole.Pokud povolit položky Null v indexovaném poli a očekávat mnoho položek na hodnotu Null, můžete nastavit vlastnost objektu index na TRUE ke snížení množství úložného prostoru, který používá index.Nastavení pro vlastnost Ignorovat hodnoty Null a nastavení požadované vlastnosti společně určují, zda má záznam s hodnotou Null indexu položky rejstříku, jak ukazuje následující tabulka.

    Ignorovat hodnoty Null

    Požadováno

    Hodnota Null v poli index

    True

    False

    Hodnota Null povolen; žádné přidané položky indexu.

    False

    False

    Hodnota Null povolen; přidána položka indexu.

    True nebo False

    True

    Hodnoty Null nejsou povoleny; žádné přidané položky indexu.

    Další informace naleznete v tématu "Vlastnost" v nápovědě rozhraní DAO.

  • m_bRequired
    Určuje, zda index objektu DAO vyžaduje nenulovou hodnotu.Pokud je tato vlastnost TRUE, index objekt nepovoluje hodnotu Null.Další informace naleznete v tématu "Vlastnost je nutno zadat" v nápovědě rozhraní DAO.

    Tip

    Pokud nastavíte tuto vlastnost index objektu DAO nebo objekt pole (obsažené tabledef, sady záznamů nebo objektu querydef), nastavte u objektu pole.Platnost nastavení vlastnosti pro pole objekt zkontrolován před který objekt index.

  • m_bForeign
    Označuje, zda objekt index představuje cizí klíč v tabulce.Pokud je tato vlastnost TRUE, index představuje cizí klíč v tabulce.Cizí klíč se skládá z jednoho nebo více polí v cizí tabulce, které jednoznačně identifikují řádek v primární tabulce.Databázový stroj Microsoft Jet vytvoří objekt indexu pro cizí tabulky a nastaví vlastnost cizího při vytváření vztahu, který vynutí referenční integritu.Další informace naleznete v tématu "Zahraniční vlastnictví" v nápovědě rozhraní DAO.

  • m_lDistinctCount
    Označuje počet index objektu jedinečné hodnoty, které jsou obsaženy v tabulce související.Zkontrolujte Počet_jedinečných vlastnost k určení počtu jedinečných hodnot nebo klíče v indexu.Libovolné klávesy se počítá pouze jednou, i když může existovat více výskytů dané položky Pokud index povoluje duplicitní hodnoty.Tyto informace jsou užitečné v aplikacích, které se snaží optimalizovat přístup k datům vyhodnocením informace o indexu.Počet jedinečných hodnot se také nazývá mohutnost index objektu.Vlastnost Počet_jedinečných není vždy vyjadřovat skutečný počet klíčů v určitém čase.Například změny způsobené transakci rollback se neprojeví okamžitě ve vlastnosti Počet_jedinečných.Další informace naleznete v tématu "Vlastnost Počet_jedinečných" v nápovědě rozhraní DAO.

Poznámky

Odkazy na primární, sekundární a všechny výše uvedené označení, jak je informace vrácena GetIndexInfo členské funkce tříd CDaoTableDef a CDaoRecordset.

Index objekty nejsou reprezentovány pomocí třídy knihovny MFC.Místo toho rozhraní DAO objektů podkladové objekty knihovny MFC třídy CDaoTableDef nebo CDaoRecordset obsahují kolekci index objektů, nazývaných kolekce indexů.Tyto třídy poskytnou členské funkce pro přístup k jednotlivé položky informace o indexu nebo je všechny najednou se CDaoIndexInfo objekt voláním GetIndexInfo členské funkce objektu obsahující.

CDaoIndexInfomá konstruktor a destruktor správně alokovat a navrátit informace o indexu pole v m_pFieldInfos.

Informace získané podle GetIndexInfo členské funkce tabledef objektu jsou uloženy v CDaoIndexInfo struktury.Volat GetIndexInfo členské funkce obsahující objekt tabledef, v jehož kolekce indexů je uložen index objektu.CDaoIndexInfoDefinuje také Dump členské funkce v ladění sestavení.Můžete použít Dump pro výpis obsahu CDaoIndexInfo objektu.

Požadavky

Záhlaví: afxdao.h

Viz také

Referenční dokumentace

CDaoTableDef::GetIndexInfo

Další zdroje

Struktury, styly, zpětná volání a mapy zpráv