sql >> Databáze >  >> RDS >> Sqlserver

Mám použít pravidlo CASCADE DELETE?

ON DELETE CASCADE je v pořádku, ale pouze v případě, že závislé řádky jsou skutečně logickým rozšířením odstraňovaného řádku. Například je v pořádku, když DELETE ORDERS odstraníte přidružené ORDER_LINES, protože tuto objednávku, která se skládá ze záhlaví a několika řádků, jasně chcete smazat. Na druhou stranu, DELETE CUSTOMER by neměl smazat přidružené OBJEDNÁVKY, protože OBJEDNÁVKY jsou důležité samy o sobě, nejsou to jen atributy zákazníka.

Jeden způsob, jak o tom přemýšlet, je:když vydám DELETE X a zároveň to vymaže Y, budu šťastný nebo nešťastný? A pokud zadám DELETE X a je mi řečeno, že „nemohu smazat X, protože Y existuje“, budu rád za ochranu, nebo mě ta nepříjemnost podráždí?



  1. Jak změnit tabulku přidání sloupce Oracle

  2. 3 způsoby, jak spočítat počet systémových tabulek v databázi SQL Server

  3. Nelze otevřít výchozí databázi uživatele. Přihlášení selhalo. po instalaci SQL Server Management Studio Express

  4. The Zombie PerfMon Counter That Never Die!