Referentiële integriteit is 'n databasis funksie in relasionele databasis bestuurstelsels. Dit verseker dat die verhoudings tussen tabelle in 'n databasis akkuraat bly deur beperkinge toe te pas om te verhoed dat gebruikers of toepassings onakkurate data invoer of verwys na data wat nie bestaan nie.
Databasisse gebruik tabelle om die inligting wat hulle bevat, te organiseer. Hulle is soortgelyk aan sigblaaie, soos Excel, maar baie meer in staat vir gevorderde gebruikers. Databasisse funksioneer met die gebruik van primêre sleutels en vreemde sleutels, wat die verhouding tussen die tabelle handhaaf.
Primêre sleutel
Die primêre sleutel van 'n databasis tabel is 'n unieke identifiseerder wat aan elke rekord toegewys is. Elke tabel sal een of meer kolomme hê wat as die primêre sleutel aangewys word. 'N Sosiale sekerheidsnommer kan 'n primêre sleutel wees vir 'n databasislys van werknemers, aangesien elke nommer vir sosiale sekerheid uniek is.
As gevolg van privaatheidskwessies, is 'n toegewysde maatskappy ID nommer egter 'n beter keuse om as primêre sleutel vir werknemers te funksioneer. Sommige databasis sagteware - soos Microsoft Access - ken die primêre sleutel outomaties toe, maar die willekeurige sleutel het geen regte betekenis nie. Dit is beter om 'n sleutel met betekenis aan die rekord te gebruik. Die eenvoudigste manier om referensiële integriteit af te dwing, is nie om veranderinge aan 'n primêre sleutel toe te laat nie.
Onbekende sleutel
'N Buitelandse sleutel is 'n identifiseerder in 'n tabel wat ooreenstem met die primêre sleutel van 'n ander tabel. Die vreemde sleutel skep die verhouding met 'n ander tabel, en verwysingsintegriteit verwys na die verhouding tussen hierdie tabelle.
Wanneer 'n tabel 'n vreemde sleutel na 'n ander tabel het, stel die konsep van referensiële integriteit dat jy nie 'n rekord by die tabel mag voeg wat die vreemde sleutel bevat nie, tensy daar 'n ooreenstemmende rekord in die gekoppelde tabel is. Dit sluit ook die tegnieke bekend as cascading update en cascading delete, wat verseker dat veranderinge wat aan die gekoppelde tabel gemaak word, in die primêre tabel weerspieël word.
Voorbeeld van verwysingsintegriteitreëls
Oorweeg die situasie waar jy twee tafels het: Werknemers en Bestuurders. Die Werknemers tafel het 'n vreemde sleutel kenmerk getiteld ManagedBy, wat verwys na die rekord vir elke werknemer se bestuurder in die Bestuurders tabel. Verwysingsintegriteit handhaaf die volgende drie reëls:
- U kan nie 'n rekord by die Werknemers-tabel byvoeg nie, tensy die Bestuursbewys-kenmerk 'n geldige rekord in die Bestuurders-tabel aandui. Verwysingsintegriteit verhoed die invoeging van foutiewe besonderhede in 'n tabel. Enige operasie wat nie voldoen aan referentiële integriteit reël versuim nie.
- As die primêre sleutel vir 'n rekord in die bestuurders tabel verander, word alle ooreenstemmende rekords in die tabel Werknemers verander met behulp van 'n cascading update.
- As 'n rekord in die Bestuurders-tabel uitgevee word, word alle ooreenstemmende rekords in die Werknemers-tabel verwyder met behulp van 'n cascading-uitvee.
Voordele van verwysingsintegriteitbeperkings
Die gebruik van 'n relasionele databasisbestuurstelsel met referensiële integriteit bied verskeie voordele:
- Voorkom die invoer van duplikaat data.
- Verhoed dat een tabel na 'n nie-bestaande veld in 'n ander tabel wys.
- Gewaarborgde konsekwentheid tussen "saamgestelde" tabelle.
- Voorkom die skrapping van 'n rekord wat 'n waarde bevat wat deur 'n vreemde sleutel in 'n ander tabel verwys word.
- Voorkom die byvoeging van 'n rekord na 'n tabel wat 'n vreemde sleutel bevat, tensy daar 'n primêre sleutel in die gekoppelde tabel is.