In mehreren Antworten auf eine Frage zum Datenbankschema wurde eine zusätzliche Tabelle vorgeschlagen, um eine Datenbank für eine Funktion zu normalisieren, die nicht Teil der aktuellen Anforderungen ist (eine UserDepartment-Tabelle, um eine Viele-zu-Viele-Beziehung zwischen Mitarbeitern / Benutzern und verschiedenen Abteilungen zu ermöglichen gehören.).
Nicht gegen Normalisierung. Wenn es um das Datenbankdesign geht, scheint es einen starken Druck zu geben, Funktionen aufzunehmen, von denen sie "sicher" sind, dass sie jemand in Zukunft haben möchte. Ist es so schwierig, der Datenbank Tabellen / Felder hinzuzufügen, um Funktionen zu berücksichtigen, dass die Tendenz besteht, zu viel zu entwickeln? Würden sie nicht wie der Rest der App bei Bedarf überarbeitet oder aktualisiert werden? Das Wiederherstellen von Dingen macht nie Spaß, aber das Verschieben von Daten von einer Tabelle in eine neue kann durchgeführt werden. Nur nicht sicher, wo diese Denkrichtung enden wird.
Bearbeiten: Es gibt so viel Abneigung dagegen, dass ich mich frage, wie viele Projekte am Ende keine Funktion hinzufügen, die eine drastische Datenbankänderung erfordert, oder nicht normalisierte Ansätze wie das Hinzufügen eines DepartmentID2-Felds anstelle einer neuen Tabelle. Die Notwendigkeit mehrerer Abteilungen für einen Mitarbeiter ist ein häufiges Domänenproblem. Ich habe nur nicht viele Datenbankschemata bemerkt, die mit vielen-zu-vielen-Beziehungen übersät sind.