数据库
用户表:
Id | Userid | Username | Classid |
---|---|---|---|
1 | 1 | yiyuan | 1 |
2 | 2 | suntao | 1 |
3 | 3 | xiaohe | 2 |
班级表:
Id | Classic | Classname |
---|---|---|
1 | 1 | 小一班 |
2 | 2 | 小二班 |
成绩表:
Id | Userid | Lesson name | Grade |
---|---|---|---|
1 | 1 | 语文 | 99 |
2 | 1 | 数学 | 98 |
3 | 2 | 语文 | 77 |
建表判断标准:只有一个userID是否能拿到所有数据
map表(关系表):存储表与表之间的关系连接
解释:map表指不同表之间一对一或一对多的关系,原则上用户的日常操作只会操作map表,map表一般只有两个字段分别对应主表的主键和数据来源表可供查询的字段,查询的字段是来源表的复合条件内容
第二范式:每个表必须有一个(而且仅有一个)数据元素为主关键字(Primary key),其他数据元素与主关键字一一对应。
解释:通过班级表的classID可以查到用户表中该班下的学生,所以学生信息不应该出现在班级表下
第三范式:指表中的所有数据元素不但要能惟一地被主关键字所标识,而且它们之间还必须相互独立,不存在其他的函数关系。
解释:成绩表中有多少门课是不确定的,如果每人的课程依次罗列会导致字段不确定性叠加,多以每条成绩应该占一行