Moenie 'n poskode of sosiale sekerheid nommer gebruik nie
Databasisse hang af van sleutels om verhoudings tussen rekords te stoor, sorteer, vergelyk of skep. As jy al 'n rukkie databasisse gewees het, het jy waarskynlik gehoor van verskillende soorte sleutels: primêre sleutels, kandidaat sleutels en vreemde sleutels . Wanneer u 'n nuwe databasis tabel skep, word u gevra om een primêre sleutel te kies wat elke rekord wat in die tabel gestoor is, uniek sal identifiseer.
Hoekom 'n primêre sleutel is belangrik
Die keuse van 'n primêre sleutel is een van die mees kritieke besluite wat jy sal maak in die ontwerp van 'n nuwe databasis . Die belangrikste beperking is dat u moet verseker dat die gekose sleutel uniek is. As dit moontlik is dat twee rekords-verby, hede of toekoms-dalk dieselfde waarde vir 'n kenmerk 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 daaraan gekoppel word in 'n relationele databasis. In hierdie aspek dien 'n primêre sleutel soos 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 'n duidelike keuse vir 'n primêre sleutel kan oorweeg, kan eerder 'n swak keuse wees. Hier is 'n paar voorbeelde:
- Poskodes maak nie goeie primêre sleutels vir 'n tafel van dorpe nie. As jy 'n eenvoudige opsommingstabel van stede maak, lyk die kode as 'n logiese primêre sleutel. By verdere ondersoek kan u egter besef dat meer as een dorp 'n poskode deel. Byvoorbeeld, die New Jersey stede van Neptunus, Neptunus Stad, Tinton Falls, en Wall Township deel almal die 07753 Poskode.
- Sosiale sekerheid nommers maak vir baie redes nie goeie primêre sleutels nie. Die meeste mense beskou hul SSN as privaat en wil nie dat dit duidelik sigbaar is vir databasisgebruikers nie. Sommige mense het nie SSNs-vreemdelinge of immigrante wat nog nooit 'n sosiale sekerheidskaart ontvang het nie. SSN's kan ook hergebruik word na 'n individu se dood. 'N Persoon kan meer as een SSN oor 'n leeftyd hê wanneer die Maatskaplike Sekuriteitsadministrasie 'n nuwe nommer uitreik in gevalle van bedrog of identiteitsdiefstal.
- E-pos adresse is ook 'n swak keuse vir 'n primêre sleutel. Alhoewel hulle uniek is, kan hulle oor tyd verander. Verder het nie almal 'n e-pos adres nie.
Kies 'n effektiewe primêre sleutel
Dus, wat maak 'n goeie primêre sleutel? In die meeste gevalle, draai na u databasisstelsel vir ondersteuning.
'N Beste praktyk in databasisontwerp is om 'n intern gegenereerde primêre sleutel te gebruik. U databasisbestuurstelsel kan normaalweg 'n unieke identifiseerder genereer wat geen betekenis buite die databasisstelsel het nie. Byvoorbeeld, jy kan die data-tipe Microsoft Access AutoNumber gebruik om 'n veld met die naam RecordID te skep. Die data tipe AutoNumber verhoog outomaties die veld elke keer as jy 'n rekord maak. Terwyl die getal 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 getalle, en vermy spesiale karakters of 'n mengsel van hoofletters en klein letters om vinnige databasisopnames en vergelykings te fasiliteer.