Hi,
wenn es dein Datenbanksystem und das API drumherum erlaubt, dann könntest du komplexere Vorgänge wie z.b. das Löschen eines Kontos, wo in mehreren Tabellen geackert werden muss auch
a) in eine Transaktion verlegen
-> so gewährleistest du auch Integrität allerding mit dem Nachteil von Locks, die u.U. auf Rows und Tabellen über die ganze Transaktion hinweg gehalten werden und den parallelen Zugriff von anderen Prozessen (lesend oder schreibend) blockieren können
b) in eine Stored Procedure (Gespeicherte Prozedur) in der Datenbank verlegen
-> somit baust du dir eine definierte Schnittstelle "DeleteAccount(int AccountId)" die du nur einmal von ausserhalb der DB aufrufen brauchst anstelle von 5 oder 6 Queries
c) = b) + a)
d) verwende "referential integrity" mit "foreign keys" on "on delete cascade"
e) setz einfach einen soft-flag für das Account und räume dann mittels eines Cron-Jobs irgendwann nachts alle Leichen weg ;)
So long,
Frank