São dados que surgem em resposta a requisitos técnicos como: normalização de dados, garantia da integridade de dados ou melhoria na entrada de dados. Em geral são dados essencialmente estáticos que possuem poucos atributos, tipicamente código e descrição. Estes dados não contribuem para o tamanho funcional do software, nem as transações que os manipulam.
Também chamados de dados de lista ou dados de tradução. O usuário nem sempre os especifica diretamente. Em outros casos, são identificados pelo desenvolvedor em resposta a um ou mais requisitos técnicos do usuário. Provêem uma lista de valores válidos que um atributo descritivo pode assumir. Tipicamente seus atributos são código, descrição e/ou outros atributos "padrão" descrevendo o código; por exemplo, abreviação padrão, datas de início e término de vigência, dados de auditoria, ativo/inativo, etc.
A diferença chave entre Dados de Código e Dados de Referência é: • Com Dados de Código, você pode substituir um pelo outro sem alteração do significado dos Dados do Negócio. Ex.: Código do Aeroporto X Nome do Aeroporto, Código da Cor X Descrição da Cor. • Com Dados de Referência você não pode substituir (Ex.: Código do Imposto com a Alíquota do Imposto)
Características lógicas incluem: • Dados são obrigatórios para a área funcional, mas armazenado opcionalmente como um arquivo de dados • Geralmente não identificado como parte dos requisitos funcionais; ele é normalmente identificado como parte do projeto para satisfazer requisitos técnicos • Às vezes mantidos pelo usuário (normalmente por um usuário do suporte) • Armazena dados para padronizar e facilitar atividades do negócio e transações do negócio • Essencialmente estático – apenas alterado em resposta a mudanças na maneira que o negócio é operado • Transações do negócio acessam Dados de Código para melhorar casos de entradas de dados, melhorar a consistência de dados, garantir integridade de dados, etc.
Características físicas incluem: • Possui campos chave e normalmente um ou dois atributos apenas • Tipicamente tem um número estável de registros • As vezes desnormalizado e armazenado em uma tabela física com outros Dados de Código • Pode ser implementado de diferentes formas (ex.: em uma aplicação separada, dicionário de dados ou diretamente no código fonte do software)
Exemplos: • Dados estáticos • Dados de substituição (código + descrição) • Dados de domínio de valores