Ni. Vous utiliserez généralement tinyint avec une table de recherche
-
char(1) sera légèrement plus lent car la comparaison utilise le classement
-
confusion :lorsque vous vous étendez à plus de A et P
-
l'utilisation d'une lettre vous limite lorsque vous ajoutez d'autres types. Voir dernier point.
-
chaque système que j'ai vu a plus d'un client, par exemple des rapports. A et P doivent être résolus en Actif et Passif pour chaque code client
-
extensibilité :ajoutez un type supplémentaire ("S" pour "Suspendu"), vous pouvez ajouter une ligne à une table de recherche ou modifier beaucoup de code et de contraintes. Et votre code client aussi
-
maintenance :la logique est à 3 endroits :contrainte de base de données, code de base de données et code client. Avec une recherche et une clé étrangère, il peut être au même endroit
-
Enum n'est pas portable
Sur le côté positif de l'utilisation d'une seule lettre ou Enum
Remarque :il existe une question DBA.SE MySQL sur les énumérations . La recommandation est d'utiliser également une table de recherche.