您好,欢迎访问三七文档
《数据库系统及应用》实验报告题目:存储过程与数据库维护计划实验姓名日期实验环境:硬件备注计算机Pentium2.10GHz内存984MB硬盘空间14.5GB显示器1366×768实验内容与完成情况:一、统计离散数学的成绩分布情况,即按照各分数段统计人数。1.创建存储过程1)创建需要的表结构。(提示:因为存储过程在执行后在客户端并没有返回值,因此需要建立一个表存放执行后的结果,并返回到客户端显示。)根据实验要求,要统计选修了离散数学的学生的成绩分布,因此建立表Rank,其中第一列division显示成绩分段划分,第二列number显示的是成绩在该分数段的学生人数。)2)编写存储过程。2.执行存储过程(提示:首先执行编写好的存储过程statistic_mark,然后在表Rank中查看执行结果。)createprocedurep_rankasdeclare@v_snochar(9)declare@v_gradeintdeclarehgcursorforselectsno,gradefromc,scwherec.cno=sc.cnoandcname='离散数学'openhgfetchnextfromhginto@v_sno,@v_gradewhile(@@fetch_status=0)beginif@v_grade0and@v_grade60updateranksetnumber=number+1whereDivision='差'elseif@v_grade=60and@v_grade70updateranksetnumber=number+1whereDivision='及格'elseif@v_grade=70and@v_grade80updateranksetnumber=number+1whereDivision='中等'elseif@v_grade=80updateranksetnumber=number+1whereDivision='好'fetchnextfromhginto@v_sno,@v_gradeendclosehggoexecp_rank二、统计任意一门课的平均成绩。1.创建存储过程1)创建需要的表结构。(提示:根据实验要求,我们要统计任意一门课的平均成绩,因此建立表Avggrade,其中第一列cname显示统计的课程名称,第二列avgg显示选修了该课程的学生平均成绩。)2)编写存储过程。2.执行存储过程(提示:首先执行编写好的存储过程collect_avggrade,然后在表Avggrade中查看执行结果。)createprocedurep_avggradeasdeclare@v_avgfloatdeclare@v_cnochar(4)declare@v_cnamechar(40)declarehg1cursorforselectcno,avg(grade)fromscgroupbycnoopenhg1fetchnextfromhg1into@v_cno,@v_avgwhile(@@fetch_status=0)beginselect@v_cname=cnamefromcwherecno=@v_cnoinsertintoAvggrade(cname,avgg)values(@v_cname,@v_avg);fetchnextfromhg1into@v_cno,@v_avgendclosehg1goexecp_avggrade三、在表SC中将学生选课成绩从百分制改为等级制(即A、B、C、D、E)。1.创建存储过程(提示:根据实验要求,在本实验中存储过程的执行不需要在客户端返回结果,因此不需要建立相应的表结构来存放存储过程的执行结果。直接编写存储过程。)2.执行存储过程createprocedurep_ABCDEasdeclare@v_gradeintdeclare@v_snochar(9)declare@v_cnochar(4)declarehg2cursorforselectsno,cno,gradefromscopenhg2fetchnextfromhg2into@v_sno,@v_cno,@v_gradewhile(@@fetch_status=0)beginif@v_grade=80and@v_grade100updatescsetlevel='A'wheresno=@v_snoandcno=@v_cno;elseif@v_grade=60and@v_grade80updatescsetlevel='B'wheresno=@v_snoandcno=@v_cno;elseif@v_grade=40and@v_grade60updatescsetlevel='C'wheresno=@v_snoandcno=@v_cno;elseif@v_grade=20and@v_grade40updatescsetlevel='D'wheresno=@v_snoandcno=@v_cno;elseif@v_grade=0and@v_grade20updatescsetlevel='E'wheresno=@v_snoandcno=@v_cno;fetchnextfromhg2into@v_sno,@v_cno,@v_gradeendaltertablescdropcolumngrade;closehg2goexecp_ABCDE四、维护计划第一步:打开sqlserver“企业管理器”窗体第二步:找到“数据库维护计划”功能在“企业管理器”窗体中左侧的树型选项卡中,用鼠标单击“+”图标扩展开“控制台根目录”下的“microsoftsqlservers”,可以看到其下有一个“sqlserver组”;接着继续扩展开“sqlserver组”,此时可以看到其下出现了服务器的名称;再继续扩展开此服务器;最后单击“管理”项目,可以看到其下存在一个“数据库维护计划”。单击“数据库维护计划”项目,在“企业管理器”窗口右侧将会显示出已经存在的维护计划项目。第三步:创建“数据库维护计划”鼠标右击“数据库维护计划”项目,选择“新建维护计划(p)”功能,将打开“数据库维护计划向导”窗体,依照此向导能够创建一个新的“数据库维护计划”。步骤1:单击“下一步(n)”按钮,打开“选择数据库”窗体。在此窗体中可以选定一个或多个的数据库作为操作对象。选择数据库“spj”。步骤2:单击“下一步(n)”按钮,打开“更新数据优化信息”窗体。选择“重新组织数据和索引页”,其他为默认。步骤3:单击“下一步(n)”按钮,打开“检查数据库完整性”窗体。选定“检查数据库完整性[h]”复选框,其他为默认。步骤4:在“检查数据库完整性”窗体中的“下一步(n)”按钮,打开“指定数据库备份计划”窗体。选定“作为维护计划的一部分来备份数据库[a]”复选框,指定存储备份文件的位置为磁盘[P]。设定“调度”为每1天发生,在0:00:00。单击“下一步(n)”按钮,显示“指定备份磁盘目录”窗体。选择“使用此目录”,并选择“删除早于此时间的文件”,填为2天。单击“下一步(n)”按钮,显示“指定事务日志备份计划”窗体。步骤5:选定“作为维护计划的一部分来备份数据库[a]”复选框,指定存储备份文件的位置为磁盘[P]。设定“调度”为每1天发生,每1个小时,在0:00:00和23:59:59之间。单击“下一步(n)”按钮,显示“指定事务日志的备份磁盘目录”窗体。选择“使用此目录”,并选择“删除早于此时间的文件”,填为2天。步骤6:单击“下一步(n)”按钮,显示“要生成的报表”窗体。选择“将报表写入目录中的文本文件”,并选择“删除早于此时间的文本报表文件”,填为2天。步骤7:单击“下一步(n)”按钮,显示“维护计划历史纪录”窗体。选择默认。步骤8:单击“下一步(n)”按钮,显示“正在完成数据库维护计划向导”窗体。使用默认的“计划名[p]”,为“数据库维护计划1”。步骤9:单击“完成”按钮,显示“维护计划已创建成功。”的提示框,再单击“确定”按钮。第四步:维护和管理“数据库维护计划”。双击“数据库维护计划1”即可对第三步中所涉及的内容进行变更、修正。第五步:启动sqlserver2000代理以便执行“作业”。在“管理”项目中,存在一个“sqlserver代理”。单击“sqlserver代理”下的“作业”子菜单,在“企业管理器”窗口右侧将会显示出已经存在的作业项目。双击“数据库维护计划1的完全备份”作业,打开作业的“属性”窗体。在此窗体中集成了该作业的详细的配置项。每个配置项都能任意修改。“属性”窗体中有四个选项卡:常规:在此选项卡中可以重新设定作业名称(“名称[n]”文本框)、修改作业的分类(“分类[y]”下拉框)、指定作业的所有者(“所有者[w]”下拉框)、简单地对作业进行描述(“描述[r]”文本框),以及决定是否启用此作业(“启用[e]”复选框)。步骤:在此选项卡中可以新建、插入新的步骤,删除、编辑已有的步骤。单击“编辑[e]”按钮,在“编辑作业步骤”窗体中的“常规”选项卡中的“命令[m]”文本框中可以查阅到该作业的执行语句。调度:在此选项卡中可以新建调度、新建警报,删除、编辑已有的调度。通知:在此选项卡中可以设定作业完成时(即当作业成功时、作业失败时)执行的操作,即发送电子邮件、传呼操作员、发出网络警报信息、写入windows应用程序事件日志、自动删除等操作。第六步:检查结果。经过上述五个步骤后,一个完整的备份数据库的计划就建立起来了。可以通过“资源管理器”来检查备份目录下是否存在相应地备份文件。经过长时间的使用,如果以“保留2天的数据库完全备份和2天的每个一小时的事务日志备份”的备份策略来正确地建立了一个完整的数据库维护计划的话,无论何时查看相应备份目录下的文件,都应该存在102个文件。出现的问题:没有出现问题。解决方案(列出遇到的问题和解决办法,列出没有解决的问题):没有出现问题。
本文标题:数据库实验报告
链接地址:https://www.777doc.com/doc-6038260 .html