Database
 sql >> база данни >  >> RDS >> Database

Как да генерирате DB тестови данни

Потребителите на IRI RowGen могат да генерират структурно и референтно правилни синтетични тестови данни за цяла база данни с една операция. Тестовите данни отразяват производствени характеристики (като диапазони на стойности и честоти), които обикновено се срещат при операции с база данни или ETL, но не изискват достъп или маскиране на реални данни.

Съветниците за задачи за крайния потребител за RowGen в GUI на IRI Workbench (изграден върху Eclipse™) помагат при генерирането на тестови данни. Едно от най-полезните е Ново задание за тестови данни за база данни RowGen съветник, който изгражда цял проект RowGen за автоматично попълване на множество таблици наведнъж с предварително сортирани ключови стойности и възможност за персонализиране. Въпреки че разчита на съществуващи метаданни за всяка тестова таблица, можете също да персонализирате — и да обобщавате чрез правила — генерирането на стойности на колони.

В тази статия ще демонстрирам как можете да използвате IRI Workbench за създаване на целеви таблици в Oracle и диаграмиране на тяхната схема и след това да използвате един от неговите съветници на RowGen, за да генерирате и зареждате тестови данни в тези таблици.

Като настрана искам също RowGen да вмъкне произволно избрани реални стойности в определени колони от зададени файлови данни. Наборният файл е текстов файл с един или повече редове, които могат да имат множество колони, разделени с табулатори, които предоставяте или автоматично извличате в друг съветник на Workbench, Set File from Column. В моя случай обаче създадох своите наборни файлове ръчно:emp.set, item.set, project.set, quantity.set, salary.set, department.set и category.set.

Ето стъпките, които следвах, отбелязвайки, че имах информация за целевата ми таблица и че ще ви трябва същата:

Стъпка 1. Създайте празни целеви таблици

  1. Установете връзката с базата данни (Oracle в този случай) чрез JDBC в Data Source Explorer (DSE) на IRI Workbench
  2. Посочете Dept, Emp, Project, Category, Item, Item_Use, Sale, като напишете техните CREATE TABLE и ALTER TABLE изрази в .sql файл, редактиран в SQL лексикон на DSE
  3. Запазете го в папка на проекта и щракнете с десния бутон върху него, за да изпълните SQL файла, за да създадете таблиците

Стъпка 2. Създайте и покажете тяхната ER диаграма

  1. От над лентата с инструменти изберете Нов, IRI проект и създайте нова папка
  2. Щракнете върху тази папка, след което маркирайте 7-те нови таблици по-горе в DSE
  3. Щракнете с десния бутон върху IRI, след което изберете Нов модел на диаграма на ER
  4. Това създава нов модел на схема и файл, schema.sqlschema, в папката на вашия проект

Имайте предвид, че DSE и инструментът за диаграмиране на ER от IRI са независими от DB.

Стъпка 3. Произвеждайте тестови данни със съветника за тестови данни на базата данни RowGen

  1. Щракнете с CTRL, за да изберете отново тези 7 таблици в DSE
  2. Щракнете с десния бутон и изберете IRI, New Database Test Data Job
  3. Щракнете Напред, когато се отвори съветникът, тъй като вече сте избрали предварително таблиците за попълване:

  • Щракнете върху Напред и в екрана с опции изберете SQL*Loader като метод за население
  • Посочете стандартния брой редове от 1000 на таблица, като отбележете, че мога също да променя този брой:
    1. Щракнете върху Напред, за да преминете към диалоговия прозорец за конфигуриране на правила, където можете да добавяте или променяте различни правила за генериране на ниво поле, генерирани графично в диалогови прозорци от инструмента за избор на правила:

    Тъй като това е мястото, където условно ще вмъквам произволно избрани реални данни (от моите зададени файлове), в подобни колони в няколко таблици, ще прилагам генерирането като правило винаги, когато името на колоната съответства на шаблон, който посочвам.

    1. Започвам приложението си на набор данни с „item“ от този файл и така сега добавете полето за шаблон add Item_Name* и щракнете върху тест за съвпадения за да проверите дали (и къде) съществува това име на колоната
    2. След това изберете поле от менюто Опции на правилата и изберете Задаване на файл. Преглеждам моя файл item.set, за да посоча използването му във всяка колона с име или като Item_Name.
    3. Повтарям тези стъпки, за да приложа данни от моите наборни файлове за колони с имена на Category_Name, Dept_Num, Emp_Name, Item_Name, за да подобря реализма на тестовите данни:

    1. Щракнете върху Напред , за да стигнете до този екран с обобщена работа:

    1. Щракнете върху Готово, за да завършите съветника.

    Помощникът RowGen автоматично създаде скриптовете на контролния език с обикновен текст (.rcl), които определят генерирането на тестови данни за всяка таблица, както и зависими наборни файлове (за референтна цялост), SQL*Loader контролни файлове и пакетен файл за изпълнява всичко наведнъж, в или извън IRI Workbench.

    Изпълнението на пакетния файл, който създаде RowGen, създава всички необходими тестови данни в плоски файлове и попълва всички целеви таблици с тези данни, както сте избрали в съветника (чрез ODBC или вашата помощна програма за зареждане на DB), в реда, необходим за запазване на първичния- връзки с външни ключове. Групово заредените таблици бяха предварително сортирани по индексния ключ за всяка таблица и стойностите в зададените файлове бяха вмъкнати на случаен принцип в десните колони.

    Тази екранна снимка на IRI Workbench показва един от скриптовете за работа на RowGen и целева таблица:

    Всички скриптове за работа на RowGen бяха запазени в папката, която бях избрал в началото и са достъпни за модификация, повторна употреба, споделяне на екип, контрол на версиите и т.н. Моделът на потока на заданията, създаден за генериране на тестови данни, може също да бъде диаграмиран в визуален редактор на работни потоци, с ETL и други проекти за управление на данни на IRI.

    Свържете се с [email protected] ако имате нужда от помощ при планирането или използването на този съветник.


    1. Database
    2.   
    3. Mysql
    4.   
    5. Oracle
    6.   
    7. Sqlserver
    8.   
    9. PostgreSQL
    10.   
    11. Access
    12.   
    13. SQLite
    14.   
    15. MariaDB
    1. Как да моделираме за лесна поддръжка на база данни

    2. Маршрутизиране само за четене за винаги включено

    3. Как да намерите минималната стойност на колона в SQL

    4. Схемата на снежинката

    5. Топ 9 системи за управление на бази данни за шаблони на Joomla