Database
 sql >> Base de Dados >  >> RDS >> Database

Como gerar dados de teste de banco de dados


Os usuários do IRI RowGen podem gerar dados de teste sintéticos estrutural e referencialmente corretos para um banco de dados inteiro em uma única operação. Os dados de teste refletem as características de produção (como intervalos de valores e frequências) normalmente encontradas em operações de banco de dados ou ETL, mas não exigem acesso ou mascaramento de dados reais.

Os assistentes de trabalho do usuário final para RowGen na IRI Workbench GUI (construído no Eclipse™) ajudam na geração de dados de teste. Um dos mais úteis é o Novo trabalho de dados de teste de banco de dados RowGen assistente, que cria um projeto RowGen inteiro para preencher automaticamente várias tabelas de uma só vez com valores de chave pré-ordenados e a oportunidade de personalização. Embora dependa de metadados existentes para cada tabela de teste, você também pode personalizar — e generalizar por meio de regras — a geração de valores de coluna.

Neste artigo, demonstrarei como você pode usar o IRI Workbench para criar tabelas de destino no Oracle e diagramar seu esquema e, em seguida, usar um de seus assistentes RowGen para gerar e carregar dados de teste nessas tabelas.

Como um aparte, também quero que o RowGen insira valores reais selecionados aleatoriamente em determinadas colunas dos dados do arquivo definido. Um arquivo de conjunto é um arquivo de texto com uma ou mais linhas, que pode ter várias colunas delimitadas por tabulação que você fornece ou extrai automaticamente em outro assistente do Workbench, Definir arquivo da coluna. No meu caso, no entanto, criei meus arquivos de conjunto manualmente:emp.set, item.set, project.set, quantidade.set, salário.set, department.set e category.set.

Aqui estão as etapas que segui, observando que eu tinha as informações da minha tabela de destino e que você precisará das mesmas:

Etapa 1. Criar tabelas de destino vazias
  1. Estabeleça a conexão do banco de dados (Oracle neste caso) via JDBC no Data Source Explorer (DSE) do IRI Workbench
  2. Especifique Dept, Emp, Project, Category, Item, Item_Use, Sale escrevendo as instruções CREATE TABLE e ALTER TABLE em um arquivo .sql editado no álbum de recortes SQL do DSE
  3. Salve-o em uma pasta Project e clique com o botão direito do mouse para executar o arquivo SQL para construir as tabelas

Etapa 2. Crie e mostre seu diagrama ER
  1. Acima da barra de ferramentas, selecione Novo, projeto IRI e crie uma nova pasta
  2. Clique nessa pasta e destaque as 7 novas tabelas acima no DSE
  3. Clique com o botão direito do mouse em IRI e selecione Novo modelo de diagrama ER
  4. Isso cria um novo modelo de esquema e arquivo, schema.sqlschema, na pasta do seu projeto



Observe que o DSE e a ferramenta ER Diagramming do IRI são independentes de banco de dados.



Etapa 3. Produza dados de teste com o RowGen Database Test Data Wizard
  1. CTRL+clique para selecionar essas 7 tabelas no DSE novamente
  2. Clique com o botão direito e selecione IRI, Novo trabalho de dados de teste de banco de dados
  3. Clique em Avançar quando o assistente abrir, pois você já havia pré-selecionado as tabelas a serem preenchidas:


  • Clique em Avançar e, na tela Opções, selecione SQL*Loader como o método de preenchimento
  • Especifique o número padrão de linhas em 1.000 por tabela, observando que também posso variar essa contagem:


    1. Clique em Avançar para avançar para a caixa de diálogo Configuração de regras, onde você pode adicionar ou modificar várias regras de geração em nível de campo geradas graficamente em caixas de diálogo do Seletor de regras:



    Como é aqui que vou inserir condicionalmente dados reais selecionados aleatoriamente (dos meus arquivos de conjunto), em colunas semelhantes em várias tabelas, aplicarei a geração como regra sempre que o nome da coluna estiver em conformidade com um padrão que eu especificar.
    1. Estou iniciando meu aplicativo de dados de conjunto com "item" desse arquivo, então agora adicione o campo padrão add Item_Name* e clique em teste para correspondências para verificar se (e onde) esse nome de coluna existe
    2. Em seguida, selecione um campo no menu Opções de regra e selecione Definir arquivo. Eu navego até meu arquivo item.set para especificar seu uso em qualquer coluna chamada ou como Item_Name.
    3. Repito estas etapas para aplicar dados de meus arquivos de conjunto para colunas nomeadas para Category_Name, Dept_Num, Emp_Name, Item_Name para aprimorar o realismo dos dados de teste:


    1. Clique em Avançar para chegar a esta tela de resumo do trabalho:


    1. Clique em Concluir para concluir o assistente.

    O assistente RowGen criou automaticamente os scripts de linguagem de controle de texto simples (.rcl) que especificam a geração de dados de teste para cada tabela, bem como arquivos de conjunto dependentes (para integridade referencial), arquivos de controle SQL*Loader e um arquivo em lote para executar tudo de uma vez, dentro ou fora do IRI Workbench.

    A execução do arquivo em lote que o RowGen produziu cria todos os dados de teste necessários em arquivos simples e preenche todas as tabelas de destino com esses dados conforme você escolheu no assistente (via ODBC ou seu utilitário de carregamento de banco de dados), na ordem necessária para preservar os dados primários. relacionamentos de chave estrangeira. As tabelas carregadas em massa foram pré-classificadas na chave de índice de cada tabela, e os valores nos arquivos definidos foram inseridos aleatoriamente nas colunas certas.

    Esta captura de tela do IRI Workbench mostra um dos scripts de trabalho RowGen e uma tabela de destino:



    Todos os scripts de trabalho do RowGen foram salvos na pasta que selecionei no início e estão disponíveis para modificação, reutilização, compartilhamento de equipe, controle de versão, etc. O modelo de fluxo de trabalho criado para a geração de dados de teste também pode ser diagramado no editor de fluxo de trabalho visual, com ETL e outros projetos de gerenciamento de dados IRI.

    Entre em contato com [email protected] se precisar de ajuda para planejar ou usar este assistente.