1、数据库技术第四次作业姓名:何小雨 学号:201428016029007学院:计算机与控制学院 培养单位:计算机网络信息中心题目:设计一个学籍管理小系统。系统包含以下信息:学号、学生姓名、性别、出生日、学生所在系名、学生所在系号、课程名、课程号、课程类型(必修、选修、任选) 、学分、任课教师姓名、教师编号、教师职称、教师所属系名、系号、学生所选课程号、学生所选上课教师姓名、选课成绩。使用工具:MySQL Server5.0, Navicat 8 Lite For MySQL, PoweDesigner要求 1.1:用 E-R 图表示学籍管理系统的概念模型答案: 图 1学籍管理系统的概念模型学生学
2、号姓名性别 出生日期所在院系号院系系号 系名课程课程号课程名课程类型学分任课教师编号教师编号姓名职称所在院系名nm选课学号课程号成绩n 1S 隶属D1nT 隶属 Dn m教课教师号 课程号使用 PowerDesigner 设计的结果如下:图 2 PowerDesigner 设计学籍管理系统的概念模型(E-R 图)要求 1.2:设计出合理的关系模式1)院系关系模型:院系(系号,系名) , 其中系号是键,数据类型如下Dept( Dno Integer PRIMARY KEY,Dname Variable characters(30)使用 Navicat 的设计如下:图 3 院系关系2)学生关系模型
3、:学生(学号,姓名,性别,出生日期,所在系号) ,其中学号是键,所在系是外键;数据类型如下Student (Sno Integer PRIMARY KEY,Sname Variable characters(30),Ssex Charaters(1),Sbirthday Date,Sdeptno Integer FOREIGN KEY (Dno) REFERENCES Dept(Dno) )使用 Navicat 的设计如下:图 4-1 学生关系外键的设计如下:3)教师关系模型:教师(教师编号,姓名,职称,所属系号) ,其中教师编号是键,所属系是外键;数据类型如下Teacher(Tno Inte
4、ger PRIMARY KEY,Tname Variable characters(30),Ttitle Variable characters(20),Tdeptno Integer FOREIGN KEY (Dno) REFERENCES Dept(Dno)使用 Navicat 的设计如下:图 5 教师关系4)课程关系模型:课程(课程编号,课程名,课程类型,学分) ,其中课程编号是键,任课教师是外键;数据类型如下Course(Cno Integer PRIMARY KEY,Cname Variable characters(30) ,Ctype set, Cscore Integer)使用
5、 Navicat 的设计如下:图 6 课程关系5)选课关系:选课(学号,课程编号,成绩)其中学号和课程编号是键,数据类型如下SC(Sno Integer PRIMARY KEY,Cno Integer PRIMARY KEY,Tno Integer FOREIGN KEY (Tno) REFERENCES Teacher(Tno)grade float)使用 Navicat 的设计如下:图 7选课关系6)教课关系:教课(教师编号,课程编号) ,其中教师编号和课程编号是键,数据类型如下:Teach(Tno Integer PRIMARY KEY,Cno Integer PRIMARY KEY)使
6、用 Navicat 的设计如下:图 8 教课关系要求 2.1、给出学生名,查询学生所选的所有课程名、成绩,累计学分以查询“田亮”同学为例,查询语句是:select Course.Cname as 课程名SC.grade as 成绩,sum(Course.Cscore) as 总学分from Course, Student, SCwhere Student.Sname = “给出的学生名” and SC.Sno = Student.Sno andCourse.Cno = SC.Cno; 结果是:图 9-1要求 2.1查询结果图 9-2 要求 2.1查询结果要求 2.2、给出课程名,查询学生的平均
7、成绩以查询“英语”课程为例,查询语句是:select avg(SC.grade) as 平均成绩from Course, SCwhere Course.Cname = “英语” andSC.Cno = Course.Cno;结果是:图 10 要求 2.2查询结果要求 2.3、各门课按平均成绩排序查询语句:select SC.Cno , avg(SC.grade) as 平均成绩from SCgroup by SC.Cnoorder by 平均成绩;查询结果:图 11 要求 2.3查询结果要求 2.4、显示所有的课程名和讲课教师名查询语句:select Cname as 课程名, Tname as 教师名from Teach, Teacher, Coursewhere Teach.Cno = Course.Cno andTeach.Tno = Teacher.Tno;查询结果如下:图 12 要求 2.4查询结果要求 3 的各项要求均已在要求二中表示。