Molte applicazioni richiedono che i record nelle loro tabelle abbiano uno stato, come "completo", "bozza", "annullato". Qual è il modo migliore per memorizzare questi stati? Per illustrare ciò che sto ottenendo qui è un esempio * molto breve).
Ho una semplice applicazione Blog e ogni post ha uno stato di: pubblicato, in bozza o in sospeso.
Per come la vedo io ci sono 2 modi per modellarlo nel database.
- La tabella Posta ha un campo di testo che include il testo dello stato.
- La tabella Post ha un campo di stato che contiene l'ID di un record nella tabella PostStatus
L'esempio Blog qui è un esempio molto semplice. Dove un enum (se supportato) potrebbe essere sufficiente. Tuttavia, vorrei che le risposte alla domanda prendessero in considerazione il fatto che l'elenco degli stati potrebbe cambiare in qualsiasi momento, in modo da poterne aggiungere o rimuovere altri.
Qualcuno può spiegare i vantaggi / gli svantaggi di ciascuno?
Saluti!
La mia scelta iniziale è 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