数据库系统原理课程设计报告Word文档格式.docx
《数据库系统原理课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库系统原理课程设计报告Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
![数据库系统原理课程设计报告Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/16/53274926-0a70-4a41-a821-0485fb2375b3/53274926-0a70-4a41-a821-0485fb2375b31.gif)
课程(课程号,课程名称,学分数,教师代号)
成绩(学号,课程号,成绩,考试时间)
教师(教师代号,姓名,性别,年龄,职称)
为方便起见,上述关系用英文字母表示如下:
S(SNO,NAME,SEX,AGE,JG,CLASSNO)
C(CNO,CNAME,XF,TNO)
G(SNO,CNO,GRADE,DATE)
T(TNO,NAME,SEX,AGE,ZC)
上述关系模式中,带下划线的属性为各自关系的关键字,其中学生表输入20条记录;
课程表输入10条记录;
成绩表输入100条记录;
教师表入5条记录。
基于这些关系表,做如下查询:
(1)找出男性学生的姓名
(2)找出不是“2031”班的学生
(3)查询“李峰”老师所教课程的课程名称和学分
(4)检索出选修了课程代号为“c11”和“c23”课程的学生
(5)查询至少选修了一门“李峰”老师的课程的学生姓名
(6)求选修了课程名为“数据库原理”的所有学生的学号和姓名
(7)找出学生代号为“S101”和“S102”两个学生都选修了的课程
(8)检索出没有被任何学生选修的课程
(9)求出每个学生的成绩的平均分和总分
(10)求至少三门以上课程成绩在90分以上的学生学号
(11)求获得学分数在200以上的学生
(12)求出少于10个学生选修的课程
(13)求出有四门课程考试不及格的学生的姓名
(14)求出每个老师所教课程的学分总数
(15)求出教了三门课以上的老师
(16)求出只教一门课程的老师
(17)求出每一个班级中每一门课程获得最高分的学生的学号
课程设计目的及要求:
目的:
通过本次对数据库的设计,了解其设计的基本思想方法,熟悉数据库的运行环境,能够独立编写小型的数据库程序,通过数据库系统应用课题的实践,进一步提高分析问题解决问题的能力及软件开发过程的能力。
要求:
1、正确建立完善的数据库表信息;
2、能够使用SQL语言正确写出查询语句;
3、能够利用查询设计器建立查询;
课程设计详细内容:
1、数据库表:
1)学生表:
2)课程表
3)成绩表
4)教师表
2、查询
1)SQL语句:
SELECTS.NAMEFROMSWHERE((s.sex="
男"
));
查询结果:
2)SQL语句:
SELECTS.*FROMSWHERE(((S.CLASSNO)NotLike"
2031"
3)SQL语句:
SELECTC.CNAME,C.XF,C.TNO
FROMC
WHERE(((C.TNO)Like"
1"
4)SQL语句:
SELECTS.*
FROMSINNERJOINGONS.SNO=G.SNO
WHEREG.CNOLike'
c11'
AndEXISTS(SELECT*FROMGASG2
WHEREG.SNO=G2.SNOANDG2.CNOLike'
c23'
);
5)SQL语句:
SELECTS.NAME,S.SNO
FROM(SINNERJOINGONS.SNO=G.SNO)INNERJOINCONG.CNO=C.CNO
WHERE(((G.CNO)="
c11"
Or(G.CNO)="
c12"
c21"
))
GROUPBYS.NAME,S.SNO;
6)SQL语句:
FROMSINNERJOINGONS.SNO=G.SNO
c13"
7)SQL语句:
SELECTS.SNO,G.CNO,C.CNAME
FROM(SINNERJOINGONS.SNO=G.SNO)INNERJOINCONG.CNO=C.CNO
WHERE(((S.SNO)Like'
s101'
)AND((Exists(SELECT*FROMGASG2WHEREG.CNO=G2.CNOANDG2.SNOLIKE'
s102'
))<
>
False));
8)SQL语句:
SELECTC.*FROMC
WHERE(((C.CNO)NotIn(SELECTG.CNOFROMG)));
9)SQL语句:
SELECTS.SNO,Avg(G.GRADE)ASGREAT之平均值,Sum(G.GRADE)ASGREAT之总计
GROUPBYS.SNO;
10)SQL语句:
SELECTS.NAME,S.SNO,Count(G.GRADE)ASGRADE之计数
WHERE(((G.GRADE)>
"
90"
GROUPBYS.NAME,S.SNO
HAVING(((Count(G.GRADE))>
2));
11)SQL语句:
SELECTS.SNO,S.NAME,Sum(G.GRADE)ASGREAT之总计
GROUPBYS.SNO,S.NAME
HAVINGSum(G.GRADE)>
200;
12)SQL语句:
SELECTC.CNAME,C.CNO,Count(G.GRADE)ASGRADE之计数
GROUPBYC.CNAME,C.CNO
HAVING(((Count(G.GRADE))<
10));
13)SQL语句:
SELECTS.NAME,Count(G.GRADE)ASGRADE之计数
WHERE(((G.GRADE)<
60"
GROUPBYS.NAME
HAVING(((Count(G.GRADE))=4));
14)SQL语句:
SELECTC.TNO,T.NAME,Sum(C.XF)ASXF之总计
FROMCINNERJOINTONC.TNO=T.TNO
GROUPBYC.TNO,T.NAME;
15)SQL语句:
SELECTT.NAME,T.TNO,Count(C.CNO)ASCNO之计数
FROMTINNERJOINCONT.TNO=C.TNO
GROUPBYT.NAME,T.TNO
HAVING(((Count(C.CNO))>
=3));
16)SQL语句:
FROMTINNERJOINCONT.TNO=C.TNO
HAVING(((Count(C.CNO))=1));
17)SQL语句:
SELECTS.CLASSNO,G.CNO,Max(G.GRADE)ASGRADE之最大值
GROUPBYS.CLASSNO,G.CNO;
注:
可另附页
课程设计总结及体会:
通过本次对关系数据库系统的设计,使我基本了解了有关关系数据库设计的基本思想方法,知道了如何在利用ACCESS的环境下创建数据库,包括正确建立完善的数据库表信息,使用SQL语言正确写出查询语句,利用查询设计器建立查询等基本技能。
也使我能够独立完成数据库表的创建,对数据的分析以及按要求建立相应的查询,并且更加熟悉了对SQL语言的使用。
通过本次数据库系统课题的实践,进一步提高了我的分析问题解决问题的能力。
学生(签字)
_年__月__日
指导教师评语:
课程设计成绩:
指导教师(签字)_______________
_____年_____月_____日
教研室意见:
教研室主任(签字)