我应该规范化数据库中的时间记录吗?

时间:2020-01-22 04:59:33

标签: mysql sql

抱歉,这听起来很愚蠢,我是SQL编码的新手。顺便说一句,我正在尝试规范时间表并尝试执行第一个范式,我应该规范时间列吗?还是我应该这样保留它?

我们的任务是将其以所有可能的正常形式归一化,以消除冗余和异常。 Table

1 个答案:

答案 0 :(得分:0)

当一列的单个时间值由小时,分钟,秒组成时,您不会将其标准化为3列。

像您的情况一样,当您有两个时间值(即一个时间范围)时,可以说在一列中将其完全归一化。创建2列start_time和end_time。

不执行此操作时,甚至无法以常规方式查询表。假设您要查询WHERE NOW() BETWEEN start_time AND end_time之类的内容。将时间放在一栏中,您将如何处理?您不能(没有一些非常昂贵的额外步骤)。

我对此压力不够大,永远不要在一个列中存储多个值!