Databasisse is afhanklik van sleutels om te stoor, sorteer en vergelyk of verhoudings tussen rekords te skep. As jy al 'n rukkie rond databasisse was, het jy waarskynlik van verskillende tipes sleutels gehoor: primêre sleutels, kandidaatsleutels en vreemde sleutels.
Wanneer jy 'n nuwe databasistabel skep, word jy gevra om een primêre sleutel te kies wat elke rekord wat in daardie tabel gestoor is, uniek sal identifiseer.
Waarom 'n primêre sleutel belangrik is
Die keuse van 'n primêre sleutel is een van die mees kritieke besluite wat jy sal neem in die ontwerp van 'n nuwe databasis. Die belangrikste beperking is dat jy moet verseker dat die geselekteerde sleutel uniek is. As dit moontlik is dat twee rekords (verlede, hede of toekoms) dieselfde waarde vir 'n kenmerk kan deel, is dit 'n swak keuse vir 'n primêre sleutel.
Nog 'n belangrike aspek van 'n primêre sleutel is die gebruik daarvan deur ander tabelle wat daarna in 'n relasionele databasis skakel. In hierdie aspek tree 'n primêre sleutel op as die teiken van 'n wyser. As gevolg van hierdie interafhanklikhede moet 'n primêre sleutel bestaan wanneer 'n rekord geskep word, en dit kan nooit verander nie.
Swak keuses vir primêre sleutels
Wat sommige mense dalk as 'n ooglopende keuse vir 'n primêre sleutel beskou, kan eerder 'n swak keuse wees. Hier is 'n paar voorbeelde:
- Poskodes maak nie goeie primêre sleutels vir 'n tabel van dorpe nie. As jy 'n eenvoudige opsoektabel van stede maak, lyk dit of poskode 'n logiese primêre sleutel is. Met verdere ondersoek sal jy dalk besef dat meer as een dorp 'n poskode deel. Byvoorbeeld, die New Jersey-stede Neptune, Neptune City, Tinton Falls en Wall Township deel almal die 07753-poskode.
- Sosiale sekerheidsnommers maak om baie redes nie goeie primêre sleutels nie. Die meeste mense beskou hul SSN as privaat en wil nie hê dat dit duidelik sigbaar is vir databasisgebruikers nie. Daarbenewens het sommige mense nie SSN'e nie.
- E-posadresse is ook 'n swak keuse vir 'n primêre sleutel. Alhoewel hulle uniek is, kan hulle mettertyd verander. Verder het nie almal 'n e-posadres nie.
Wat maak 'n goeie primêre sleutel
So, hoe kies jy 'n effektiewe primêre sleutel? In die meeste gevalle, draai na jou databasisstelsel vir ondersteuning.
'n Beste praktyk in databasisontwerp is om 'n intern gegenereerde primêre sleutel te gebruik. Jou databasisbestuurstelsel kan normaalweg 'n unieke identifiseerder genereer wat geen betekenis buite die databasisstelsel het nie.
Jy kan byvoorbeeld die Microsoft Access AutoNumber-datatipe gebruik om 'n veld genaamd RecordID te skep. Die outonommer-datatipe verhoog die veld outomaties elke keer as jy 'n rekord skep. Alhoewel die nommer self betekenisloos is, bied dit 'n betroubare manier om 'n individuele rekord in navrae te verwys.
'n Goeie primêre sleutel is gewoonlik kort, gebruik syfers en vermy spesiale karakters of 'n mengsel van hoofletters en kleinletters om vinnige databasisopsoeke en vergelykings te vergemaklik.