Cizí klíč s kaskádovým mazáním znamená, že pokud je smazán záznam v nadřazené tabulce, budou automaticky smazány i odpovídající záznamy v podřízené tabulce. Toto se nazývá kaskádové odstranění.
Říkáte opačným způsobem, není to tak, že když smažete z podřízené tabulky, budou smazány záznamy z nadřazené tabulky.
UPDATE 1:
V KASKÁDĚ ODSTRANIT možnost je určit, zda chcete odstranit řádky v podřízené tabulce, když jsou odstraněny odpovídající řádky v nadřazené tabulce. Pokud nezadáte kaskádové mazání, výchozí chování databázového serveru vám zabrání smazat data v tabulce, pokud na ni odkazují jiné tabulky.
Pokud zadáte tuto volbu, databázový server později, když odstraníte řádek v nadřazené tabulce, odstraní také všechny řádky přidružené k tomuto řádku (cizí klíče) v podřízené tabulce. Hlavní výhodou funkce kaskádového mazání je to, že vám umožňuje snížit množství příkazů SQL, které potřebujete k provedení akcí mazání.
Vše je tedy o tom, co se stane, když odstraníte řádky z nadřazené tabulky, nikoli z podřízené tabulky.
Takže ve vašem případě, když uživatel odstraní položky z tabulky CATs, budou řádky odstraněny z tabulky knih. :)
Doufám, že vám to pomůže :)