sql >> Database >  >> RDS >> Sqlserver

Moet ik de CASCADE DELETE-regel gebruiken?

ON DELETE CASCADE is prima, maar alleen als de afhankelijke rijen echt een logische uitbreiding zijn van de rij die wordt verwijderd. Het is bijvoorbeeld OK voor DELETE ORDERS om de bijbehorende ORDER_LINES te verwijderen, omdat u duidelijk deze bestelling wilt verwijderen, die uit een koptekst en enkele regels bestaat. Aan de andere kant moet DELETE CUSTOMER de bijbehorende BESTELLINGEN niet verwijderen, omdat ORDERS op zichzelf belangrijk zijn, het zijn niet alleen kenmerken van een klant.

Een manier om hierover na te denken is:als ik DELETE X geef en het verwijdert ook Y, ben ik dan gelukkig of ongelukkig? En als ik DELETE X geef en ik krijg te horen "kan X niet verwijderen omdat Y bestaat", zal ik dan blij zijn met de bescherming, of geïrriteerd raken door het ongemak?



  1. Hoe een bestand van de ene map naar de andere te verplaatsen met behulp van PL SQL

  2. orakel blob tekst zoeken

  3. Hoe u ervoor kunt zorgen dat uw MySQL-database beveiligd is?

  4. Een blik op DBCC CHECKCONSTRAINTS en I/O