我有一个辅导网站,教师列出他们对潜在学生年龄的偏好。
到目前为止,我已将这些年龄分为以下几类: 0-4,5-9,10-14,15-19,成人。我认为,这些类别代表了学生年龄段的体面断点。但无论如何 - 真正的问题是创建表格。
我将使用teacher_id的外键和另一个年龄列创建辅助表teachers_ages。我应该把这个专栏作为一个枚举,用以下可接受的选择'0-4''5-9','10 -14','15 -19','成人'?这在某种程度上是不好的做法(用单词组合数字?)是否违反了任何数据库创建规范?有没有更好的方法来打破与CRUD一起使用的年龄组?
更新:教师可以根据需要选择多个年龄组
答案 0 :(得分:1)
通常,您将创建一个查找表,列出标识符和关联值。例如
查找表(AgeRange)
ID Min_Age Max_Age Description
1 0 4 "Less than 4"
2 5 9 "5 to 9"
3 10 14 "10 to 14"
4 15 19 "15 to 19"
5 20 1000 "Adults"
现在,您可以添加另一个包含教师ID和年龄范围ID的表格。 (此表中可以有多个条目,允许教师拥有任意数量的偏好。)
验证您是否加入此表并查看Min_Age和Max_Age。报告时使用“说明”字段。
答案 1 :(得分:0)
如果每位教师只能选择一个年龄组,则无需添加第二张表。将年龄组字段放在教师表中。将数据类型设置为varchar,并使用检查约束作为五个选项。
您的方法是将群体分解为人口统计数据的有效方式,例如年龄,收入,人口等。