在我的日程安排数据库中,我有一个“赋值”表,其中包含以下字段:
| assignment_date | start_time | end_time | task_ID | staff_ID |
每位工作人员每天将分配六到七个单独的任务,这意味着对于任何个人日期,当前的工作人员编号将有大约250个单独的条目。
我想知道是否有任何情况需要将日期字段提取到一个单独的表中(即将assignment_date
更改为assignment_date_ID
)。
这是否正常化了一步?我可以想象它会使查询变得更复杂,但是你能想到这个结构有什么好处可以抵消额外的复杂性吗?
答案 0 :(得分:6)
用ID号替换日期(或文本或其他任何内容)与标准化完全无关。追捕那些教你这个想法的人,然后用尖锐的棍子戳他们的眼睛。
如果要限制可接受日期的范围,可以使用外键来表示可接受日期。这是添加表格的一个很好的理由;它也与标准化完全无关(它与数据完整性有关);并且你不应该在那个表中输入一个id号。