Ne használjon irányítószámot vagy társadalombiztosítási számot
Az adatbázisok a kulcsoktól függenek a rekordok közötti kapcsolatok tárolására, rendezésére és összehasonlítására vagy létrehozására. Ha már régóta az adatbázisok körül tartózkodik, valószínűleg hallott különböző típusú kulcsokról: elsődleges kulcsokról, jelölt kulcsokról és idegen kulcsokról . Amikor létrehoz egy új adatbázistáblát, akkor egy olyan elsődleges kulcsot kell választania, amely egyedileg azonosítja az adott táblában tárolt összes rekordot.
Miért fontos az elsődleges kulcs?
Az elsődleges kulcs kiválasztása az egyik legfontosabb döntés, amelyet egy új adatbázis létrehozása során teszel. A legfontosabb korlátozás az, hogy meg kell győződnie arról, hogy a kiválasztott kulcs egyedi. Ha lehetséges, hogy a két rekord - a múlt, a jelen vagy a jövő - ugyanazt az értéket oszthatja meg egy attribútumon, akkor ez egy rossz választás az elsődleges kulcs számára.
Az elsődleges kulcs másik fontos szempontja az, hogy más táblázatokat használ, amelyek relációs adatbázisban kapcsolódnak hozzá. Ebben a szempontban az elsődleges kulcs úgy működik, mint egy mutató célpontja. Ezeknek a kölcsönös függőségeknek köszönhetően léteznie kell egy elsődleges kulcsnak, amikor egy rekord létrejön, és soha nem változhat.
Szegény választás az elsődleges kulcsokhoz
Az, amit valaki az elsődleges kulcs számára nyilvánvaló választásnak tekinthet, helyette rossz választás lehet. Íme néhány példa:
- A ZIP kódok nem teszik lehetővé a városok tábla elsődleges kulcsát. Ha egyszerű városlátogató táblázatot készít, a ZIP kód logikus elsődleges kulcsnak tűnik. Azonban további vizsgálatok során észreveheted, hogy egynél több város osztja meg az irányítószámot. Például a New Jersey-i városok Neptune, Neptune City, Tinton Falls és Wall Township mind megosztják a 07753 irányítószámot.
- A társadalombiztosítási számok sok okból nem tesznek jó elsődleges kulcsokat. A legtöbb ember úgy véli, hogy az SSN privátnak minősül, és nem szeretné, hogy az az adatbázis-felhasználók számára jól látható legyen. Vannak, akik nem rendelkeznek SSN-kkel - külföldiekkel vagy bevándorlókkal, akik soha nem kaptak társadalombiztosítási kártyát. Az SSN-ek újra felhasználhatók az egyén halálát követően. Az egyénnek több életútja is lehet egynél több SSN-ben, amikor a Társadalombiztosítási Hivatal új számot ad ki csalás vagy személyazonosság-lopás esetén.
- Az e-mail címek szintén rossz választás az elsődleges kulcs számára. Bár egyedülállóak, idővel változhatnak. Továbbá nem mindenki rendelkezik e-mail címmel.
Hatékony elsődleges kulcs kiválasztása
Tehát, mi a jó elsődleges kulcs? A legtöbb esetben forduljon az adatbázis-rendszerhez támogatásért.
Az adatbázis-tervezés legjobb gyakorlata egy belsőleg generált elsődleges kulcs használata. Az adatbázis-kezelő rendszer általában olyan egyedi azonosítót generál, amelynek az adatbázisrendszeren kívül nincs értelme. Például a Microsoft Access AutoNumber adattípus használatával létrehozhat egy FieldID nevû mezõt. Az AutoNumber adattípus automatikusan minden egyes rekord létrehozásakor növeli a mezőt. Míg maga a szám értelmetlen, megbízható módja annak, hogy az egyes rekordokat lekérdezésekre hivatkozzuk.
A jó elsődleges kulcs általában rövid, számokat használ, és elkerüli a speciális karaktereket, illetve nagybetűs és kisbetűs karaktereket, hogy megkönnyítse a gyors adatbáziskeresést és összehasonlítást.