Referentni integritet je funkcija baze podataka u sistemima za upravljanje relacijskim bazama podataka. Omogućava da odnosi između tabela u bazi podataka ostaju tačni primjenom ograničenja kako bi korisnicima ili aplikacijama onemogućili unos netačnih podataka ili ukazivanje na podatke koji ne postoje.
Baze podataka koriste tabele za organizovanje informacija koje sadrže. Oni su slični tabelama, kao što je Excel, ali su mnogo sposobniji za napredne korisnike. Baze podataka funkcionišu pomoću primarnih ključeva i stranih ključeva, koji održavaju odnos između tabela.
Primarni ključ
Primarni ključ tabele baze podataka je jedinstveni identifikator dodijeljen za svaki zapis. Svaka tabela imaće jednu ili više stupaca označenih kao primarni ključ. Broj socijalnog osiguranja može biti primarni ključ za popis baza podataka zaposlenih, jer je svaki broj socijalnog osiguranja jedinstven.
Međutim, zbog problema sa privatnošću, dodeljeni ID kompanije kompanije je bolji izbor da funkcionira kao primarni ključ za zaposlene. Neki softver baze podataka - kao što je Microsoft Access - automatski dodeljuje primarni ključ, ali slučajni ključ nema stvarno značenje. Bolje je koristiti ključ sa značenjem rekorda. Najjednostavniji način primene referentnog integriteta nije dozvoljavanje promjena primarnog ključa.
Strani ključ
Strani ključ je identifikator u tablici koja odgovara primarnom ključu druge tabele. Strani ključ kreira odnos sa drugom tablom, a referentni integritet odnosi se na odnos između ovih tabela.
Kada jedna tablica ima inostrani ključ u drugoj tabeli, koncept referentnog integriteta navodi da možda nećete dodati zapis u tablicu koja sadrži inostrani ključ osim ako u odgovarajućoj tabeli nema odgovarajućeg zapisa. Takođe uključuje tehnike poznate kao kaskadna ažuriranja i kaskadne brisanja, što osigurava da se promjene napravljene u povezani tablici odražavaju u primarnoj tabeli.
Primer referentnih pravila integriteta
Razmotrite situaciju u kojoj imate dve tabele: zaposleni i menadžeri. Tabela Zaposleni ima atribut inostranog ključa pod nazivom ManagedBy, koji ukazuje na zapis za menadžer svakog zaposlenog u tabeli menadžera. Referentni integritet primjenjuje sljedeća tri pravila:
- Ne možete dodati zapis u tablu zaposlenih, osim ako atribut ManagedBy ne pokazuje važeći zapis u tabeli menadžera. Referentni integritet sprečava unos pogrešnih detalja u tabelu. Svaka operacija koja ne zadovoljava pravilo referentnog integriteta ne uspeva.
- Ako se primarni ključ za zapis u tabeli Menadžera promeni, sve odgovarajuće zapise u tabeli Zaposleni se mijenjaju pomoću kaskadne ispravke.
- Ako se zapis u tabeli Menadžeri briše, sve odgovarajuće zapise u tabeli Zaposleni se brišu pomoću kaskadnog brisanja.
Prednosti referentnih ograničenja integriteta
Korištenje sistema za upravljanje relacijskim bazama podataka sa referentnim integritetom nudi nekoliko prednosti:
- Sprečava ulazak duplih podataka.
- Sprečava da jedna tabela ukazuje na nepostojeće polje u drugoj tabeli.
- Zagarantovana konzistentnost između "partnerskih" tabela.
- Sprečava brisanje zapisa koji sadrži vrijednost na koju se inostrani ključ pominje u drugoj tabeli.
- Sprečava dodavanje zapisa u tablicu koja sadrži inostrani ključ osim ako u povezani tabeli nema primarnog ključa.