Question

Je souhaite recevoir des suggestions sur les générateurs de données disponibles pour SQL Server. Si vous publiez une réponse, veuillez fournir toute fonctionnalité que vous jugez importante.

Je n’ai jamais utilisé une telle application, je souhaite donc être informé sur le sujet. Merci.

(Mon objectif est de remplir une base de données avec plus de 10 000 enregistrements dans chaque table, afin de tester une application.)

Était-ce utile?

La solution

J'ai lancé mon propre générateur de données qui génère des données aléatoires conformes aux expressions régulières. Il s’est transformé en un projet d’apprentissage (en cours de développement) et est disponible à l'adresse github .

Autres conseils

J'ai déjà utilisé le générateur de données . Ça vaut peut-être le coup d'oeil.

Modification par un tiers

Si vous ne vous inscrivez pas, vous ne pouvez générer que 100 lignes. Vous trouverez ci-dessous un exemple de l'interface actuelle (octobre 2016)

 Exemple de générateur de données

Quelque chose de similaire a été demandé ici: Créer des données de test dans une base de données

Le générateur de données SQL Red Gate fait un excellent travail dans ce domaine. domaine. Vous pouvez personnaliser chaque champ de votre base de données et utiliser des données aléatoires avec des semences. Et même créer des motifs spécifiques en utilisant des expressions Regex.

Pour générer des exemples de données, j'utilise des applications Python simples.

Considérations:

  1. Simple à modifier et à configurer.

  2. Ensemble de données répétable que vous pouvez utiliser pour tester les performances et obtenir des résultats cohérents.

  3. Suivez toutes les règles et contraintes d'intégrité référentielle de la base de données.

  4. Données réalistes.

Les deux premiers indiquent que vous souhaitez générer des fichiers de script qui chargeront vos données. Le troisième est plus difficile. Il existe des moyens de découvrir les métadonnées et les contraintes de la base de données. Si vous regardez 3 et 4 ensemble, vous ne voulez pas d'une ingénierie inverse simple, vous voulez quelque chose que vous pouvez contrôler pour produire des valeurs réalistes.

En règle générale, vous souhaitez créer votre propre modèle d'entité afin de vous assurer que les plages et les relations de clé sont correctes.

Vous pouvez le faire de trois manières.

  1. Générez des fichiers CSV de données que vous pouvez charger manuellement. Belles données de test répétables.

  2. Générez des scripts SQL que vous pouvez exécuter. De bonnes données répétables, aussi.

  3. Utilisez une connexion ODBC pour générer des données directement dans la base de données. En fait, je n'aime pas autant ça, mais vous pourriez.

Voici une version simplifiée à une seule table d'un générateur de données qui écrit un fichier 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()

Pour plusieurs entités, vous devez déterminer la cardinalité. Au lieu de générer des clés aléatoires, vous souhaitez effectuer une sélection aléatoire parmi les autres entités. ChildEntity peut donc choisir un élément aléatoire de ParentEntity pour s'assurer que la relation FK-PK est correcte.

Utilisez random.choice (someList) et random.shuffle (someList) pour assurer l'intégrité référentielle.

Cette opération concerne l’édition de base de données Visual Studio Team System (alias Data Dude).

Je ne l'ai pas encore utilisé pour la génération de données, mais deux fonctionnalités sont agréables:

  1. Définissez votre propre valeur de départ pour le générateur de données aléatoires. Cela vous permet de générer plusieurs fois les mêmes données aléatoires.

  2. Pointez l'assistant sur une "vraie" base de données et laissez-la générer quelque chose qui ressemble à de vraies données.

Peut-être que ce sont des fonctionnalités standard ailleurs?

Je viens de découvrir à ce sujet: Spawner

celui-ci est gratuit: http://www.sqldog.com contient plusieurs fonctions telles que: générateur de données, recherche en texte intégral, création d'une documentation de base de données, connexions actives à la base de données

J'ai utilisé un outil appelé Datatect pour cela.

Certaines des choses que j'aime dans cet outil:

  1. Utilise ODBC pour pouvoir générer des données dans n’importe quelle source de données ODBC. Je l'ai utilisé pour les bases de données Oracle, SQL et MS Access, les fichiers plats et les feuilles de calcul Excel.
  2. Extensible via VBScript. Vous pouvez écrire des points d'ancrage à différentes parties du flux de production de données pour étendre les capacités de l'outil.
  3. Référentiellement conscient. Lors du remplissage des colonnes de clé étrangère, extrait les clés valides de la table parent.

Je l'ai déjà utilisé

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

Ce n'est pas gratuit, cependant.

La vérification de l’intégrité des références est très importante, sinon vos tests ne serviront à rien sans la corrélation des données associées (dans la plupart des cas)

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top