Co je referenční integrita a jak se může programátor vyhnout těmto problémům?

Referenční integrita zabraňuje zavedení nekonzistentních dat.

Pravidlo referenční integrity

V zásadě referenční integrita říká, že databáze nemůže mít nepárovou hodnotu cizích klíčů. Externí klíč je sloupec v databázové tabulce, který má hodnoty, které jsou ve sloupci primárního klíče, jedinečný identifikátor identifikující řádek v tabulce v jiné tabulce. Zvažte například databázovou tabulku nazvanou "oddělení", ve které je jako primární klíč sloupec s názvem "číslo oddělení". Souvisí to s jinou tabulkou s názvem "zaměstnanec", kde je "číslo oddělení" externím klíčem. Zaměstnanec nemůže být součástí určitého oddělení, pokud v tabulce "Oddělení" neexistuje odpovídající "číslo oddělení". Pokud program, který přidává zaměstnance, posiluje referenční integritu, nebude možné pokus o vložení zaměstnance do neznámého oddělení.

Výhody

Kromě toho, že tyto odkazy mezi údaji jsou neporušené a platné, definice referenční integrity databáze má mnoho výhod. Referenční integrita používá stávající kód v databázovém počítači namísto toho, aby programátoři požádali, aby napsali vlastní kód programu od začátku. V důsledku toho je vývoj programů rychlejší, méně náchylný k chybám a konzistentní mezi několika aplikačními programy, které přistupují k databázi.

Důsledky

Programovací jazyky bohužel často nemají mechanismy pro uplatňování referenční integrity, a dokonce i když systém správy databáze podporuje tyto mechanismy, programátoři je nepoužívají. Důsledkem ignorování referenční integrity je to, že programovací kód, který má chyby nebo chyby, je porucha a je obtížné ho rozšířit.

Aplikace

Programátoři mohou aplikovat referenční integritu a vyhnout se "orphan" záznamům v databázi tím, že ji umožňují ve vztahu mezi dvěma tabulkami. V aplikaci Microsoft Access například použití referenční integrity znamená, že jakákoli operace, která ji porušuje, je zamítnuta. Tyto typy operací zahrnují aktualizace databáze, které mění objekt odkazu nebo odstranění, které odstraní objekt odkazu. Kromě toho má aplikace Microsoft Access také sadu možností, známých jako "kaskádové" možnosti. Tyto možnosti umožňují, aby referenční a smazané aktualizace byly propagovány databází tak, aby se všechny související řádky změnily stejným způsobem.