Né. In genere utilizzeresti tinyint con una tabella di ricerca
-
char(1) sarà leggermente più lento perché il confronto utilizza le regole di confronto
-
confusione:poiché ti estendi a più di A e P
-
l'uso di una lettera ti limita quando aggiungi più tipi. Vedi ultimo punto.
-
ogni sistema che ho visto ha più di un client, ad esempio reporting. A e P devono essere risolti in Attivo e Passivo per ogni codice client
-
estensibilità:aggiungi un altro tipo ("S" per "Sospeso") puoi una riga in una tabella di ricerca o modificare molto codice e vincoli. E anche il tuo codice cliente
-
manutenzione:la logica è in 3 posti:vincolo database, codice database e codice client. Con una ricerca e una chiave esterna, può trovarsi in un unico posto
-
Enum non è portatile
Il lato positivo dell'utilizzo di una singola lettera o Enum
Nota:esiste una domanda relativa a DBA.SE domanda MySQL sugli Enum . Il consiglio è di utilizzare una tabella di ricerca anche lì.