Chr*_*cia 0 sql database database-design
我目前正在为我们的组织制定月度清单系统.用户可以登录,选择一个月,然后提交与该月相关的是/否问题列表,以用于我们组织的目的.有些问题在超过1个月的清单中使用,因此我正在创建一个交叉表来促进这种一对多的关系.字段是ChecklistMonth和ChecklistQuestionID.
但是,我不确定如何存储ChecklistMonth字段.如果我使用smalldatetime,它似乎有点矫枉过正,因为我只对这个月感兴趣.它在未来几年看起来也会有点过时.另一方面,创建一个包含MonthID和Month字段的表似乎有点浪费,以便仅识别月份.
大家对此有什么看法?提前致谢.
如果是一个月而不考虑年份,我会使用TINYINT.我不认为你需要一个单独的查询表,因为月份的数量是非常独特和普遍的(没有进入中国或犹太日历等...).
如果你使用任何类型的日期时间,那么你总是需要记住它周围的确切规则.你是把它存放在这个月的第一天吗?这个月中旬?哪一年?另外,这是在DB中使用的额外的,不必要的空间.
编辑:我以为我已经将此添加到我的回复中,但显然不是......记得在列中添加一个检查约束:
CHECK (month BETWEEN 1 AND 12)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
283 次 |
| 最近记录: |