SQL - 当多个表具有相同列时,最好做什么

时间:2018-03-15 14:11:35

标签: sql database-design relational-database

我的方案中有不同的列,但是我希望存储修改表的时间或数据存储时的数据,所以我添加了一些列来指定它。

我意识到我必须添加相同的" modification_date"和" modification_time"列到我的所有表,所以我想创建一个名为DATA_INFO的新表,所以我不需要这样做,但每个表都有一个不同的PRIMARY KEY,我不知道要添加哪个作为FOREIGN DATA_INFO表的KEY。

我不知道是否必须添加所有这些内容,或者是否有其他方法可以满足我的需求。

2 个答案:

答案 0 :(得分:3)

最好有相同的" modification_datetime"所有表中的列,而不是试图将该数据保存在中央表中。

这就是我们在我所工作的每家商店所做的事情。

答案 1 :(得分:0)

我想强调一个单独的表是不合理的。缺少一个明显的外键是暗示。

与Tab Allerman不同,我创建的表更新的可能性要小得多,因此我在大多数表上都有三个额外的列:

  • CreatedBy - 创建行的用户
  • CreatedAt - 当行创建时
  • CreatedOn - 创建表格的系统

最重要的一点是,在许多数据库中,此信息可以使用default值而不是触发器来实现。这是在一行中工作的一大优势。触发器越少越好。