2011-09-02 127 views
0

如果我要编写一个完整的SQL脚本来创建一个带有表(具有外键)的数据库,我应该先写依赖表吗?对于SQL Server 2008 R2数据库使用“创建表”

+0

**什么**数据库和哪个版本? ** SQL **只是结构化查询语言 - 许多**数据库系统使用的语言 - ** SQL **是** NOT **数据库产品......这类东西通常是**供应商-specific ** - 所以我们真的需要知道你正在使用的数据库系统** –

+0

我的数据库是MS SQL 2008 R2 –

+1

你应该总是把这个重要的信息放在问题中,并添加一个适当的标签 - 'SQL'不够清晰/不够精确 - 谢谢! –

回答

3

你有一些选择:

  • 您可以先创建所有的表,然后用ALTER TABLE添加外键。
  • 您可以在创建表格时创建一对多关系。在这种情况下,创建表的顺序很重要。

当您创建这样的数据库时,您(通常更多的情况下)也将数据与数据一起播种。

根据您插入的数据量,您可能需要首先决定是先插入数据,还是先执行RI。如果你有小表,RI检查不会消耗太多的资源。如果你有大表,那么你可能需要先插入数据然后再实现RI - 这样一次检查不会一行一行地完成,但是对于所有行都是一次检查。由于你在播种表,你知道你的数据 - 大概你会做干净的插入,以免下游的RI检查失败。

相关问题