数据库技术第四次作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库技术第四次作业
姓名:何小雨学号:201428016029007
学院:计算机与控制学院培养单位:计算机网络信息中心
题目:设计一个学籍管理小系统。系统包含以下信息:
学号、学生姓名、性别、出生日、学生所在系名、学生所在系号、课程名、课程号、课程类型(必修、选修、任选)、学分、任课教师姓名、教师编号、教师职称、教师所属系名、系号、学生所选课程号、学生所选上课教师姓名、选课成绩。
使用工具:MySQL Server5.0, Navicat 8 Lite For MySQL, PoweDesigner
要求1.1:用E-R图表示学籍管理系统的概念模型
答案:图1学籍管理系统的概念模型
使用PowerDesigner设计的结果如下:
图 2 PowerDesigner设计学籍管理系统的概念模型(E-R图)
要求1.2:设计出合理的关系模式
1)院系关系模型:院系(系号,系名),其中系号是键,数据类型如下
Dept( Dno Integer PRIMARY KEY,
Dname Variable characters(30))
使用Navicat的设计如下:
图 3院系关系
2)学生关系模型:学生(学号,姓名,性别,出生日期,所在系号),其中学号是键,所在系是外键;数据类型如下
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 Integer 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)
使用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)
使用Navicat的设计如下:
图 8教课关系
要求2.1、给出学生名,查询学生所选的所有课程名、成绩,累计学分以查询“田亮”同学为例,查询语句是:
select ame as 课程名
SC.grade as 成绩,
sum(Course.Cscore) as总学分
from Course, Student, SC
where Student.Sname = “给出的学生名” and
SC.Sno = Student.Sno and
o = o;
结果是:
图9-1要求2.1查询结果
图 9-2要求2.1查询结果
要求2.2、给出课程名,查询学生的平均成绩以查询“英语”课程为例,查询语句是:
select avg(SC.grade) as 平均成绩
from Course, SC
where ame = “英语” and
o = o;
结果是:
图 10要求2.2查询结果
要求2.3、各门课按平均成绩排序
查询语句:
select o , avg(SC.grade) as 平均成绩
from SC
group by o
order by 平均成绩;
查询结果:
图 11要求2.3查询结果
要求2.4、显示所有的课程名和讲课教师名查询语句:
select Cname as 课程名, Tname as 教师名
from Teach, Teacher, Course
where o = o and
Teach.Tno = Teacher.Tno;
查询结果如下:
图 12要求2.4查询结果
要求3的各项要求均已在要求二中表示。