Referinsjele yntegriteit is in databasefunksje yn relaasje database-bestjoeringssystemen. It soarget foar de relaasjes tusken tabellen yn in databank bliuwend genôch troch applikaasjes te ferbinen om brûkers of applikaasjes te foarkommen dat it ûnjildich gegevens yn te foegjen is ofwyt oan gegevens dy't net bestiet.
Databases brûke tabellen om de ynformaasje te organisearjen dy't se befetsje. Se binne fergelykber mei spreadsheets, lykas Excel, mar folle mear fêst foar foardielige brûkers. Databases funksjonearje mei it brûken fan primêre toetsen en frjemde kaaien, dy't de relaasje tusken de tabellen behâlde.
Haadkaai
De primêre kaai fan in databank tabel is in unyk identifier dat tawiisd wurdt oan elke record. Elke tafel sil ien of mear kolommen hawwe as de primêre kaai. In Sosjaal Feiligensnûmer kin in primêre kaai wêze foar in databanklist fan meiwurkers om't elke Social Security nûmer unyk is.
Lykwols, fanwegen de privacy, is in oanbelangjende bedriuwsnûmer in bettere kar te wêzen om as primêre kaai te wurkjen foar meiwurkers. Guon database-software - lykas Microsoft Access - ferplichtet de primêre kaai automatysk, mar de willekeurige kaai hat gjin echte betsjutting. It is better om in kaai mei betsjutting te brûken foar it record. De ienfâldige manier om it referinsjele yntegriteit te aktivearjen is net om feroaringen te litten oan in primêre kaai.
Foreign Key
In bûtenlânske kaai is in identifier yn in tafel dat oerienkomt mei de primêre kaai fan in oare tabel. De frjemde kaai skeelt de relaasje mei in oare tabel, en referinsjele yntegriteit ferwiist nei de relaasje tusken dizze tabellen.
As in tafel in frjemde toetseboerd hat oan in oare tabel, sil it begryp fan referinsjele yntegriteit beslute dat jo in record net taheakje kinne oan 'e tafel dy't de frjemde kaai befettet, of it moat wêze dat der in oerienkommende record is yn' e keppele tabel. It omfetsje ek de techniken dy't bekend binne as cascading update en cascading delete, dy't soargje dat feroaringen makke wurde oan it keppele tabel reflektearje yn 't primêre tafel.
Foarbyld fan referinsjele yntegriteit regels
Besjoch de situaasje wêr't jo twa tabellen hawwe: Employees and Managers. De tabel fan 'e meiwurkers hat in frjemdske toetsûntwerp mei de titel ManagedBy, dy' t nei it record foar de opdrachtjouwer fan de personiel yn 'e tabber fan' e manager beheare. Referinsjele yntegriteit helpet de neikommende trije regels:
- Jo kinne in rekord oanmeitsje oan de Tafel Employees, útsein it attribút "ManagedBy" jout in jildich rekord yn 'e tabel "Manager". Referinsjele yntegraasje foarkomt it ynstellen fan inkele details yn in tabel. Elke operaasje dy't it referinsjele yntegraasje-regel net befettet, falt net.
- As de primêre kaai foar in record yn 'e tabellen fan' e managers feroaret, wurde alle oerienbere skriuwrjochten yn 'e Tabel Employees feroare mei in cascading update.
- As in rekord yn 'e tabel's behearder wiske is, wurde alle oerienkommende skriuwrjochten yn' e Tabelts Employees fuortsmiten mei in cascading-delete.
Advantages fan referinsjele yntegriteit-konstanten
It brûken fan in relaasje databankbehearsysteem mei referinsjele yntegriteit biedt ferskate foardielen:
- Feroare it yngean fan dûbele gegevens.
- It foarkommen fan in tabel om te sjen op in net-bestânfjild yn in oare tabel.
- Garantearre gearhing tusken "partnerske" tabellen.
- It foarkommen fan it fuortheljen fan in record dat befetsje in wearde dat oantsjutte wurdt troch in bûtenlânske kaai yn in oar tabel.
- It foarkommen fan it tafoegjen fan in rekord op in tafel dat in frjemdske kaai befettet, of it moat wêze dat der in primêre kaai is yn it keppele tabel.