Pho*_*bis 41 sql-server generator data-generation
我想收到有关SQL服务器可用的数据生成器的建议.如果发布回复,请提供您认为重要的任何功能.
我从未使用过这样的应用程序,所以我希望接受有关该主题的教育.谢谢.
(我的目标是在每个表中填充10,000多条记录的数据库,以测试应用程序.)
Pas*_*dis 16
这里有类似的问题:在数据库中创建测试数据
Red Gate SQL数据生成器在该域中表现出色.您可以自定义数据库的每个字段,并使用带种子的随机数据.甚至使用Regex表达式创建特定模式.
为了生成样本数据,我使用简单的Python应用程序.
注意事项:
易于修改和配置.
一组可重复的数据,可用于性能测试并获得一致的结果.
遵循所有数据库参照完整性规则和约束.
现实数据.
前两个表示您要生成将加载数据的脚本文件.第三是更难.有一些方法可以发现数据库元数据和约束.一起看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()
Run Code Online (Sandbox Code Playgroud)
对于多个实体,您必须计算基数.您想要从其他实体中随机选择,而不是生成随机密钥.因此,您可能让ChildEntity从ParentEntity中选择一个随机元素,以确保FK-PK关系正确.
使用random.choice(someList)并random.shuffle(someList)确保参照完整性.
| 归档时间: |
|
| 查看次数: |
51801 次 |
| 最近记录: |