Estou trabalhando no desenvolvimento de um banco de dados relacional que rastreia as transações que ocorrem em um dispositivo em que estou trabalhando para minha empresa. Existem diferentes tipos de transações que podem ocorrer no dispositivo, portanto, temos um campo "trans_type" em uma de nossas principais tabelas de registros. Meu grupo decidiu tornar o tipo desse campo um número inteiro e tratá-lo como um tipo enumerado. Minha intuição me diz que seria uma idéia melhor transformar esse campo em uma string para que nossos dados do banco de dados fossem mais legíveis e utilizáveis. Meus colegas de trabalho parecem preocupados que isso cause mais problemas do que vale a pena. As comparações de strings são muito caras e a possibilidade de erros de digitação é uma barreira muito grande.
Portanto, na sua opinião, ao lidar com um campo em um banco de dados relacional que é essencialmente um valor enumerado, é uma decisão de design melhor tornar esse campo um número inteiro ou uma string? Ou há alguma outra alternativa que eu tenha esquecido?
Nota: tipos enumerados explícitos não são suportados pelo banco de dados que estamos usando. E o software que estamos desenvolvendo que fará interface com esse banco de dados está escrito em C ++.