Je travaille sur le développement d'une base de données relationnelle qui suit les transactions qui se produisent sur un appareil sur lequel je travaille pour mon entreprise. Il existe différents types de transactions qui peuvent se produire sur l'appareil, nous avons donc un champ "trans_type" dans l'une de nos principales tables d'enregistrement. Mon groupe a décidé de faire du type de ce champ un entier et de le traiter comme un type énuméré. Mon intuition me dit qu'il serait préférable de faire de ce champ une chaîne afin que nos données de base de données soient plus lisibles et utilisables. Mes collègues semblent craindre que cela ne cause plus de problèmes que cela n'en vaut la peine. Les comparaisons de chaînes sont trop coûteuses et la possibilité de fautes de frappe est trop grande.
Donc, à votre avis, lorsqu'il s'agit d'un champ dans une base de données relationnelle qui est essentiellement une valeur énumérée, est-il une meilleure décision de conception de faire de ce champ un entier ou une chaîne? Ou y a-t-il une autre alternative que j'ai négligée?
Remarque: les types énumérés explicites ne sont pas pris en charge par la base de données que nous utilisons. Et le logiciel que nous développons qui interfacera avec cette base de données est écrit en C ++.