【发布时间】:2014-02-24 08:45:12
【问题描述】:
我们有 15 个数据库,包含 75 个表,平均有一百万行。都具有相同的架构但不同的数据。现在,客户要求我们将所有 15 个数据集中到一个数据库中。用户登录过滤的每组数据。
已完成对应用程序的更改以进行过滤。我们现在的任务是将所有数据库合并为一个。
问题是 PK 和 FK 冲突,因为 PK 和 FK 的类型为 int,因此我们将有 15 个 PK id 为 1。
一个想法是使用。 net 和 DBML 将记录作为新记录插入到新数据库中,让 linq 处理 PK 和 FK 并使用代码处理重复数据。
还有什么其他方法可以做到这一点?
【问题讨论】:
-
数据库是否有共同的数据,所以新记录应该有现有记录的外键?当数据库包含国家、类型等主数据时,这种情况并不少见……
-
我希望有些数据会很常见。来自 15 个数据库的客户表和订单表需要合并到一个数据库中。我将有 15 条具有相同 ID 的不同客户记录,这些记录需要连同其所有指向订单的 FK 链接一起更改。
-
您可以简单地引入复合键并使用 1-15 作为第一个组件。但是,如果 pk 是 iden,那么您就会遇到问题,因为我认为您不能在复合材料中使用 iden。需要更多信息。此登录过滤器是否等同于单个数据库?
-
身份验证由单独的数据库完成,而新的单个数据库将仅存储映射回身份验证数据库的用户名
标签: sql .net database linq database-migration