Database 数据库历史数据
我如何跟踪数据库的历史记录?我几乎完全是为了统计的目的。例如,查询数据库以了解我们目前有多少客户非常容易,但是如果我想比较上个月有多少客户与现在有多少客户,该怎么办 我想我需要另一个表来跟踪这些信息,我想知道是否有一些标准的方法来做到这一点 我想的是这样的:Database 数据库历史数据,database,database-design,relational-database,Database,Database Design,Relational Database,我如何跟踪数据库的历史记录?我几乎完全是为了统计的目的。例如,查询数据库以了解我们目前有多少客户非常容易,但是如果我想比较上个月有多少客户与现在有多少客户,该怎么办 我想我需要另一个表来跟踪这些信息,我想知道是否有一些标准的方法来做到这一点 我想的是这样的: id table_name column row_id value valid_from valid_to 其中valid_from是插入数据的时间,valid_to是在数据库中找不到数据的日期 例如,我有一个名为teachers的表,它
id table_name column row_id value valid_from valid_to
其中valid_from是插入数据的时间,valid_to是在数据库中找不到数据的日期
例如,我有一个名为teachers的表,它有一个列status。在“状态”列中,教师可能正在“申请”“雇佣”“活动”等。从一种状态到另一种状态的更改将保存在上表的“有效”列中,以保存教师停止“申请”状态的日期,并为“雇佣”创建新行。查询该表的统计数据似乎相当容易
但我真的不知道这是不是一个好办法。这正是我想到的,可能是一种可怕的方式。如有任何帮助/建议,将不胜感激
如果有关系的话,我正在使用MySQL和CakePHP 你想怎么做就怎么做 您可以通过关闭旧的
id
(将valid\u设置为一个日期)并使用相同的表名
、列
和行id
以及新的值
来跟踪该字段的更新
另一种方法是:
id entry_time table_name row_id column_name value
特定表名
行id
和列名
的第一条记录是该记录的创建。后续记录可以是更新(非空值
)或删除(空值
)