岳麓书院教务管理系统 第4页
BEGIN TRAN
--应该单独有一个【终止选课】的功能,终止选课后即生成空的成绩单
--所有学生将不允许更改课程信息,如果需要更改,必须单独申请,特殊处理。
--终止选课一学年应该只能进行一次操作,实例没有制作开始选课的功能,终止
--选课后在学生选课中仍然可以更改选择的课程。
INSERT INTO成绩表(学号,课程编号,成绩,考试次数,是否补修,是否重考,是否已经确定考试成绩)
SELECT DISTINCT A.学号,B.课程编号,0,1,’N’,’N’,’N’FROM
选课表 AS A, 课程表 AS B WHERE A.课序号=B.课序号
AND RTRIM(A.学号)+RTRIM(B.课程编号) NOT IN
(SELECT RTRIM(学号)+RTRIM(课程编号) FROM 成绩表)
--因为没有记录选课状态,上面的SQL语句加了判断,如果成绩表已有
--该学号/课程,就不插入,实际应用如果是重复的,应该是补修和重考
--的情况,应该更改已有信息的这些状态
--还要注意SELECT 语句加了DISTINCT说明,因为选课表中的一个序号
--一个学生可能有多条选课
COMMIT
GO
3. 结果与分析
3.1数据查询
3.1.1查询学号为20070003同学所缴纳的总费用,查询结果如图-4所示
图-4
3.1.2查询选修8号课程且成绩在90分以上的所以学生,查询结果如图-5所示
图-5
3.1.3查询不及格同学的信息 ,查询结果如图-6所示
图-6
3.1.4查询各个课程号、任课教师及相应的选课人数,查询结果如图-7所示
图-7
3.1.5查询与“崔帅峰”在同一个系学习的学生,查询结果如图-8所示
图-8
3.1.6查询少数民族同学所在的班级名称,查询结果如图-9所示
图-9
3.1.7查询学号为2007001的同学的上课地点都在哪里,查询结果如图-10所示
图-10
3.2数据更新
3.2.1插入一条学生记录
INSERT
INTO 学生
VALUES(‘20070031’,’杨一涛’,’男’,’22’,’计算机’,’004’,’2’,’1’,’05’,’0’)
查询结果如图-11所示
图-11
3.2.2对来自同一地方的学生求其平均年龄,并把结果存入数据库。
首先在数据中建立一个新表,其中一列存放籍贯,另一列存放相应的学生平均年龄。
CREATE TABLE 籍贯_年龄
(籍贯编号 CHAR(2),
AVG_年龄 SMALLINT)
然后对学生表按籍贯分组求平均年龄,再把籍贯和平均年龄存入新表中。
INSERT
INTO 籍贯_年龄(籍贯编号,AVG_年龄)
SELECT籍贯编号,AVG(年龄)
FROM 学生
GROUP BY 籍贯编号
结果如图-12所示
图-12
3.2.3在接受考察期间,由于陈洁同学在各个方面表现十分突出,经支部大会讨论通过并经上级党委批准其成为正式党员,故须将其政治面貌改为党员。
UPDATE 学生
SET 政治面貌编号=’2’
WHERE 姓名=’陈洁’
3.2.4删除已毕业学生的信息
DELETE
FROM 学生
WHERE 学籍编号=’2’
3.3视图
3.3.1定义视图
建立建立计算机系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生
CREATE VIEW CS(SNO,SNAME,SSEX,AGE)
AS
SELECT 学号,姓名,性别,年龄
FROM 学生
WHERE 所在系=’计算机’
WITH CHECK OPTION
建立计算机系选修了8号课程的学生的视图
CREATE VIEW XK_8(SNO,SNAME,AGE,GRADE)
AS
SELECT 学生.学号,姓名,年龄,成绩
FROM 学生,成绩表
WHERE 所在系=’计算机’ AND
学生.学号=成绩表.学号 AND
成绩表.课程编号=’8’
3.3.2查询视图
查询计算机视图中成绩小于80的学生的姓名及年龄
SELECT SNAME,AGE,GRADE
FROM XK_8
WHERE GRADE<80
查询结果如图-13所示
上一页 [1] [2] [3] [4] [5] 下一页
教务管理系统 第4页下载如图片无法显示或论文不完整,请联系qq752018766