Как мне генерировать случайные выборочные данные в моей базе данных Oracle? - PullRequest
16 голосов
/ 31 мая 2011

Кто-нибудь знает инструмент, который может проверять указанную схему и генерировать случайные данные на основе таблиц и столбцов этой схемы?

Ответы [ 5 ]

4 голосов
/ 01 июня 2011

Другой альтернативой является Генератор данных Swingbench

Полезно использовать предложение SAMPLE (например, создание строк заказа для случайной комбинации заказов и продуктов)

4 голосов
/ 31 мая 2011

Это интересный вопрос.Генерировать случайные значения достаточно просто - простой цикл вокруг словаря данных с вызовами DBMS_RANDOM сделает свое дело.

За исключением двух вещей.

Одно, как указывает @FrustratedWithForms, есть осложнение ограничений внешнего ключа.Давайте добавим значения поиска (справочные данные) в микс.

Во-вторых, случайность не очень реалистична.Основным драйвером для использования случайных данных является потребность в больших объемах данных, вероятно, для тестирования производительности.Но реальные наборы данных не являются случайными, они содержат перекосы и комки, переменные длины строк и, конечно, шаблоны (особенно в отношении дат).

Поэтому вместо того, чтобы пытаться генерировать случайные данные, я предлагаю вам попытатьсяполучить реальный набор данных.В идеале ваш пользователь / клиент сможет предоставить один, желательно анонимный.В противном случае попробуйте взять что-то, что уже является общественным достоянием, и помассируйте его в соответствии с вашими конкретными требованиями.Информационные шимпанзе - главные бананы, когда дело доходит до этих вопросов. Проверьте их .

3 голосов
/ 31 мая 2011

Взгляните на Databene Benerator .

Сложно выполнить первоначальную настройку, но довольно мощно.

3 голосов
/ 31 мая 2011

Allround Automation PL / SQL Developer имеет инструмент для создания данных. Но имейте в виду: это немного ненадежно - кажется, что он отлично работает на основе одной таблицы, но срабатывает при наличии зависимостей между таблицами.

Я признаю, что в конце концов я просто начал писать свои собственные сценарии SQL для генерации данных. Оказалось гораздо стабильнее.

2 голосов
/ 31 мая 2011

Немного джокера, но думал, что упомяну это.

Если у вас есть данные в производственной среде, которые вы не можете использовать, поскольку они могут содержать конфиденциальную информацию, у Oracle есть продукт под названием «Oracle Data Masking», который заменит конфиденциальную информацию реалистичными значениями.

Я не знаю стоимость этого продукта, но если вам нужна дополнительная информация, ее можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...