2016-04-20 3 views
2

Ich habe eine Bauchreaktion, die besagt, dass das Mischen von Konfigurations- und Berichtsfeldern in einer Tabelle eine schlechte Idee ist. Ein einfaches Beispiel wäre eine users Tabelle mit einem name Feld und einem last_logged_in Feld.Mischen von Konfigurations- und Berichtsfeldern in einer Tabelle

Was sind die Probleme beim Mischen von Admin-Update-Konfiguration mit Produktions-Update-Metadaten?

Oder ist meine Bauchreaktion unbegründet?

Antwort

1

Es ist nicht unbedingt eine schlechte Idee. Es gibt jedoch einige Fälle, wo es sein könnte.

Im Allgemeinen betrachten wir beim Datenbankdesign nicht, wie Informationen verwendet werden, sondern nur, wie sie sich auf andere Daten beziehen. Im Allgemeinen bricht diese Art von Daten diese Regel nicht. Es gibt jedoch Fälle, in denen es möglich ist.

Zum Beispiel können viele Datenbankprobleme gelöst werden, wenn ein Datensatz nur angehängt werden kann. Dies stellt dann ein Problem dar, da jede Anmeldung Sie zwingt, die Benutzertabelle zu aktualisieren. Wenn Sie Logins in einer separaten Append-Only-Tabelle protokollieren, verschwindet dieses Problem (wenn Sie hier keine Append-Only-Muster verwenden müssen, spielt dies keine Rolle).

Darüber hinaus kann es die Verwaltung von Berechtigungen komplexer machen.

Aber diese sind normalerweise unbedeutend und fallen normalerweise in die Kategorie der vorzeitigen Optimierungen.

Verwandte Themen