2012-09-17 34 views
1

我刚开始使用SQL Server数据库的.NET项目。我被给了一个脚本,用所有表格,SP等设置数据库,但没有数据。播种DB的策略

我最初的冲动是进入数据库并手动输入一些虚拟数据来设置几个用户等,以便我可以开始使用该应用程序。但是,每次我尝试添加记录时,外键约束都会阻碍。不幸的是,我无法向您展示架构,但是在这种情况下我可以遵循一般策略吗?

回答

1

如果您有FK的阻碍,您需要开始在所有'主'表中输入数据。然后你可以输入数据到你的孩子或细节表中。

例如,假设您有Orders表和Customers表以及订单和客户之间的FK, '主表'将是客户,在这个例子中,详细表就是您的订单表。您可能首先需要输入一些客户,以便在您输入订单时,可以为其分配客户,而不会因为没有客户而导致FK错误。

我怀疑这个例子非常接近你遇到的问题类型。

+0

是。但我遇到了似乎是循环依赖的问题。例如,要添加一个用户,我必须指定一个部门ID,但要添加一个部门,我必须指定部门主管的用户ID。 – Legion

+0

不幸的是,数据库的设计不是由我自己决定的,我只需要处理给出的内容。 – Legion

+0

因此,每个用户都被分配了一个部门,每个部门都有一个部门负责人,这是一个用户。我假设一个用户不能在多个部门中,否则这是行不通的。我认为你在这里有一个设计问题。但是,这将是一个单独的讨论。为了解决这个问题,我会使用户表中的DepartmentID列为空,直到您输入所有用户,然后将其还原为不可空。 –