我将如何跟踪数据库的历史记录?我几乎将它完全用于统计目的。例如,查询数据库很容易找出我们目前有多少客户,但是如果我想比较我们上个月有多少客户和现在有多少客户呢?
我假设我需要另一个表来跟踪此信息,并且想知道是否有一些标准方法可以做到这一点?
我在想的是这样的:
id table_name column row_id value valid_from valid_to
其中 valid_from 是插入数据的时间,valid_to 是在数据库中无法再找到数据的日期。
因此,例如,我有一个名为“教师”的表,其中包含一个列状态。在状态栏中,教师可能正在“申请”“已雇用”“活跃”等。从一种状态到另一种状态的更改将保存在上表中,列有效_以保存教师停止具有“状态”的日期申请”并为“已雇用”创建一个新行。查询该表以获取统计数据似乎相当容易。
但我真的不知道这是否是一个好方法。这正是我想出的,可能是一种可怕的方法。任何帮助/建议将不胜感激!
如果这很重要,我正在使用 MySQL 和 CakePHP。