作为我们当前数据库工作的一部分,我们正在研究处理更新数据库的过程。
反复提到的一点是处理系统与用户价值的问题;在我们的项目中,用户和系统 vals 存储在一起。例如...
我们有一个模板列表。
1, <system template>
2, <system template>
3, <system template>
这些在应用程序中映射到枚举 (1, 2, 3)
然后一个用户进来并添加......
4, <user template>
...和...
5, <user template>
然后......我们发出升级......并作为升级脚本的一部分插入......
<new id> [6], <new system template>
那么!!...我们在新的系统模板中发现了一个错误,需要对其进行更新...问题是怎么回事?我们无法使用 ID6 更新记录(因为我们可能已将其插入为 9 或 999,因此我们必须使用其他机制来识别记录)
因此,我们为此提出了两种可能的解决方案。
在红角(速度)....
我们只需从 5000(或其他值)开始用户 ID,并在 10000(或其他值)处测试数据。这将允许我们对系统值进行修改并测试它们直到下一个 ID 范围的下限。
优势...快速且易于实施,
缺点...如果我们不选择足够大的范围,可能会用完值!
在蓝色角落(可扩展性)......
我们分别存储、系统和用户数据,使用 GUID 作为 Id,并使用视图合并两个列表。
优势...可扩展...对数据库大小没有限制。
缺点..实现起来比较复杂。(多对一可更新视图等)
我对第一个选项非常满意,但正在寻找一些弹药来支持我!
有没有人对这些方法有任何想法,甚至是我们错过的方法?