Izbor primarnog ključa

Nemojte koristiti ZIP broj ili broj socijalnog osiguranja

Baze podataka zavise od ključeva za čuvanje, sortiranje i upoređivanje ili kreiranje odnosa između zapisa. Ako ste neko vreme bili oko baza podataka, verovatno ste čuli za različite tipove ključeva: primarne tastere, ključeve kandidata i strane ključeve . Kada kreirate novu tablicu baze podataka, od vas se traži da odaberete jedan primarni ključ koji će jedinstveno identifikovati svaki zapis koji se čuva u toj tablici.

Zašto je primarni ključ važan

Izbor primarnog ključa je jedna od najkritičnijih odluka koje ćete donijeti prilikom dizajniranja nove baze podataka . Najvažnije ograničenje je u tome što morate osigurati da je izabrani ključ jedinstven. Ako je moguće da dva zapisa - prošlost, sadašnjost ili budućnost - mogu podeliti istu vrijednost za atribut, to je loš izbor za primarni ključ.

Još jedan važan aspekt primarnog ključa je njegova upotreba od strane drugih tabela koje se odnose na njega u relacionoj bazi podataka. U ovom aspektu, primarni ključ deluje kao cilj pokazivača. Zbog ovih međuzavisnosti, primarni ključ mora postojati kada se kreira zapis, i to se nikada ne može promijeniti.

Slabi izbori za primarne ključeve

Ono što neki ljudi mogu smatrati očiglednim izborom za primarni ključ mogu umesto toga biti loš izbor. Evo nekoliko primera:

Izbor efektivnog primarnog ključa

Dakle, šta čini dobar primarni ključ? U većini slučajeva obratite se svom sistemu baze podataka za podršku.

Najbolja praksa u dizajnu baze podataka je korišćenje internom generisanog primarnog ključa. Sistem upravljanja bazom podataka obično može generirati jedinstveni identifikator koji nema značenje van sistema baze podataka. Na primer, možete koristiti tip podataka Microsoft Access AutoNumber da biste kreirali polje zvano RecordID. Tip podataka AutoNumber automatski povećava polje svaki put kada kreirate rekord. Iako je broj sam besmislen, on pruža pouzdan način za upućivanje pojedinačnog zapisa u upite.

Dobar primarni ključ je obično kratak, koristi brojeve i izbjegava posebne znakove ili mješavinu velikih i malih slova da bi olakšao brze pretragu i upoređivanje baze podataka.