表3-1存在问题:表中数据大量冗余
解决办法:将表3-1拆分,每一个表对应一个实体,如下:
表3-2
总结:
1.关系数据库中,一般一个表描述一个实体
2.多对多:增加一个关系表,表中存两个相关表的关键字字段.
85
2145
055048011
80
2304
055048011
76
2145
055047006
85
2304
055047006
成绩
课程号
学号
表3-3
总结:
1.关系数据库中,一般一个表描述一个实体
2.多对多:增加一个关系表,表中存两个相关表的关键字字段.
85
2145
055048011
80
2304
055048011
76
2145
055047006
85
2304
055047006
成绩
课程号
学号
表3-3
问题:需不需要在表3-3中加上姓名,课程
名等字段名称
答案:不需要,否则带来数据冗余,因为
学号+课程号不会重复,而且它们分别唯
一确定一个实体.
要点:除了外关键字,避免
在表间出现重复字段
总结:
用外部关键字保证相关联表之间的联系.
一对多关系,在"多"的一边加上"一"那边的关键字字段.
根据上面总结思考以下问题:
如果现在学校限制学生在选课的过程中只能选择
一门课程,则学生选课系统的关系模式从简单,
减少数据冗余的角度考虑,可以有哪些变化呢
是不是还需要另外单独建立一个学生——课程的
关系模式呢
解决:
不需要增加"学生——课程"关系表,
本问题中,课程与学生的联系为"一对多"
按照总结 2)可采取如下措施:
成绩
课程编号
班级
姓名
学号
学分
课程名称
课程编号
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。