《数据库原理与应用》实验报告三答案.pdf
广东金融学院实验报告 课程名称:数据库原理与应用 实验编号 及实验名称 实验三 数据库高级应用实验 系 别 姓 名 学 号 班 级 实验地点 实验日期 年 月 日 实验时数 8 指导教师 同组其他成员 无 成 绩 一、实验目的及要求 1、掌握 SQL Server 存储过程的定义和使用。2、掌握 SQL Server 触发器的定义和使用。二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)1、计算机操作系统要求在 windows XP 以上。2、并要求 SQL Server 软件 2000 以后版本。三、实验内容及要求 利用实验指导书中的关系数据库完成下面题目:1、说明下面代码段的功能 SELECT tname as 姓名,tSex as 性别,case trank when 教授 then 高级职称 when 讲师 then 中级职称 else 初级职称 end from teacher 创建一个有教师姓名、性别、职称的存储过程。其中将级别为“教授”的教师职称显示为“高级职称”;将级别为“讲师”的教师职称显示为“中级职称”;剩余级别的教师职称显示为“初级职称”。2、完成下面代码的书写 计算 student_course 表的平时分数列的平均值。如果小于 80,则分数增加其值的 5%;如果分数的最高值超过 95,则终止该操作。在以下代码划线处填入适当的内容以完成上述功能。WHILE(SELECT_AVG_(NormalMark)FROM student_course)_95_ BREAK ELSE _CONTINUE_ END 注意:实验前要先给所有同学的 NormalMark 赋一个初值,比如 50。3、根据要求完成下列题目 1)编写一个触发器:在添加期末成绩成绩信息时,利用平时成绩、其中成绩和期末成绩来计算成绩总评。如果没有期中成绩,则平时和期末成绩比重为 2:8,如果有期中成绩,则平时、期中、期末三者比重为 2:2:6。alter table student_course add midmark int go update student_course set midmark=mark-2 go CREATE TRIGGER trig_student_course ON student_course FOR insert,update AS begin declare nMark int,eMark int,mMark int declare sno varchar(10),ccno char(10)select nmark=normalmark,emark=exammark,mMark=midmark,sno=sno,ccno=ccno from inserted if mMark0 update student_course set mark=nmark*+mMark*+emark*where sno=sno and ccno=ccno else update student_course set mark=nmark*+emark*where sno=sno and ccno=ccno end 2)创建一个带输入参数和输出参数的存储过程,要求实现如下功能:输入学生学号,然后输出学生的选课门数、平均分以及所选学分。CREATE PROC show_course_Mark(sno char(9),sc_Count int output,avgMark float output,credit int output)AS begin select sc_Count=count(*),avgMark=avg(mark)from student_course sc where=sno select credit=sum(credit)from student_course sc,course_class cc where=and=sno end 3)调用 2 小题中的存储过程,并分别获得输出相关信息。declare sccount int declare avgMark float declare credits float EXEC show_course_Mark 0,sccount output,avgMark output,credits output select 0 as 学号,sccount as 选课门数,avgMark as 平均分,credits as 所选学分 4、思考题 1)存储过程和触发器的异同点 四、实验步骤及结果(包含简要的实验步骤流程、结论陈述)五、实验总结(包括心得体会、问题回答及实验改进意见)六、教师评语 1、完成所有的实验内容,实验步骤和实验结果基本正确。2、至少完成主要的实验内容,实验步骤和实验结果基本正确。3、仅完成部分的实验内容,实验步骤和结果基本正确。4、虽然完成了主要实验内容,但是实验步骤和结果存在多处重大错误。5、未能很好地完成规定的实验内容,且实验步骤和结果基本不正确。6、其它:评定等级:优秀 良好 中等 及格 不及格 教师签名:年 月 日