Sql 数据库结构更改查找值

Sql 数据库结构更改查找值,sql,database,relational,Sql,Database,Relational,在整个系统中,我们使用了大量的查找。出现了一些历史数据。是否应该更改查找有对错之分 如果我有一个表示已知位置列表的查找,那么它们本质上应该是不变的吗?如果我允许对此表进行更改,那么历史记录肯定会无意中使用新值。您需要在每次查找中添加句点开始和可选句点结束列。然后,在获取或设置查找时,请确保检查/设置周期\u开始/结束。注意确定周期结束与下一个周期开始是否有效,例如 Select * from lookup where lookup.period_start <sysdate and lo

在整个系统中,我们使用了大量的查找。出现了一些历史数据。是否应该更改查找有对错之分


如果我有一个表示已知位置列表的查找,那么它们本质上应该是不变的吗?如果我允许对此表进行更改,那么历史记录肯定会无意中使用新值。

您需要在每次查找中添加句点开始和可选句点结束列。然后,在获取或设置查找时,请确保检查/设置周期\u开始/结束。注意确定周期结束与下一个周期开始是否有效,例如

Select * 
from lookup
where lookup.period_start <sysdate and lookup.period_end >sysdate
选择*
从查找
其中lookup.period\u start sysdate

我建议在程序包中的库函数中进行检查,以确保每次都进行相同的检查。

搜索缓慢变化的维度。一个原则是建立只在特定时期有效的关系。所有的连接都带有这些时间范围。没有规则,这取决于您的要求。e、 了解客户以前的地址可能会有用。在那里给他们寄点东西是没有用的。MatBailie建议并由kayakpim回答的基于日期的查找数据版本控制是常用的方法。感谢指向“缓慢变化的维度”的指针