Molte applicazioni richiedono che i record nelle loro tabelle abbiano uno stato, come "completo", "bozza", "annullato". Qual è il modo migliore per archiviare questi stati? Per illustrare quello che sto ottenendo qui è un * molto breve esempio.
Ho una semplice applicazione Blog e ogni post ha uno stato di: pubblicato, bozza o in sospeso.
Il modo in cui lo vedo ci sono 2 modi per modellarlo nel database.
- La tabella dei post contiene un campo di testo che include il testo di stato.
- La tabella dei post contiene un campo di stato che contiene l'ID di un record nella tabella PostStatus
L'esempio del blog qui è un esempio molto semplice. Dove un enum (se supportato) potrebbe essere sufficiente. Tuttavia, mi piacerebbe che le risposte alla domanda tengano conto del fatto che l'elenco degli stati potrebbe cambiare in qualsiasi momento, quindi è possibile aggiungerne o rimuoverne altri.
Qualcuno può spiegare i vantaggi / gli svantaggi di ciascuno?
Cheers!
La mia opinione iniziale su questo è che è meglio usare un'altra tabella e cercare lo stato come migliore per la normalizzazione e mi è sempre stato insegnato che la normalizzazione è buona per i database