sql >> Databáze >  >> RDS >> Database

Jak generovat data testu DB

Uživatelé IRI RowGen mohou generovat strukturálně a referenčně správná syntetická testovací data pro celou databázi v jediné operaci. Testovací data odrážejí produkční charakteristiky (jako jsou rozsahy hodnot a frekvence), s nimiž se běžně setkáváme v databázových nebo ETL operacích, ale nevyžadují přístup ke skutečným datům ani jejich maskování.

Při generování testovacích dat pomáhají průvodci úlohami pro koncové uživatele pro RowGen v grafickém uživatelském rozhraní IRI Workbench GUI (postaveno na Eclipse™). Jedním z nejužitečnějších je New RowGen Database Test Data Job průvodce, který sestaví celý projekt RowGen pro automatické naplnění více tabulek najednou pomocí předem seřazených klíčových hodnot a možností přizpůsobení. Ačkoli se spoléhá na existující metadata pro každou testovací tabulku, můžete také přizpůsobit – a zobecnit pomocí pravidel – generování hodnot sloupců.

V tomto článku předvedu, jak můžete použít IRI Workbench k vytvoření cílových tabulek v Oracle a diagramu jejich schématu a poté pomocí jednoho z jeho průvodců RowGen vygenerovat a načíst testovací data do těchto tabulek.

Kromě toho také chci, aby RowGen vložil náhodně vybrané skutečné hodnoty do určitých sloupců z dat souboru. Soubor sady je textový soubor s jedním nebo více řádky, který může mít více sloupců oddělených tabulátory, které dodáte nebo automaticky rozbalíte v jiném průvodci Workbench, Nastavit soubor ze sloupce. V mém případě jsem však své soubory sady vytvořil ručně:emp.set, item.set, project.set, kvantita.set, plat.set, department.set a category.set.

Zde jsou kroky, které jsem provedl, a poznamenal jsem, že mám informace o cílové tabulce a že budete potřebovat totéž:

Krok 1. Vytvořte prázdné cílové tabulky

  1. Nastavte připojení k databázi (v tomto případě Oracle) prostřednictvím JDBC v IRI Workbench’s Data Source Explorer (DSE)
  2. Určte Dept, Emp, Project, Category, Item, Item_Use, Sale zapsáním jejich příkazů CREATE TABLE a ALTER TABLE do souboru .sql upraveného ve výstřižku SQL DSE
  3. Uložte jej do složky projektu a kliknutím pravým tlačítkem na něj spusťte soubor SQL pro vytvoření tabulek

Krok 2. Vytvořte a ukažte jejich ER diagram

  1. Nahoře na panelu nástrojů vyberte možnost Nový, Projekt IRI a vytvořte novou složku
  2. Klikněte na tuto složku a poté zvýrazněte 7 nových tabulek výše v DSE
  3. Klikněte pravým tlačítkem na IRI a vyberte Nový model ER diagramu
  4. Tím se ve složce projektu vytvoří nový model schématu a soubor schema.sqlschema

Všimněte si, že DSE a nástroj ER Diagramming od IRI jsou oba agnostické pro DB.

Krok 3. Vytvářejte testovací data pomocí Průvodce testovacími daty databáze RowGen

  1. Podržte stisknutou klávesu CTRL a znovu vyberte těchto 7 tabulek v DSE
  2. Klikněte pravým tlačítkem a vyberte IRI, New Database Test Data Job
  3. Když se otevře průvodce, klikněte na tlačítko Další, protože jste již předem vybrali tabulky k naplnění:

  • Klikněte na tlačítko Další a na obrazovce Možnosti vyberte jako metodu naplnění SQL*Loader
  • Uveďte standardní počet řádků na 1000 na tabulku, přičemž tento počet mohu také změnit:
    1. Kliknutím na tlačítko Další přejděte do dialogového okna Konfigurace pravidel, kde můžete přidávat nebo upravovat různá pravidla pro generování na úrovni pole generovaná graficky v dialogových oknech z Výběru pravidel:

    Protože zde budu podmíněně vkládat náhodně vybraná skutečná data (z mých nastavených souborů), podobně jako sloupce v několika tabulkách, použiji generování zpravidla vždy, když název sloupce odpovídá vzoru, který určím.

    1. Začínám aplikaci dat sady s „položkou“ z tohoto souboru, a tak nyní přidejte pole vzoru add Item_Name* a klikněte na testovat shody, abyste ověřili, zda (a kde) tento název sloupce existuje.
    2. Dále vyberte pole z nabídky Možnosti pravidla a vyberte možnost Nastavit soubor. Procházím svůj soubor item.set, abych specifikoval jeho použití v libovolném sloupci pojmenovaném nebo jako Item_Name.
    3. Tyto kroky opakuji, abych použil data ze souborů sady pro sloupce pojmenované jako Category_Name, Dept_Num, Emp_Name, Item_Name, abych zlepšil realističnost testovacích dat:

    1. Kliknutím na tlačítko Další přejdete na tuto obrazovku se souhrnem úlohy:

    1. Kliknutím na tlačítko Dokončit dokončete průvodce.

    Průvodce RowGen automaticky vytvořil skripty řídicího jazyka ve formátu prostého textu (.rcl), které určují generování testovacích dat pro každou tabulku, a také soubory závislých sad (pro referenční integritu), řídicí soubory SQL*Loader a dávkový soubor pro spustit vše najednou, v IRI Workbench nebo mimo něj.

    Spuštěním dávkového souboru, který RowGen vytvořil, se vytvoří všechna potřebná testovací data v plochých souborech a naplní všechny cílové tabulky těmito daty, jak jste zvolili v průvodci (prostřednictvím ODBC nebo vašeho nástroje pro načítání DB), v pořadí nezbytném pro zachování primárního vztahy s cizím klíčem. Hromadně načtené tabulky byly předběžně seřazeny podle indexového klíče pro každou tabulku a hodnoty v nastavených souborech byly náhodně vloženy do správných sloupců.

    Tento snímek obrazovky IRI Workbench ukazuje jeden ze skriptů úlohy RowGen a cílovou tabulku:

    Všechny skripty úloh RowGen byly uloženy ve složce, kterou jsem na začátku vybral, a jsou dostupné pro úpravy, opětovné použití, sdílení v týmu, řízení verzí atd. Model toku úlohy vytvořený pro generování testovacích dat lze také znázornit v vizuální editor pracovních toků s ETL a dalšími projekty správy dat IRI.

    Pokud potřebujete pomoc s plánováním nebo používáním tohoto průvodce, kontaktujte [email protected].


    1. DISTINCT pouze pro jeden sloupec

    2. SQL Server – transakce se vrátí při chybě?

    3. Význam základních linií

    4. mysqli_stmt::bind_result():Počet proměnných vazby neodpovídá počtu polí v připraveném příkazu