Dość wiele aplikacji wymaga, aby rekordy w ich tabelach miały status, taki jak „kompletny”, „projekt”, „anulowany”. Jaki jest najlepszy sposób przechowywania tych statusów? Aby zilustrować, o co tu chodzi, to * bardzo krótki) przykład.
Mam prostą aplikację Blog, a każdy post ma status: opublikowany, szkic lub w toku.
Widzę to na dwa sposoby, aby to wymodelować w bazie danych.
- Tabela Post ma pole tekstowe zawierające tekst statusu.
- Tabela Post ma pole statusu, które zawiera identyfikator rekordu w tabeli PostStatus
Przykład blogu tutaj jest bardzo prostym przykładem. Gdzie może wystarczyć wyliczenie (jeśli jest obsługiwane). Chciałbym jednak, aby odpowiedzi na pytanie uwzględniały fakt, że lista statusów może się zmienić w dowolnym momencie, aby można było dodać lub usunąć więcej.
Czy ktoś może wyjaśnić zalety / wady każdego z nich?
Twoje zdrowie!
Moje pierwsze zdanie na ten temat polega na tym, że lepiej jest użyć innej tabeli i sprawdzić status jako lepszy dla normalizacji i zawsze uczono mnie, że normalizacja jest dobra dla baz danych