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