Подтвердить что ты не робот

Генераторы данных для SQL-сервера?

Я хотел бы получить предложения по генераторам данных, которые доступны для SQL-сервера. Если вы отправляете ответ, предоставьте все функции, которые, по вашему мнению, важны.

Я никогда не использовал такое приложение, поэтому я хочу получить образование по этой теме. Спасибо.

(Моя цель - заполнить базу данных с 10 000 + записей в каждой таблице, чтобы протестировать приложение.)

4b9b3361

Ответ 1

Я развернул свой собственный генератор данных, который генерирует случайные данные, соответствующие регулярным выражениям. Он превратился в учебный проект (разрабатывается) и доступен по адресу github.

Ответ 2

В прошлом я использовал генератор данных Пример генератора данных

Ответ 3

Здесь было задано нечто подобное: Создание тестовых данных в базе данных

Red Gate SQL Data Generator отлично справляется с этим доменом. Вы можете настроить каждое поле вашей базы данных и использовать случайные данные с семенами. И даже создавать определенные шаблоны с использованием выражений Regex.

Ответ 4

Для создания выборочных данных я использую простые приложения Python.

Вопросы:

  • Простое изменение и настройка.

  • Повторяемый набор данных, который можно выполнить для тестирования производительности и получения согласованных результатов.

  • Следуйте всем правилам и ограничениям ссылочной целостности базы данных.

  • Реалистичные данные.

Первые два означают, что вы хотите создать script файлы, которые будут загружать ваши данные. Третий - более жесткий. Существуют способы обнаружения метаданных базы данных и ограничений. Глядя на 3 и 4 вместе, вам не нужна простая обратная инженерия - вам нужно что-то, что вы можете контролировать для создания реалистичных ценностей.

Как правило, вы хотите создать собственную модель сущности, чтобы быть уверенным, что у вас есть правильные диапазоны и ключевые отношения.

Вы можете сделать это тремя способами.

  • Создайте CSV файлы данных, которые можно загрузить вручную. Хорошие повторяемые тестовые данные.

  • Создайте сценарии SQL, которые вы можете запустить. Хорошие повторяемые данные.

  • Используйте ODBC-соединение для генерации данных непосредственно в базе данных. Мне на самом деле это не нравится, но вы можете.

Здесь урезана одна-единственная версия генератора данных, который записывает CSV файл.

import csv
import random

class SomeEntity( list ):
    titles = ( 'attr1', 'attr2' ) # ... for all columns
    def __init__( self ):
        self.append( random.randrange( 1, 10 ) )
        self.append( random.randrange( 100, 1000 ) )
        # ... for all columns

myData = [ SomeEntity() for i in range(10000) ]
aFile= open( 'tmp.csv', 'wb' )
dest= csv.writer( aFile )
dest.writerow( SomeEntity.titles )   
dest.writerows( myData )
aFile.close()

Для нескольких объектов вам необходимо определить мощность. Вместо генерации случайных ключей вы хотите сделать произвольный выбор из других объектов. Таким образом, у вас может быть ChildEntity выбор случайного элемента из ParentEntity, чтобы убедиться, что отношения FK-PK верны.

Используйте random.choice(someList) и random.shuffle(someList) для обеспечения ссылочной целостности.

Ответ 5

Visual Studio Team System Database Edition (aka Data Dude) делает это.

Я еще не использовал его для генерации данных, но 2 функции звучат хорошо:

  • Задайте собственное начальное значение для генератора случайных данных. Это позволяет вам производить одни и те же случайные данные более одного раза.

  • Направьте мастер в "настоящую" базу данных и создайте что-то, что похоже на реальные данные.

Возможно, это стандартные функции в других местах?

Ответ 6

Я только что нашел об этом: Spawner

Ответ 7

Я использовал инструмент Datatect для этого.

Некоторые из вещей, которые мне нравятся в этом инструменте:

  • Использует ODBC, чтобы вы могли генерировать данные в любой источник данных ODBC. Я использовал это для баз данных Oracle, SQL и MS Access, плоских файлов и таблиц Excel.
  • Расширяемый через VBScript. Вы можете писать крючки в различных частях рабочего процесса генерации данных, чтобы расширить возможности этого инструмента.
  • Сознательно. При заполнении столбцов внешнего ключа вытягивает действительные ключи из родительской таблицы.

Ответ 8

этот бесплатный: http://www.sqldog.com содержит несколько функций, таких как: генератор данных, полнотекстовый поиск, создание документации по базам данных, активные соединения с базой данных

Ответ 9

Я использовал это раньше

http://sqlmanager.net/en/products/mssql/datagenerator

Его не бесплатно, хотя.

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