A referencia integritás relációs adatbázis-kezelő rendszerek adatbázisa. Biztosítja, hogy az adatbázisban lévő táblák közötti kapcsolatok pontosak legyenek, korlátozások alkalmazásával, amelyek megakadályozzák, hogy a felhasználók vagy alkalmazások pontatlan adatokat adjanak meg, vagy olyan adatokra mutassanak, amelyek nem léteznek.
Az adatbázisok táblázatokat használnak az általuk tárolt információk rendszerezésére. Ezek hasonlítanak a táblázatokhoz, például az Excelhez, de sokkal fejlettebb felhasználók számára. Az adatbázisok az elsődleges kulcsok és az idegen kulcsok használatával működnek, amelyek fenntartják a táblák közötti kapcsolatot.
Elsődleges kulcs
Az adatbázis-táblázat elsődleges kulcsa az egyes rekordokhoz rendelt egyedi azonosító. Minden táblázatnak egy vagy több oszlopa lesz az elsődleges kulcsnak. A társadalombiztosítási szám lehet az elsődleges kulcs az alkalmazottak adatbázisa számára, mivel minden egyes társadalombiztosítási szám egyedi.
Azonban az adatvédelmi aggályok miatt a hozzárendelt cégazonosító szám jobb választás arra, hogy elsődleges kulcsa a munkavállalóknak. Egyes adatbázis-szoftverek - például a Microsoft Access - automatikusan hozzárendelik az elsődleges kulcsot, de a véletlenszerű kulcsnak nincs valódi jelentése. Jobb, ha kulcsot használsz a jelentéshez. A referenciális integritás érvényesítésének legegyszerűbb módja nem az elsődleges kulcs módosítása.
Idegen kulcs
Az idegen kulcs egy azonosító egy táblázatban, amely megfelel egy másik táblázat elsődleges kulcsának. Az idegen kulcs létrehozza a kapcsolatot egy másik táblával, és a referenciális integritás a táblázatok közötti kapcsolatra utal.
Ha egy táblázatnak van egy idegen kulcs másik táblázathoz, a referenciális integritás fogalma azt mondja ki, hogy nem adhat hozzá rekordot az idegen kulcsot tartalmazó táblához, hacsak nincs megfelelő rekord a kapcsolódó táblázatban. Ez magában foglalja a lépcsős frissítés és a lépcsős eltávolítás technikáit is, amelyek biztosítják, hogy a kapcsolt táblázatban végrehajtott módosítások az elsődleges táblázatban tükröződjenek.
Példa a referenciaszintet szabályokra
Tekintsük azt a helyzetet, ahol két asztal van: alkalmazottak és menedzserek. Az Alkalmazottak táblázat külföldi kulcstulajdonú attribútuma ManagedBy, amely a Menedzserek táblában minden alkalmazott igazgatójára utal. A referencia integritás a következő három szabályt hajtja végre:
- Nem adhat hozzá rekordot az Alkalmazottak táblázathoz, hacsak a ManagedBy attribútum nem érvényes rekordot mutat be a Menedzserek táblázatban. A referencia integritás megakadályozza, hogy helytelen adatokat helyezzenek be egy táblába. Minden művelet, amely nem felel meg a referenciális integritás szabálynak, nem sikerül.
- Ha a Menedzserek tábla rekordjának elsődleges kulcsa megváltozik, az Alkalmazottak táblázat összes megfelelő rekordja egy lépcsőzetes frissítés használatával módosul.
- Ha a Menedzserek tábla egy rekordja törlõdik, akkor az Alkalmazottak táblázat összes megfelelõ rekordja törlõdik a lépcsõzetes törléssel.
A referenciaintegritási kényszerek előnyei
A referenciális integritással rendelkező relációs adatbázis-kezelő rendszer használata számos előnnyel jár:
- Megakadályozza az ismétlődő adatok bevitelét.
- Megakadályozza, hogy egy tábla egy másik táblázatban egy nem létező mezőre mutasson.
- A "partneres" táblák közötti garantált konzisztencia.
- Megakadályozza egy olyan rekord törlését, amely egy idegen kulcs által hivatkozott értéket tartalmaz egy másik táblában.
- Megakadályozza a rekord hozzáadását olyan táblázathoz, amely idegen kulcsot tartalmaz, hacsak nincs egy elsődleges kulcs a kapcsolódó táblázatban.