Odabir primarnog ključa

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:

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.