>> "Je proto nejlepší dát toho co nejvíc přímo do databáze a na aplikace nechat jen to, co se nedá řešit jinak."
Tohleto je dost diskutabilní. Jestliže do databáze bude psát 5 různých aplikací nebo 1 aplikace 10 různými způsoby, pak je to asi na místě. Účel ale NENÍ aby se to zajišťovalo zrovna v databázi, účel JE, aby se to zajišťovalo na jednom centrálním místě, které se nedá obejít. Jestliže vím, že žádná jiná aplikace nebude mít práva zápisu přímým přístupem do databáze (tj. obejitím níže popisované střední vrstvy), a jestliže mám objektově orientovanou aplikační logiku, kde např. rušení záznamu bude VŽDY zajišťovat jediná třída, pak je lepší integritu implementovat do této třídy - budu to totiž mít velice snadno přenositelné z jednoho datového stroje na druhý. Tím zůstaneme u otevřené architektury a nebudeme nuceni psát 3x stejný algoritmus ve 3 poněkud různých "skriptech" při používání 3 různých datových strojů u 3 zákazníků/uživatelů aplikace.