¿Cuál es el mejor diseño para una tabla, un Typecampo que es de into char(1)? En otras palabras, dado este esquema:
create table Car
(
Name varchar(100) not null,
Description varchar(100) not null,
VehType .... not null
)
¿Es más eficiente (en cuanto al rendimiento) VehTypeser un into un char(1)? Digamos que tiene cinco tipos de automóviles, ¿debería usar los valores incrementales 0 -> 4, o caracteres para los tipos (por ejemplo, 'v', 's', 'c', 't', 'm')?
Si es más que eso, usaría una tabla Tipo separada y tendría una relación de clave externa, pero no veo la necesidad de eso.
Noto que la sys.objectsvista de catálogo usa un carácter para el typecampo. ¿Hay alguna razón para eso? ¿Estoy agarrando el aire aquí y es con lo que me siento más cómodo?
fuente

Solo como un complemento a la gran respuesta de gbn .
Tal vez podrías crear algo así:
Entonces puede hacer lo que quiera con su enumeración mientras mantiene la integridad relacional (usando una clave foránea). Con la
codecolumna puede usar sus códigos char a voluntad, por lo que quedará documentado en la base de datos (y puede extraer la información del código directamente de DB, sin una transformación complicada en el código de la aplicación para una integración de sistemas).fuente
nullcódigo?