Azonosítók
kriszo 2006.01.26. 21:50
Minden program adatbázison dolgozik. Az adatbázisok alapkövei a egyedtípusok az egyedtípusok az őket felépítő adatelemekből állnak.
Minden egyedtípusból létrohozott egyednek van egy azonosítója, még akkor is, ha ez nem látszik az adatbázisban, vagy a programba van égetve, vagy más módon van elrejtve az adatok között.
Mi az az egyedtípus? ]
Pontosan milyen az azonosító? ]
Azonosító felépítése
Talán most sokan megijednek egy kicsit, mivel úgy tanulták, hogy ne alakalmazzon összetett azonosítót. Ez rendben is van: egy táblán belül, de visszakérdeznék: önmagában az az adat, hogy 0001 mit azonosít? Ti. bármely táblában lehet ilyen nevű azonosító. A megoldás kézenfekvő: a tábla neve és a az azonosító együtt határozzák meg, hogy tulajdonképpen mit is azonosítunk. Ezért áll két összetevőből az azonosító:
v egyedtípus azonosító, amely tulajdonképpen a táblanév,
v egyedazonosító, amely csak a táblán belül határozza meg.
Kicsit még tovább fajulnék. Mi van akkor, ha egy program több adatbázist is kezelhet (pl. egy rendszer éles és teszt adatbázisa) és azonos tábla van és abban azonos rekordazonosító. Egy harmadik azonosítóra van szükség, az pedig az adatbázis neve. Tehát
v adatbázis név,
v egyedtípus azonosító, amely tulajdonképpen a táblanév,
v egyedazonosító, amely csak a táblán belül határozza meg.
Ebben nincs semmi újdonság, ezt eddig is tudtuk ]
Erre azért nem jöttem rá eddig, mert annyira kézenfekvő ]
Ismerek is ilyen fejlesztőrendszert, amely ilyen módon kezeli az azonosítókat. ]
Aki azt mondja, hogy így egy kicsit bonyolulttá vált a világ, az nézze meg Dinamikus táblakezelés c. dokumentumot (folymatban).
Dinamikus azonosító kezelés
Tapasztalt adatbázistervezők egyik első kérdése, milyen legyen az azonosító, maximum hány egyeddel lehet számolni (pl. vevővel egy számlázó programban).
Szerintem a legcélszerűbb az lenne, ha erre a kérdésre egyszerűen nem kellene válaszolni, az adatbázis kezelő maga menedzselné. Amennyiben elfogy az alapértelmezésként rendelkezésre álló 256 számú rekord, úgy a rendszer eggyel megnöveli az adatméret egységét és lépésről lépésre átkonvertálja a megnövelt adatformátumba az adatokat.
|