Što je integritet entiteta?

Integritet entiteta jedno je od primarnih pravila učinkovite izgradnje baze podataka. Odnosi se na proces provođenja primarnog ključa za svaku tablicu u bazi podataka, pri čemu ključ mora biti ili redak ili kombinacija redaka koji su jedinstvene vrijednosti koje nisu nulte. Održavanjem integriteta entiteta, svaki zapis u svakoj tablici baze podataka može se posebno identificirati putem primarnog ključa. To sprječava dupliranje zapisa i druge probleme koji bi neizravno ugrozili integritet baze podataka. U nedostatku integriteta entiteta, unosi u bazi podataka mogu se slučajno preklapati, jer neće biti načina da se izvuče određeni unos iz tablice.

Kada se razmatra prvi dio integriteta entiteta, “jedinstvena” vrijednost, važno je razumjeti koncept primarnog ključa. Primarni ključ u bazi podataka je vrijednost koja se koristi za specifično identificiranje svakog pojedinačnog zapisa. Da bi bio učinkovit, primarni ključ mora biti jedinstven; drugim riječima, mora se pokazati nemogućim dohvatiti više zapisa traženjem jednog primarnog ključa. Broj socijalnog osiguranja bio bi dobar primarni ključ za bazu podataka fokusiranu na pojedinačne osobne evidencije u SAD-u, budući da dvije osobe nikada nemaju isti broj. Svatko tko u bazi podataka traži određeni broj socijalnog osiguranja, po definiciji bi dohvatio samo jedan zapis u isto vrijeme.

Da bismo vidjeli probleme koji nastaju u nedostatku integriteta entiteta kroz jedinstvene primarne ključeve, mogli bismo zamisliti bazu podataka u kojoj se prezime pojedinca koristi kao primarni ključ. Budući da više od jedne osobe može dijeliti prezime, unošenjem “Smith” ili “Jones” kao kriterija pretraživanja moglo bi se proizvesti desetke zapisa. Ako se to dogodi, doveden je u pitanje integritet baze podataka jer krajnji korisnik više nema metodu za dohvaćanje pojedinačnih zapisa.

Drugi dio integriteta entiteta navodi da vrijednost odabrana kao primarni ključ nikada ne smije biti nulta ili prazna vrijednost za bilo koju stavku u bazi podataka. Ako je vrijednost primarnog ključa ostala nula za jedan ili više zapisa u bazi podataka, određene zapise postalo bi nemoguće dohvatiti, jer null vrijednost nije dovoljna za jedinstvenu identifikaciju tih zapisa. Drugim riječima, ako se broj socijalnog osiguranja koristi kao primarni ključ, a zaposlenik nije iz SAD-a i stoga ga nema, zapis stranog zaposlenika bit će nemoguće identificirati korištenjem primarnog ključa, čime se poništava integritet baze podataka. .