Un grand nombre d'applications nécessitent que les enregistrements de leurs tableaux aient un statut, tel que «terminé», «brouillon», «annulé». Quelle est la meilleure façon de stocker ces statuts? Pour illustrer ce que je veux en venir ici est un * très court) exemple.
J'ai une application de blog simple et chaque article a un statut: publié, brouillon ou en attente.
La façon dont je le vois, il y a 2 façons de modéliser cela dans la base de données.
- La table Post a un champ de texte qui inclut le texte d'état.
- La table Post a un champ d'état qui contient l'ID d'un enregistrement dans la table PostStatus
L'exemple de blog ici est un exemple très simple. Où une énumération (si elle est prise en charge) peut suffire. Cependant, j'aimerais que les réponses à la question tiennent compte du fait que la liste des statuts peut changer à tout moment, de sorte que d'autres pourraient être ajoutés ou supprimés.
Quelqu'un peut-il expliquer les avantages / inconvénients de chacun?
À votre santé!
Mon premier choix à ce sujet est qu'il vaut mieux utiliser une autre table et rechercher l'état comme meilleur pour la normalisation et on m'a toujours appris que la normalisation est bonne pour les bases de données