将日期和时间保存为一个属性是一种好习惯吗?

时间:2017-03-26 17:38:21

标签: database-design entity-relationship

我正在设计一个数据库。我有一个关系,它具有时间日志的所有属性。而且我必须在其他有关项的关系中使它成为外键。但我不确定是否将日期和时间用作单独的属性,并将它们作为主键(复合键)或使用单个dateTime属性作为主键。 感谢

2 个答案:

答案 0 :(得分:1)

在优化数据库查询时,不同关系和表之间的连接总是很少。此外,如果您将类型的属性保存为DATETIME,则可以通过执行列的单次提取而不是获取两列并应用应用程序逻辑来更好地控制您可以执行的操作。此外,它还可以帮助您整体保持数据库元数据的大小。

因此,鉴于上述情况,强烈建议将两个属性保存在单列中,数据类型为DATETIME。

希望有所帮助

答案 1 :(得分:0)

对于属性本身,请使用单个日期时间列。如果在日期和时间背后分别存在一些语义,那么拆分才有意义。

除此之外,很少使用日期时间列作为键。通常你有一个数字(可能是代理)主键,而datetime只是一个属性。也许你不希望在同一时刻发生两个记录。大多数情况下,最终证明这是一个错误的假设。