sql >> Database teknologi >  >> RDS >> Sqlserver

Skal jeg bruge CASCADE DELETE-reglen?

ON DELETE CASCADE er fint, men kun når de afhængige rækker virkelig er en logisk forlængelse af rækken, der slettes. For eksempel er det OK for DELETE ORDERS at slette de tilknyttede ORDER_LINES, fordi du klart vil slette denne ordre, som består af en overskrift og nogle linjer. På den anden side bør SLET KUNDE ikke slette de tilknyttede ORDRER, fordi ORDRER er vigtige i sig selv, de er ikke kun attributter for en kunde.

En måde at tænke over dette på er:Hvis jeg udsteder SLET X, og det også sletter Y, bliver jeg så glad eller ulykkelig? Og hvis jeg udsteder SLET X og får at vide "kan ikke slette X, fordi Y eksisterer", vil jeg være glad for beskyttelsen eller irriteret over ulejligheden?



  1. Sådan returnerer du et arguments position i en liste over argumenter i MySQL

  2. Gruppér kun efter dato i en Datetime-kolonne

  3. Importer XML-filer til PostgreSQL

  4. FEJL:tilladelse nægtet til relationstabelnavn på Postgres, mens du prøvede en SELECT som skrivebeskyttet bruger