Pergunta

Gostaria de receber sugestões sobre os geradores de dados que estão disponíveis, para o servidor SQL. Se a postar uma resposta, forneça todos os recursos que você acha que são importantes.

Eu nunca usei um pedido como este, então eu estou olhando para ser educado sobre o tema. Obrigado.

(Meu objetivo é preencher um banco de dados com mais de 10.000 registros em cada tabela, para testar um aplicativo.)

Foi útil?

Solução

Eu já rolou meu próprio gerador de dados que gera dados aleatórios em conformidade com expressões regulares. Ele se transformou em um projeto de aprendizagem (em desenvolvimento) e está disponível em github .

Outras dicas

Eu tenho usado o dados gerador no passado. Pode valer a pena dar uma olhada.

3rd party edit

Se você não se registrar, você só pode gerar 100 linhas. Abaixo, você pode encontrar uma amostra de como a interface parece hoje (Outubro de 2016)

 Exemplo de gerador de dados

Algo semelhante foi perguntado aqui: Criação de dados de teste em um banco de dados

Red Gate Gerador de Dados SQL faz um ótimo trabalho nesse domínio. Você pode personalizar todos os campos do seu banco de dados e usando dados aleatórios com sementes. E até mesmo criar padrões específicos usando expressões de Regex.

Para gerar dados de exemplo, eu uso aplicações simples em Python.

Considerações:

  1. Simples para modificar e configurar.

  2. Um conjunto repetitivo de dados que você pode para testes de desempenho e obter resultados consistentes.

  3. Siga todas as regras e restrições de integridade referencial DB.

  4. dados realistas.

Os dois primeiros indicam que você quiser produzir arquivos de script que irá carregar os seus dados. O terceiro é mais resistente. Há maneiras de descobrir os metadados de banco de dados e restrições. Olhando para 3 e 4 juntos, você não quer que a engenharia reversa simples - você quer algo que você pode controlar a produzir valores realistas.

Geralmente, você quer construir um modelo de entidade do seu próprio modo que você pode ter certeza de ter faixas e relacionamentos chave correta.

Você pode fazer isso três maneiras.

  1. Gerar arquivos CSV de dados que você pode carregar manualmente. Agradável dados de teste repetível.

  2. Gerar scripts SQL que você pode executar. dados repetíveis agradáveis, também.

  3. Use uma conexão ODBC para gerar dados diretamente no banco de dados. Na verdade, eu não gosto disso tanto, mas você pode.

Aqui está um despojado-down versão de uma tabela somente de um gerador de dados que grava um arquivo CSV.

import csv
import random

class SomeEntity( list ):
    titles = ( 'attr1', 'attr2' ) # ... for all columns
    def __init__( self ):
        self.append( random.randrange( 1, 10 ) )
        self.append( random.randrange( 100, 1000 ) )
        # ... for all columns

myData = [ SomeEntity() for i in range(10000) ]
aFile= open( 'tmp.csv', 'wb' )
dest= csv.writer( aFile )
dest.writerow( SomeEntity.titles )   
dest.writerows( myData )
aFile.close()

Por várias entidades, você tem que trabalhar a cardinalidade. Em vez de gerar chaves aleatórias, você quer fazer uma seleção aleatória das outras entidades. Então você pode ter ChildEntity escolher um elemento aleatório de ParentEntity para assegurar que a relação FK-PK foi correta.

Use random.choice(someList) e random.shuffle(someList) para garantir a integridade referencial.

Visual Database Studio Team System Edition (aka Dados Cara) faz isso.

Eu não tê-lo usado para a geração de dados ainda, mas 2 apresenta bom som:

  1. Defina o seu próprio valor de semente para o gerador de dados aleatórios. Isso permite que você prodcue os mesmos dados aleatórios mais de uma vez.

  2. ponto o assistente em um banco de dados 'real' e tê-lo gerar algo que se parece com dados reais.

Talvez estas são características padrão em outro lugar?

Eu só descobri sobre isso: Spawner

este é para livre: http://www.sqldog.com contém diversas funções como: gerador de dados, pesquisa de texto completo, criar documentação de banco de dados, conexões de banco de dados ativos

Eu usei uma ferramenta chamada Datatect para isso.

Algumas das coisas que eu gosto sobre esta ferramenta:

  1. Usa ODBC para que possa gerar dados em qualquer fonte de dados ODBC. Eu usei isso para bancos de dados Oracle, SQL e MS Access, arquivos planos e planilhas do Excel.
  2. Extensible via VBScript. Você pode escrever ganchos em várias partes do fluxo de trabalho de geração de dados para estender as capacidades da ferramenta.
  3. referencialmente conscientes. Ao preencher colunas de chave estrangeira, puxa chaves válidas da tabela pai.

Eu usei isso antes

http://sqlmanager.net/en/products/mssql/datagenerator

A sua não é livre embora.

Ref verificação de integridade é muito importante, ou seus testes não será bom sem correlacionar dados relacionados. (Na maioria dos casos)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top