Co je integrita entity?
Integrita entity je jedním z primárních pravidel efektivní konstrukce databáze. Odkazuje na proces vynucení primárního klíče pro každou tabulku v databázi, kde klíč musí být buď řádek, nebo kombinace řádků, které jsou jedinečnými nenulovými hodnotami. Udržováním integrity entity lze každý záznam v každé tabulce databáze specificky identifikovat pomocí primárního klíče. Tím se zabrání duplicitnímu záznamu a dalším problémům, které by nepřímo ohrozily integritu databáze. Při neexistenci integrity entity se záznamy v databázi mohou náhodně překrývat, protože nebude možné vytrhnout konkrétní záznam z tabulky.
Při zvažování první části integrity entity, „jedinečné“ hodnoty, je důležité pochopit koncept primárního klíče. Primární klíč v databázi je hodnota používaná ke specifické identifikaci každého jednotlivého záznamu. Aby byl efektivní, musí být primární klíč jedinečný; jinými slovy, musí být nemožné načíst více záznamů hledáním jediného primárního klíče. Číslo sociálního zabezpečení by bylo dobrým primárním klíčem pro databázi zaměřenou na jednotlivé osobní záznamy v USA, protože dva lidé nikdy nemají stejné číslo. Každý, kdo hledá v databázi konkrétní číslo sociálního zabezpečení, podle definice načte najednou pouze jeden záznam.
Abychom viděli problémy, které vznikají při neexistenci integrity entity prostřednictvím jedinečných primárních klíčů, je možné si představit databázi, kde se jako primární klíč používá příjmení jednotlivce. Protože více než jedna osoba může sdílet příjmení, zadáním „Smith“ nebo „Jones“ jako vyhledávacích kritérií by mohlo vzniknout desítky záznamů. Pokud k tomu dojde, jedná se o integritu databáze, protože koncový uživatel již nemá metodu načítání jednotlivých záznamů.
Druhá část integrity entity uvádí, že hodnota vybraná jako primární klíč nesmí být nikdy nulovou nebo prázdnou hodnotou žádné položky v databázi. Pokud by hodnota primárního klíče zůstala pro jeden nebo více záznamů v databázi nulová, některé záznamy by nebylo možné načíst, protože hodnota null nestačí k jedinečné identifikaci těchto záznamů. Jinými slovy, pokud je jako primární klíč použito číslo sociálního zabezpečení a zaměstnanec není z USA, a tak jej nemá, záznam zahraničního zaměstnance nebude možné identifikovat pomocí primárního klíče, což zneplatní integritu databáze .