Ne upotrebljavajte poštanski broj ni broj socijalnog osiguranja
Baze podataka ovise o ključevima za pohranu, sortiranje i usporedbu ili stvaranje odnosa između zapisa. Ako ste neko vrijeme bili oko baza podataka, vjerojatno ste čuli za različite tipove ključeva: primarne ključeve, ključeve kandidata i stranih ključeva . Kada izradite novu tablicu baze podataka, od vas se traži da odaberete jednu primarnu tipku koja će jedinstveno identificirati svaki zapis pohranjen u toj tablici.
Zašto je primarni ključ važan
Odabir primarnog ključa jedna je od najkritičnijih odluka koje ćete napraviti u izradi nove baze podataka . Najvažnije ograničenje je da morate osigurati da je odabrani ključ jedinstven. Ako je moguće da dva zapisa - prošlost, sadašnjost ili budućnost - mogu dijeliti istu vrijednost za atribut, to je loš izbor za primarni ključ.
Drugi važan aspekt primarnog ključa je njezina upotreba drugih tablica koje se povezuju s njom u relacijskoj bazi podataka. U ovom aspektu primarni ključ djeluje kao cilj pokazivača. Zbog tih interdependencies, primarni ključ mora postojati kad se rekord kreira i ne može se nikada promijeniti.
Loši izbori za primarne tipke
Ono što neki ljudi smatraju očitim izborom za primarni ključ može biti loš izbor umjesto toga. Evo nekoliko primjera:
- Poštanski brojevi ne čine dobre primarne ključeve za tablicu gradova. Ako izrađujete jednostavni popis gradova, poštanski broj izgleda kao logičan primarni ključ. Međutim, nakon daljnje istrage, možete shvatiti da više od jednog grada ima poštanski broj. Na primjer, New Jersey gradovi Neptuna, Neptune City, Tinton Falls i Wall Township svi dijele poštanski broj 07753.
- Brojevi socijalnog osiguranja ne čine dobre primarne ključeve iz više razloga. Većina ljudi smatra da je njihov SSN privatan i ne želi da je jasno vidljiv korisnicima baze podataka. Neki ljudi nemaju SSN - strance ili imigrante koji nikada nisu dobili karticu socijalne sigurnosti. SSN-ovi se također mogu ponovno upotrijebiti nakon smrti pojedinca. Pojedinac može imati više od jednog SSN-a tijekom trajanja kada Uprava za socijalnu sigurnost izda novi broj u slučajevima prijevare ili krađe identiteta.
- Adresa e-pošte također je loš izbor za primarni ključ. Iako su jedinstveni, mogu se s vremenom mijenjati. Nadalje, nije svatko ima adresu e-pošte.
Odabir učinkovitog primarnog ključa
Dakle, što čini dobar primarni ključ? U većini slučajeva, obratite se sustavu baze podataka za podršku.
Najbolja praksa u izradi baze podataka je korištenje interno generiranog primarnog ključa. Vaš sustav za upravljanje bazom podataka može normalno generirati jedinstveni identifikator koji nema značenja izvan sustava baze podataka. Na primjer, možete upotrijebiti vrstu podataka programa Microsoft Access AutoNumber da biste stvorili polje pod nazivom RecordID. Vrsta podataka AutoNumber automatski povećava polje svaki put kada stvorite zapis. Dok je broj sam po sebi besmislen, pruža pouzdani način za upućivanje pojedinih zapisa u upite.
Dobar primarni ključ obično je kratak, koristi brojeve i izbjegava posebne znakove ili mješavinu velikih i malih slova kako bi se olakšalo brzo pretraživanje i usporedbe baza podataka.