对于我工作过的大多数数据库支持的项目,都需要在部署之前将“启动”或测试数据放入数据库该项目。启动数据的示例:列出世界上所有国家的表格或列出将用于填充调色板的一堆颜色的表格。 (1)创建数据库,(2)创建一个实用程序脚本(1)创建数据库,(2)创建模式,(3)创建表(包括主键和外键),(4)作为链接服务器连接到电子表格,以及(5)将所有数据插入到表格中。在部署时向SQL Server(Express)数据库中获取大量数据
我大多喜欢这个系统。我发现在Excel中布局列,使用简单的查找函数验证外键关系,执行连接操作,从Web表格或其他电子表格复制数据等都非常简单。此系统的一个主要缺点是需要同步每次更改表格定义时,都会在我的工作表中显示列。
我一直在通过一些教程来学习新的.NET技术或设计模式,我注意到这些通常涉及使用Visual Studio创建数据库并添加表(而不是脚本)和数据通常使用内置设计器输入。这让我想知道,如果我做这件事的方式不是最有效或可维护的。
问题
一般情况下,你觉得它最好通过脚本或GUI设计师,如SSMSE或Visual Studio来构建整个数据库?
你推荐用什么方法来为启动或测试数据填充数据库,为什么?
澄清
的答案来看,到目前为止,我想我应该澄清一些东西。假设我有大量的数据(数百或数千行)需要找到数据库。这些数据可以来自不同的地方,如文本文件,电子表格,网络表格等。我收到了几条建议,使用INSERT
声明编写了这个流程的脚本,但是当您谈论lot时,这真的可行数据的?
这使我...
新问题
你怎么会写SQL脚本采取this page全国数据,并将其插入到数据库中?
使用Excel,我可以将表格复制/粘贴到工作表中,然后运行我的实用程序脚本,基本上就可以完成了。
如果您后来意识到需要一个新的专栏CapitalCity,该怎么办?
使用Excel,我可以从this page获取这些信息,将其粘贴到Excel中,并且通过快速的文本到列操作,我可以获得所需格式的数据。
老实说,我没有写这个问题捍卫Excel作为最好的方式,甚至是很好的方式来获得的数据到数据库中,但答案似乎到目前为止还没有被解决我的主要concern- - 如何将所有这些数据存入您的数据库。用手写数百个INSERT
声明的脚本将是非常耗时且容易出错的。不知何故,这个脚本需要机器生成,但是怎么样?
我完全乐于编写用于创建数据库,表格等的脚本,我很高兴迄今为止的答案似乎证明了这种方法的合理性,但我仍不清楚如何有效地编写必要的插入语句可能包含数百或数千行数据,可能来自网络,文本文件,电子表格等的数据。如果仅仅输入一些内容,插入语句对我来说是有意义的,但是我如果想要创建这些插入语句,首先需要一些指导。 – devuxer 2009-12-28 03:28:56
假设您要加载的数据位于CSV文件中。生成插入语句的一种方法是编写一个简单的C#程序来读取CSV文件并以编程方式生成SQL语句,然后将这些SQL语句写入文件。过去我曾多次使用过这种技术,即使对于数十万行数据,它也可以很好地工作。另一个选择,因为你使用SQL Server,将使用他们的ETL工具来加载数据(http://www.developer.com/db/article.php/3497511/SQL-Server-Integration-Services-SQL -Server-2005s-NEW-ETL-Platform.htm)。 – dcp 2009-12-28 09:54:37