Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Integrita dat v MySQL

Foreign key slouží k tomu, aby nedošlo k narušení konzistence v DB. Naopak bez použití foreign key můžeš nekonzistenci v DB jednoduše vytvořit smazáním záznamu v tabulce A nebo B. Použití foreign key by tomu zabránilo.
Ale osobně bych byl opatrný s Cascade Delete apod. pokud to nemá opravdu význam. V normální praxi to nepotřebuješ. Pokud se máš nastaven foreign key a pokusíš se smazat záznam v tabulce A, který je použit, skončí to chybou. S CASCADE delete se automaticky smažou i záznamy v tabulce C, které na daný záznam odkazují. Tohle může být nebezpečné, protože smazáním záznamu v tabulce A smažeš třeba polovinu obsahu tabulky C.

Koukám, že tvůj šéf je opravdu odborník na svém místě, zvlášť s tím ukládáním dat, které se používají pro vazby do blobu.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny