Indexelés az adatbázisban
Mi az az indexelés az adatbázisban? Az adatbázisok alapeszméje, hogy nagy mennyiségű adatokat úgy tárol el, hogy gyorsan, könnyen és egyértelműen visszakereshetők legyenek a tárolt adatok, információk legyenek nyerhetőek belőle.
A gyors visszakeresést segíti és gyorsítja az indexelés.
Mit és hogyan indexelj? Erről olvashatsz ebben az írásban.
Kulcs mező szerinti indexelés
Az elsődleges rendezés - nem fizikai rendezés, tehát nem változtat a táblába bevitt rekordok sorrendjén - az elsődleges kulcs szerint történik.
A kulcs mező minden egyes tartalma egyedi, azonos nem fordulhat elő:
- ezt láthatod is, amikor a tábla tervező nézetében valamely mezőt kinevezed kulcs mezőnek: a kiválasztott adatmező sora elé kerül a kis kulcsocska.
A mellékelt ábrán is jól látható jellemzők kerülnek a kulcs mezőre, külön beállítás nélkül:
(az ábra felső részében láthatod a tábla adatmezőinek listáját. Itt a listában az egyes mezők jellemzőiből a mező neve és az adattípusa jelenik meg. Egy mező van kiválasztva, a kulccsal és eltérő háttérszínnel jelölve, nálam narancs színnel. A kiválasztott mező jellemzői alul jelennek meg, az Általános fül alatt.)
- indexelt jellemzője igen(nem lehet azonos) A kulcsmező szerint ezáltal rendezetté válik a táblázat - a mező szerint felépül egy apró táblázat (index táblázat) amely a mező szerinti keresésnél gyorsabban eredményt ad.
- A mezőre önmagában is beállíthatunk indexelést, ettől az indexelt mező azonban nem válik a tábla kulcsmezőjévé, még ha (nem lehet azonos) módon tesszük is.
Indexelés az adatbázisban-, az adattáblában
Az adatbázisban, a megfelelő adattáblában, más mezők szerint is történik keresés és egyéb művelet, amely elvégzéséhez először meg kell találni a rekordot. Célszerű ezeket a műveleteket is felgyorsítani az indexeléssel!
Az indexelés az adatbázisban kétféle módon valósulhat meg:
- Indexelt: igen(lehet azonos) - a tábla rekordjainak ezen opcióval indexelt mezőjébe kerülhetnek azonos értékek, a keresés és rendezés gyorsabbá válik e szerint a mező szerint.
- Indexelt: igen(nem lehet azonos) - a tábla rekordjainak ezen mező tartalma egyedi, nem fordulhat elő ismétlés, s a mező alapján gyors keresésre és rendezésre számíthatunk.
Példa: egy autókat nyilvántartó táblázatban az autó rendszáma lehet a kulcsmező. A rendszám biztosan egyedi a táblában, hiszen a rendszámok teljesen egyediek még az utakon is. Ennél a táblánál jól jön a rendszám alapján az indexeltség. Ha keresünk egy autót a táblában, akkor elsősorban rendszám alapján tesszük. Kihasználhatjuk az indexeltségen túl, azt a képességét is a kulcsmezőnek, hogy teljesen egyedi értékek lehetségesek - ez a (nem lehet azonos).
Az autónak van egy alvázszáma, amelyre biztosan fogunk keresni, így érdemes indexeltté tenni, amikor is (nem lehet azonos) opció a megfelelő: Tehát indexeljük az adattáblát a mező szerint, az alvázszám is egyedi az autóknál, tehát nem lehet azonos két rekorban sem, az alvázszám sem. A kulcsmező változatlanul a rendszám, az alvázszámot ilyen módon már szükségtelen kulcsmezővé tenni. Csupán indexeltként is beállítható minden-, a mezőhöz kapcsolható kritérium
Ha a táblázatban várhatóan keresések lesznek az autó színére, akkor ezt a mezőt is indexeltté tehetjük, ám ennél a jellemzőnél számolnunk kell azzal, hogy pl piros autó sok van, sok autó rekordjába kell ebbe a mezőbe bevinni azonos értéket, így az indexelésnél az igen (lehet azonos) beállítást kell választani.
Az autók adattábla a színek adatjellemzői alapján sosem lehet kulcsmező! A szín mezőbe kizárólag különböző adattartalmú rekordok lennének feltölthető a táblába: pl piros autó csak egy lehetne vagy kék autó is csak egy lehetne az autók táblába! Ha a szín alapján indexelünk, értelemszerűen szintén nem lehet beállítani a (nem lehet azonos) opció.
Adatbáziskezelés - ECDL súgó könyv adatbáziskezelés fejezete