sql >> Databasteknik >  >> RDS >> Database

Hur man genererar DB-testdata

IRI RowGen-användare kan generera strukturellt och referensmässigt korrekt syntetisk testdata för en hel databas i en enda operation. Testdatan återspeglar produktionsegenskaper (som värdeintervall och frekvenser) som normalt påträffas i databas- eller ETL-operationer, men kräver inte åtkomst till eller maskering av verklig data.

Jobbguider för slutanvändare för RowGen i IRI Workbench GUI (byggd på Eclipse™) hjälper till att generera testdata. En av de mest användbara är New RowGen Database Test Data Job wizard, som bygger ett helt RowGen-projekt för att automatiskt fylla i flera tabeller samtidigt med försorterade nyckelvärden och möjlighet till anpassning. Även om den förlitar sig på befintlig metadata för varje testtabell, kan du också anpassa – och generalisera via regler – genereringen av kolumnvärden.

I den här artikeln kommer jag att visa hur du kan använda IRI Workbench för att skapa måltabeller i Oracle och diagram över deras schema, och sedan använda en av dess RowGen-guider för att generera och ladda testdata i dessa tabeller.

För övrigt vill jag också att RowGen infogar slumpmässigt valda verkliga värden i vissa kolumner från inställd fildata. En uppsättningsfil är en textfil med en eller flera rader, som kan ha flera tabbavgränsade kolumner som du anger eller extraherar automatiskt i en annan Workbench-guide, Set File from Column. I mitt fall skapade jag dock mina uppsättningsfiler manuellt:emp.set, item.set, project.set, quantity.set, salary.set, department.set och category.set.

Här är stegen jag följde, och noterade att jag hade min måltabellinformation och att du kommer att behöva samma:

Steg 1. Skapa tomma måltabeller

  1. Etablera databasanslutningen (i det här fallet Oracle) via JDBC i IRI Workbenchs Data Source Explorer (DSE)
  2. Ange Dept, Emp, Project, Category, Item, Item_Use, Sale genom att skriva deras CREATE TABLE- och ALTER TABLE-satser till en .sql-fil redigerad i DSE:s SQL-klippbok
  3. Spara den i en projektmapp och högerklicka på den för att köra SQL-filen för att bygga tabellerna

Steg 2. Skapa och visa deras ER-diagram

  1. Välj Nytt, IRI-projekt ovanför verktygsfältet och skapa en ny mapp
  2. Klicka på den mappen och markera sedan de 7 nya tabellerna ovan i DSE
  3. Högerklicka på IRI och välj sedan New ER diagram model
  4. Detta skapar en ny schemamodell och fil, schema.sqlschema, i din projektmapp

Observera att DSE och ER Diagramming-verktyget från IRI båda är DB-agnostiska.

Steg 3. Producera testdata med RowGen Database Test Data Wizard

  1. CTRL-klicka för att välja de 7 tabellerna i DSE igen
  2. Högerklicka och välj IRI, New Database Test Data Job
  3. Klicka på Nästa när guiden öppnas, eftersom du redan har valt de tabeller som ska fyllas i:

  • Klicka på Nästa och välj SQL*Loader som populationsmetod på skärmen Alternativ
  • Ange standardantalet rader till 1 000 per tabell, och notera att jag också kan variera detta antal:
    1. Klicka på Nästa för att gå vidare till dialogrutan Regelkonfiguration, där du kan lägga till eller ändra olika genereringsregler på fältnivå som genereras grafiskt i dialogrutor från regelväljaren:

    Eftersom det är här jag villkorligt kommer att infoga slumpmässigt utvalda verkliga data (från mina uppsättningsfiler), i liknande kolumner över flera tabeller, kommer jag att tillämpa genereringen som regel närhelst kolumnnamnet överensstämmer med ett mönster jag anger.

    1. Jag börjar min tillämpning av uppsättningsdata med "objekt" från den filen, så lägg nu till mönsterfältet add Item_Name* och klicka på testa för matchningar för att verifiera om (och var) det kolumnnamnet finns
    2. Välj sedan ett fält från menyn Regelalternativ och välj Ange fil. Jag bläddrar till min item.set-fil för att ange dess användning i en kolumn som heter som eller som Item_Name.
    3. Jag upprepar dessa steg för att tillämpa data från mina uppsättningsfiler för kolumner som heter Category_Name, Dept_Num, Emp_Name, Item_Name för att förbättra testdatarealismen:

    1. Klicka på Nästa för att komma till den här jobbsammanfattningsskärmen:

    1. Klicka på Slutför för att slutföra guiden.

    RowGen-guiden skapade automatiskt kontrollspråksskripten i klartext (.rcl) som anger genereringen av testdata för varje tabell, såväl som beroende uppsättningsfiler (för referensintegritet), SQL*Loader-kontrollfiler och en batchfil till exekvera allt på en gång, i eller utanför IRI Workbench.

    Att köra batchfilen som RowGen producerade skapar alla nödvändiga testdata i platta filer, och fyller alla måltabeller med dessa data som du valde i guiden (via ODBC eller ditt DB-laddningsverktyg), i den ordning som krävs för att bevara primär- främmande nyckelrelationer. De massinlästa tabellerna försorterades på indexnyckeln för varje tabell, och värdena i uppsättningsfilerna infogades slumpmässigt i de högra kolumnerna.

    Denna IRI Workbench-skärmdump visar ett av RowGens jobbskript och en måltabell:

    Alla RowGen-jobbskript sparades i mappen jag valde i början och är tillgängliga för modifiering, återanvändning, teamdelning, versionskontroll, etc. Jobbflödesmodellen som skapats för genereringen av testdata kan också visas i diagrammet i visuell arbetsflödesredigerare, med ETL och andra IRI-datahanteringsprojekt.

    Kontakta [email protected] om du behöver hjälp med att planera eller använda den här guiden.


    1. Några nackdelar med bitflaggor i databaskolumner?

    2. JSON_STORAGE_SIZE() – Hitta lagringsstorleken för ett JSON-dokument i MySQL

    3. Kopiera tabeller från en databas till en annan i SQL Server

    4. Deklarera tupelstrukturen för en post i PL/pgSQL