Modelagem de Classes / Dados

Pessoal,

Normalmente, durante o desenvolvimento de um sistema, surge a necessidade de termos atributos de diferentes domínios, que são de uso interno do sistema. Exemplos: Tipo de Pessoa ( Cliente, Fornecedor, Funcionário, etc ), Tipo de SGBC ( Oracle, Sybase, SQL ), Natureza da Conta ( Crédito, Débito ).

Geralmente, para não poluir o modelo de dados, eu não crio uma tabela para cada domínio, apesar de ser o ideal, dependendo da empresa o próprio DA barra a criação destas várias ‘tabelinhas’ de código/descrição, falando para colocar ‘hard-code’ este cadastro no sistema. Para evitar esta situação eu crio duas tabelas no banco de dados que funcionam como um cadastro de tabelas de sistema, e me referencio a estas tabelas através de siglas cadastradas nelas mesmas.

Tenho certeza que esta é uma situação extremamente comum e gostaria de saber se alguém faz isso de uma forma melhor/pior e como representam estas classes de nos seus modelos de classes.

Obrigado!

Não acho que criar várias tabelinhas seja conveniente…
Em alguns casos (não todos, em alguns tipos, dependendo da usabilidade) um campo CHAR(1) resolve o problema.

Por exemplo:
Tipo de Conta - Um simples ‘C’ e ‘D’ resolveria o problema.

Quanto a criar um “tabelão” contendo N descrições, também não acho legal.

Eu opto por sempre utilizar siglas para esses casos. Salvo algumas exceções.