Das ist allerdings eine Betrachtungsweise, die nur greift, wenn ich mich im Rahmen eines Client/Server Konzepts bewege. Werden separate Persistenzschichten genutzt, verlagert sich die Hoheit über die Datenkonsistenz (und das gesamte Modell) in diese Schicht.
Der Vorteil eines sauberen Datenmodells ist, dass es ganz egal ist, wie man drauf zugreift - Multi-Tier, C/S, irgendein Tool oder ein
API. Das Datenmodell sichert Integrität und Konsistenz. Ich würde auch bei C/S oder Multi-Tier jedenfalls der
DB die Letztprüfung überlassen, was Integrität und Konsistenz betrifft.
Die Basics für jedes Datenmodell:
- Primary keys
- foreign keys/referentielle Integrität
- Defaults/constraints/null/not null
- Normalisierung
- Indices
So wie es beim Programmieren best practices gibt, gibt es die auch beim Umgang mit Datenbanken + man macht sich das Leben leichter, wenn sich dran hält.