课程设计一(2016)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计(一)学校的教务数据库设计如下:
教师信息表3 T_TEACHER
考试成绩表4 T_SCORE
创建教务数据库,创建用户,完成以下作业:
1)创建以上几张表,并给表中输入数据;
2)查询T_STUDENT中所有的数据;
3)查询T_STUDENT中所有学生的姓名和性别;
4)将学号和姓名显示,其中,姓名的格式为:“姓名:xxx”;
5)为了更好地体现各个学生的考试情况,将T_SCORE中的信息显示,分数显示为与60分的差;
6)将T_SCORE中的信息显示,分数显示为与60分的差值,列名为“差值”,如果第一条记录分数为空,会得出来什么结果。
(注意:空值具有特殊性,包括空值的任何算术表达式都等于空)
7)将学号和姓名显示,其中,列名分别显示为“学生”和姓名;
8)将学号和姓名显示在一个列中,列名显示为:信息;
9)查询教师的职称种类;
10)查询女生的姓名;
11)查询课程VB的信息;
12)显示所有期中考试及格的记录;
13)为了找出考试尖子,需要显示所有期末考试在90-100的考试记录(使用<,> between and);
14)学校要举行一帮一活动,让高分学生帮助低分学生。查询90分以上的期末考试记录,以及不及格的期末考试记录;
15)利用BETWEEN谓词显示所有期末考试在65-80的考试记录;
16)使用IN谓词,显示分数是60,70,80的考试记录;
17)查询姓李的学生资料;
18)查询姓“王”,名字为一个字的学生,并将这类学生的详细信息显示出来;
19)查询性别为空的学生资料;
20)用升序显示学生S001的所有期末考试成绩;
21)用降序显示课程C001的所有期末考试成绩,对于相等的成绩,则按照学生编号升序显示;
22)查询姓名为“郭莉芳”的考试成绩;
23)显示各个教师及其讲授课程的详细情况;
24)查询名为“梁天”的教师没有上过的课程;
25)课程“大学物理”,有哪些学生选过?请列出这些学生的姓名;
26)查询学号为”S002”的学生,参加课程“C001”考试的成绩,显示格式为:期中成绩期末成绩总评成绩;
其中,总评成绩=期中成绩*0.4+期末成绩*0.6
27)查询课程“大学物理”是哪一位老师教的,列出其姓名;
28)使用左外连接完成27);
29)使用右外连接完成27);
30)查询T_STUDENT内所有人的姓名和性别;
31)将学号和姓名用下划线连接,显示在一列;
32)显示教授的所有资料;
33)显示姓张的男生的姓名;
34)将所有的分数显示为与60分的差值,同时也显示原分数;
35)查询高级职称以下的教师姓名,高级职称以下为副教授和讲师;
36)学校需要请学生对教授的教学作评价,因此需要通知相关学生。请查询出:教授所教过的课程,有哪些学生选过?列出他们的姓名;
37)查询郭莉芳的哪些科目期末考试没有及格?列出这些科目的名称和分数;
38)统计学生姓名的数量;
39)查询学校有多少名教师;
40)查询为“梁天”的教师讲了多少门课;
41)查询参加过考试的学生数量;
42)查询郭莉芳选了多少门课;
43)查询课程C002的期末考试平均分;
44)查询课程C003的期中考试总分;
45)查询学校所有考试记录的总分;
46)查询课程C004的期末考试最高分;
47)查询每个教师讲授的课程数量,并将其姓名和课程数量显示出来;
48)查询郭莉芳每门课的平均分,显示课程名称和平均分;
49)学校要查询哪门课的授课效果最好,请查询各门课程平均分的最大值;
50)向T_TEACHER表中添加一条记录,教师编号为T009,教师姓名为汤路名,职称为教
授;
51)由于有些学生表现比较优秀,拟将其升级为教师。向T_TEACHER表中添加一些记录,这些记录为:平均分75分以上的学生和学号、姓名,他们的职称为助教;
52)删除T_STUDENT表中的女生记录;
53)删除T_COURSE表中的全部记录;
54)删除女生的分数记录;
55)将所有的学生分数增加5分;
56)将所有的学生分数增加5分,类型变为“正常考试”;
57)将所有女生的性别变为GIRL;
58)创建一个员工工资表,包含各个员工的编号、姓名、性别、出生年月、工资。性别为默认“男”。编号为主键;
59)将54创建的员工工资表改名;
60)创建一个员工工资表,包含各个员工的编号、姓名、性别、出生年月、工资。其中,员工的编号来自所有学生的学号,员工的姓名来自所有学生姓名,员工的性别来自学生性别,出生年月来自学生的出生年月,工资为0
(利用:CREATE TABLE 表名【列名1(,列名2…..)】
AS
子查询)
61)在T_TEACHER表中增加性别和出生年月列;
62)在T_TEACHER表中删除性别和出生年月列;
63)在T_TEACHER表中,将TEANAME重命名为“教师姓名”;
64)在T_TEACHER表中,将TEATITLE的数据类型改为VARCHAR2(30);
65)创建一个员工工资表,包含各个员工的编号、姓名、性别、出生年月、工资。编号和姓名组合为主键;
66)创建一个员工工资表,包含各个员工的编号、姓名、性别、出生年月、工资。编号为主键,姓名唯一;
67)将T_STUDENT表中的STUNAME指定为唯一性约束;
68)将65题中指定的唯一性约束删除;
69)创建一个员工工资表,包含各个员工的编号、姓名、性别、出生年月、工资。编号为主键,性别只能是男或者女;
70)T_SCORE中的分数,要求在0-100之间;
71)为T_STUDENT的STUNAME建立索引;
72)删除71题建立的索引;
73)女生部长关心女生的信息,请将女生信息创建为一个视图;
74)郭莉芳关心自己参加考试的课程编号、名称和考试平均成绩,请建立视图;
75)将全校的学生分数平均数查出来,存储在变量avascore内并打印;
76)定义一个表变量stunames,请将几名学生的姓名放入,并打印;
77)查询郭莉芳的所有科目平均成绩,决定她的等级。90-100为优秀,70-89为良好,60-69为及格,其他为差。请将其分数和等级打印出来;
78)编写存储过程,打印全校所有学生平均分;
79)编写一个存储过程,输出一个学生的学号,将这个学生所选的课程的数量、所有课程的平均分存储在两个输出参数内;
80)修改某门课程的任课教师。如果任课教师室教授,不可以进行修改;
81)显示教授的姓名,用空格隔开,保存在一个字符串内,打印;