假设您有一个Server数据库,该数据库由一个遗留应用程序使用,该应用程序有多个具有复合主键列的表(因此,也包括复合外键列)。与复合主键列不同,其他更现代的应用程序希望使用单个主键列,但由于遗留应用程序无法更改,这些复合主键列也不能。
我的初步解决办法包括以下几点:
鉴于上述情况,我的解决方案是否是使用现有复合主键列修改这些Server数据库表的有效方法,从而允许引入单个唯一列以允许其他应用程序使用?是否有任何存储或性能问题需要考虑?
发布于 2014-03-14 12:25:22
向表中添加新列可能会破坏遗留应用程序,因为DML可能期望每个表中有一定数量的特定类型的列。
对于这类问题,没有任何优雅的解决方案。您可以为新应用程序创建新的表,并使用触发器复制数据,但这会造成不必要的复杂性,当然也会造成重复。您可以在新表中创建新键,并使用视图将数据作为一个表呈现给新应用程序,但随后只能使用从新应用程序插入和更新的过程。
从长远来看,你可能会更好地扔掉遗留应用程序。
https://dba.stackexchange.com/questions/60805
复制相似问题