Bei vielen Anwendungen müssen Datensätze in ihren Tabellen den Status "Vollständig", "Entwurf", "Abgebrochen" haben. Wie können diese Status am besten gespeichert werden? Um zu veranschaulichen, was ich hier vorhabe, ist ein * sehr kurzes) Beispiel.
Ich habe eine einfache Blog-Anwendung und jeder Beitrag hat den Status "veröffentlicht", "Entwurf" oder "Ausstehend".
So wie ich es sehe, gibt es zwei Möglichkeiten, dies in der Datenbank zu modellieren.
- Die Post-Tabelle verfügt über ein Textfeld, das den Statustext enthält.
- Die Post-Tabelle verfügt über ein Statusfeld, das die ID eines Datensatzes in der PostStatus-Tabelle enthält
Das Blog-Beispiel hier ist ein sehr einfaches Beispiel. Wo eine Aufzählung (falls unterstützt) ausreichen könnte. Bei der Beantwortung der Frage möchte ich jedoch berücksichtigen, dass sich die Liste der Status jederzeit ändern kann, sodass weitere hinzugefügt oder entfernt werden können.
Kann jemand die Vor- / Nachteile der einzelnen erklären?
Prost!
Meine anfängliche Meinung dazu ist, dass es besser ist, eine andere Tabelle zu verwenden und den Status als besser für die Normalisierung nachzuschlagen, und mir wurde immer beigebracht, dass die Normalisierung für Datenbanken gut ist