Database design 我是否应该规范化包含许多重复项的日期字段?

Database design 我是否应该规范化包含许多重复项的日期字段?,database-design,Database Design,在我的计划数据库中,我有一个“assignments”表,其中包含以下字段: | assignment_date | start_time | end_time | task_ID | staff_ID | 每个工作人员每天将有六到七项单独的任务,这意味着根据目前的工作人员人数,每个日期大约有250个个人条目 我想知道是否有任何情况值得将日期字段提取到单独的表中(即将assignment\u date更改为assignment\u date\u ID) 这是不是太过分了?我可以想象这会使查询变

在我的计划数据库中,我有一个“assignments”表,其中包含以下字段:

| assignment_date | start_time | end_time | task_ID | staff_ID |
每个工作人员每天将有六到七项单独的任务,这意味着根据目前的工作人员人数,每个日期大约有250个个人条目

我想知道是否有任何情况值得将日期字段提取到单独的表中(即将
assignment\u date
更改为
assignment\u date\u ID

这是不是太过分了?我可以想象这会使查询变得更加复杂,但是你能想到这种结构有什么优势可以抵消额外的复杂性吗?

用ID号替换日期(或文本,或其他任何内容)与规范化完全无关。找到教你这个想法的人,用锋利的棍子戳他们的眼睛

如果要限制可接受日期的范围,可以对可接受日期表使用外键。这是添加表的一个很好的理由;它也与规范化毫无关系(它与数据完整性有关);您也不应该在该表中输入id号。

用id号替换日期(或文本,或其他任何内容)与规范化完全无关。找到教你这个想法的人,用锋利的棍子戳他们的眼睛


如果要限制可接受日期的范围,可以对可接受日期表使用外键。这是添加表的一个很好的理由;它也与规范化毫无关系(它与数据完整性有关);你也不应该在那张表上写id号。

我想我需要彻底改进我的正常化思维模式。你们手头上有什么可以帮助我了解ID/外键/规范化的参考资料吗?或者我应该去谷歌搜索:)首先,谷歌
网站:stackoverflow.com“与规范化无关”
。我想这就是我想要的。。。谢谢你的帮助。顺便说一句,我可以看出你不是在开玩笑,你最喜欢的评论在您的个人资料!和一个链接到实际的相关答案这一次。。。我认为我需要彻底改善我的正常化思维模式。你们手头上有什么可以帮助我了解ID/外键/规范化的参考资料吗?或者我应该去谷歌搜索:)首先,谷歌
网站:stackoverflow.com“与规范化无关”
。我想这就是我想要的。。。谢谢你的帮助。顺便说一句,我可以看出你不是在开玩笑,你最喜欢的评论在您的个人资料!和一个链接到实际的相关答案这一次。。。