Database
 sql >> Datenbank >  >> RDS >> Database

So generieren Sie DB-Testdaten

Benutzer von IRI RowGen können strukturell und referenziell korrekte synthetische Testdaten für eine gesamte Datenbank in einem einzigen Vorgang generieren. Die Testdaten spiegeln Produktionsmerkmale (wie Wertebereiche und Häufigkeiten) wider, die normalerweise bei Datenbank- oder ETL-Vorgängen auftreten, erfordern jedoch keinen Zugriff auf echte Daten oder deren Maskierung.

Endbenutzer-Job-Wizards für RowGen in der IRI Workbench-GUI (basierend auf Eclipse™) helfen bei der Generierung von Testdaten. Einer der nützlichsten ist der New RowGen Database Test Data Job Assistent, der ein ganzes RowGen-Projekt erstellt, um mehrere Tabellen gleichzeitig automatisch mit vorsortierten Schlüsselwerten und der Möglichkeit zur Anpassung zu füllen. Obwohl es sich auf vorhandene Metadaten für jede Testtabelle stützt, können Sie die Generierung von Spaltenwerten auch anpassen – und über Regeln verallgemeinern.

In diesem Artikel werde ich demonstrieren, wie Sie mit IRI Workbench Zieltabellen in Oracle erstellen und ihr Schema grafisch darstellen und dann einen der RowGen-Assistenten verwenden können, um Testdaten zu generieren und in diese Tabellen zu laden.

Nebenbei möchte ich auch, dass RowGen zufällig ausgewählte reelle Werte in bestimmte Spalten aus festgelegten Dateidaten einfügt. Eine Set-Datei ist eine Textdatei mit einer oder mehreren Zeilen, die mehrere tabulatorgetrennte Spalten haben kann, die Sie in einem anderen Workbench-Assistenten, Set File from Column, bereitstellen oder automatisch extrahieren. In meinem Fall habe ich meine Set-Dateien jedoch manuell erstellt:emp.set, item.set, project.set, Quantity.set, Salary.set, Department.Set und Category.Set.

Hier sind die Schritte, die ich befolgt habe, wobei ich feststellte, dass ich meine Zieltabelleninformationen hatte und dass Sie dieselben benötigen:

Schritt 1. Leere Zieltabellen erstellen

  1. Stellen Sie die Datenbankverbindung (in diesem Fall Oracle) über JDBC im Data Source Explorer (DSE) von IRI Workbench her
  2. Geben Sie Dept, Emp, Project, Category, Item, Item_Use, Sale an, indem Sie ihre CREATE TABLE- und ALTER TABLE-Anweisungen in eine .sql-Datei schreiben, die im SQL-Sammelalbum von DSE bearbeitet wird
  3. Speichern Sie es in einem Projektordner und klicken Sie mit der rechten Maustaste darauf, um die SQL-Datei zum Erstellen der Tabellen auszuführen

Schritt 2. Erstellen und zeigen Sie ihr ER-Diagramm

  1. Wählen Sie über der Symbolleiste Neu, IRI-Projekt und erstellen Sie einen neuen Ordner
  2. Klicken Sie auf diesen Ordner und markieren Sie dann die 7 neuen Tabellen oben in der DSE
  3. Klicken Sie mit der rechten Maustaste auf IRI und wählen Sie dann Neues ER-Diagrammmodell aus
  4. Dadurch werden ein neues Schemamodell und eine Datei, schema.sqlschema, in Ihrem Projektordner erstellt

Beachten Sie, dass das DSE- und das ER-Diagrammtool von IRI beide DB-agnostisch sind.

Schritt 3. Produzieren Sie Testdaten mit dem RowGen Database Test Data Wizard

  1. STRG-Klick, um diese 7 Tabellen in der DSE erneut auszuwählen
  2. Klicken Sie mit der rechten Maustaste und wählen Sie IRI, New Database Test Data Job
  3. Klicken Sie auf Weiter, wenn der Assistent geöffnet wird, da Sie die auszufüllenden Tabellen bereits vorab ausgewählt haben:

  • Klicken Sie auf "Weiter" und wählen Sie im Bildschirm "Optionen" SQL*Loader als Auffüllungsmethode aus
  • Geben Sie die Standardanzahl von Zeilen mit 1000 pro Tabelle an und beachten Sie, dass ich diese Anzahl auch variieren könnte:
    1. Klicken Sie auf „Weiter“, um zum Dialogfeld „Regelkonfiguration“ zu gelangen, wo Sie verschiedene Generierungsregeln auf Feldebene hinzufügen oder ändern können, die grafisch in Dialogfeldern der Regelauswahl generiert werden:

    Da ich hier bedingt zufällig ausgewählte reale Daten (aus meinen Set-Dateien) in gleiche Spalten über mehrere Tabellen hinweg einfügen werde, werde ich die Generierung als Regel anwenden, wenn der Spaltenname einem von mir festgelegten Muster entspricht.

    1. Ich beginne meine Anwendung von Satzdaten mit „item“ aus dieser Datei und füge daher jetzt das Musterfeld add Item_Name* hinzu und klicke auf Übereinstimmungen testen, um zu überprüfen, ob (und wo) dieser Spaltenname vorhanden ist
    2. Wählen Sie als Nächstes ein Feld aus dem Menü „Regeloptionen“ und dann „Datei festlegen“ aus. Ich navigiere zu meiner item.set-Datei, um ihre Verwendung in jeder Spalte anzugeben, die wie oder ähnlich Item_Name benannt ist.
    3. Ich wiederhole diese Schritte, um Daten aus meinen Satzdateien für Spalten anzuwenden, die nach Category_Name, Dept_Num, Emp_Name, Item_Name benannt sind, um den Realismus der Testdaten zu verbessern:

    1. Klicken Sie auf "Weiter", um zu diesem Bildschirm mit der Jobzusammenfassung zu gelangen:

    1. Klicken Sie auf "Fertig stellen", um den Assistenten abzuschließen.

    Der RowGen-Assistent hat automatisch die Klartext-Steuersprachenskripts (.rcl) erstellt, die die Generierung von Testdaten für jede Tabelle angeben, sowie abhängige Satzdateien (für die referenzielle Integrität), SQL*Loader-Steuerdateien und eine Batchdatei für alles auf einmal ausführen, innerhalb oder außerhalb der IRI Workbench.

    Das Ausführen der von RowGen erstellten Batch-Datei erstellt alle erforderlichen Testdaten in Flatfiles und füllt alle Zieltabellen mit diesen Daten, wie Sie es im Assistenten ausgewählt haben (über ODBC oder Ihr DB-Ladedienstprogramm), in der Reihenfolge, die erforderlich ist, um Primär- Fremdschlüsselbeziehungen. Die per Bulk-Verfahren geladenen Tabellen wurden nach dem Indexschlüssel für jede Tabelle vorsortiert und die Werte in den Satzdateien wurden zufällig in die richtigen Spalten eingefügt.

    Dieser IRI Workbench-Screenshot zeigt eines der RowGen-Jobskripte und eine Zieltabelle:

    Alle RowGen-Jobskripte wurden in dem Ordner gespeichert, den ich zu Beginn ausgewählt hatte, und stehen für Änderungen, Wiederverwendung, Teamfreigabe, Versionskontrolle usw. zur Verfügung visueller Workflow-Editor mit ETL und anderen IRI-Datenverwaltungsprojekten.

    Wenden Sie sich an [email protected], wenn Sie Hilfe bei der Planung oder Verwendung dieses Assistenten benötigen.