0

给定我正在处理的一个项目,我们有一个旧的数据库结构,我们正在将数据从一个新的数据库结构迁移到一个新的数据库结构中,我们需要保留一些表的旧键,以便与一些现有的应用程序功能向​​后兼容。

目前,我们正在考虑两种方法来满足这一需求:

  1. 为每个表创建一个额外的可为空字段并将旧键插入该新字段
  2. 创建包含新旧键映射的伴随表

注意:新数据不会生成旧的 ID 键,因此在方法 #1 中,最终可空字段将随着时间的推移包含新记录的空值。

  • 哪种方法更适合更清洁的数据库设计和长期数据管理?
  • 您认为这两种方法有什么问题吗?如果有,有哪些问题?
  • 有没有我还没有想到的#3 方法?
4

1 回答 1

0

你提到了 sql,但它是 SQL-Server 吗?

如果是 SQL-Server,请查看SET INSERT_IDENTITY。这允许您显式插入自动增量列的值,而不是该列的保护模式。

但是,我相信,如果您在插入语句中明确包含 PK 及其值,它将尊重这一点并将原始键保存在您希望保留的原始列中,而不必为了向后兼容而强制另一个列。

于 2013-10-23T13:37:45.903 回答