Database
 sql >> Base de données >  >> RDS >> Database

Comment générer des données de test de base de données

Les utilisateurs d'IRI RowGen peuvent générer des données de test synthétiques structurellement et référentiellement correctes pour une base de données entière en une seule opération. Les données de test reflètent les caractéristiques de production (telles que les plages de valeurs et les fréquences) normalement rencontrées dans les opérations de base de données ou ETL, mais ne nécessitent pas d'accès ni de masquage de données réelles.

Les assistants de travail des utilisateurs finaux pour RowGen dans l'interface graphique IRI Workbench (basée sur Eclipse™) aident à la génération de données de test. L'un des plus utiles est le Nouveau travail de données de test de base de données RowGen assistant, qui construit un projet RowGen entier pour remplir automatiquement plusieurs tables à la fois avec des valeurs de clé pré-triées et la possibilité de personnalisation. Bien qu'il s'appuie sur des métadonnées existantes pour chaque table de test, vous pouvez également personnaliser - et généraliser via des règles - la génération des valeurs de colonne.

Dans cet article, je vais vous montrer comment vous pouvez utiliser IRI Workbench pour créer des tables cibles dans Oracle et schématiser leur schéma, puis utiliser l'un de ses assistants RowGen pour générer et charger des données de test dans ces tables.

En passant, je souhaite également que RowGen insère des valeurs réelles sélectionnées au hasard dans certaines colonnes à partir de données de fichiers définies. Un fichier d'ensemble est un fichier texte avec une ou plusieurs lignes, qui peut avoir plusieurs colonnes délimitées par des tabulations que vous fournissez ou que vous extrayez automatiquement dans un autre assistant Workbench, Définir le fichier à partir de la colonne. Dans mon cas, cependant, j'ai créé mes fichiers d'ensemble manuellement :emp.set, item.set, project.set, Quantity.set, Salaire.set, Department.set et Category.set.

Voici les étapes que j'ai suivies, notant que j'avais mes informations de table cible, et que vous aurez besoin des mêmes :

Étape 1. Créer des tables cibles vides

  1. Établir la connexion à la base de données (Oracle dans ce cas) via JDBC dans l'explorateur de sources de données (DSE) d'IRI Workbench
  2. Spécifiez Dept, Emp, Project, Category, Item, Item_Use, Sale en écrivant leurs instructions CREATE TABLE et ALTER TABLE dans un fichier .sql modifié dans l'album SQL de DSE
  3. Enregistrez-le dans un dossier de projet et faites un clic droit dessus pour exécuter le fichier SQL pour créer les tables

Étape 2. Créer et afficher leur diagramme ER

  1. Au-dessus de la barre d'outils, sélectionnez Nouveau, Projet IRI et créez un nouveau dossier
  2. Cliquez sur ce dossier, puis mettez en surbrillance les 7 nouveaux tableaux ci-dessus dans le DSE
  3. Cliquez avec le bouton droit sur IRI, puis sélectionnez Nouveau modèle de diagramme ER
  4. Cela crée un nouveau modèle de schéma et un fichier, schema.sqlschema, dans votre dossier de projet

Notez que le DSE et l'outil de création de diagrammes ER de l'IRI sont tous deux indépendants de la base de données.

Étape 3. Produire des données de test avec l'assistant de données de test de base de données RowGen

  1. CTRL-clic pour sélectionner à nouveau ces 7 tables dans le DSE
  2. Cliquez avec le bouton droit de la souris et sélectionnez IRI, Nouvelle tâche de données de test de base de données
  3. Cliquez sur Suivant lorsque l'assistant s'ouvre, car vous avez déjà présélectionné les tableaux à remplir :

  • Cliquez sur Suivant, et dans l'écran Options, sélectionnez SQL*Loader comme méthode de remplissage
  • Spécifiez le nombre standard de lignes à 1 000 par table, en notant que je peux également faire varier ce nombre :
    1. Cliquez sur Suivant pour accéder à la boîte de dialogue Configuration des règles, dans laquelle vous pouvez ajouter ou modifier diverses règles de génération au niveau du champ générées graphiquement dans les boîtes de dialogue à partir du sélecteur de règles :

    Comme c'est là que j'insérerai conditionnellement des données réelles sélectionnées au hasard (à partir de mes fichiers définis), dans des colonnes similaires sur plusieurs tables, j'appliquerai la génération comme règle chaque fois que le nom de la colonne est conforme à un modèle que je spécifie.

    1. Je commence mon application de données d'ensemble avec "item" à partir de ce fichier, et donc maintenant ajoutez le champ de modèle add Item_Name* et cliquez sur tester les correspondances pour vérifier si (et où) ce nom de colonne existe
    2. Ensuite, sélectionnez un champ dans le menu Options de règle et sélectionnez Définir le fichier. Je navigue jusqu'à mon fichier item.set pour spécifier son utilisation dans n'importe quelle colonne nommée comme ou comme Item_Name.
    3. Je répète ces étapes pour appliquer les données de mes fichiers d'ensemble pour les colonnes nommées pour Category_Name, Dept_Num, Emp_Name, Item_Name afin d'améliorer le réalisme des données de test :

    1. Cliquez sur Suivant pour arriver à cet écran récapitulatif :

    1. Cliquez sur Terminer pour terminer l'assistant.

    L'assistant RowGen a automatiquement créé les scripts de langage de contrôle en texte brut (.rcl) qui spécifient la génération de données de test pour chaque table, ainsi que des fichiers d'ensemble dépendants (pour l'intégrité référentielle), des fichiers de contrôle SQL*Loader et un fichier de commandes pour exécuter tout en même temps, dans ou en dehors de l'IRI Workbench.

    L'exécution du fichier de commandes produit par RowGen crée toutes les données de test nécessaires dans des fichiers plats et remplit toutes les tables cibles avec ces données que vous avez choisies dans l'assistant (via ODBC ou votre utilitaire de chargement de base de données), dans l'ordre nécessaire pour préserver le primaire- relations de clé étrangère. Les tables chargées en bloc ont été pré-triées sur la clé d'index de chaque table, et les valeurs des fichiers définis ont été insérées de manière aléatoire dans les bonnes colonnes.

    Cette capture d'écran IRI Workbench montre l'un des scripts de travail RowGen et une table cible :

    Tous les scripts de travail RowGen ont été enregistrés dans le dossier que j'avais sélectionné au début et sont disponibles pour modification, réutilisation, partage d'équipe, contrôle de version, etc. Le modèle de flux de travail créé pour la génération de données de test peut également être schématisé dans le éditeur de flux de travail visuel, avec ETL et d'autres projets de gestion de données IRI.

    Contactez [email protected] si vous avez besoin d'aide pour planifier ou utiliser cet assistant.