4. 删除触发器trig_4。
五、问题解答及实验结果
六、实验体会和收获
26
实验项目名称: 存 储 过 程 实验学时: 3 同组学生姓名: 实验地点:
实验日期: 实验成绩: 批改教师: 批改时间: 一、实验目的和要求
1、理解存储过程的基本概念、优点、分类; 2、掌握创建、执行存储过程的方法;
3、掌握对存储过程的查看、修改、重命名和删除操作。
二、实验设备、环境
奔腾计算机;装有WINDOWS 2000 SERVER或WINDOWS 2003 SERVER及以上版本、SQL Server 2005中文版。
三、实验步骤
1、理解存储过程的基本概念、优点、分类;
2、理解并掌握创建、执行、查看、修改、重命名和删除存储过程的方法; 3、灵活掌握各种存储过程的应用命令;
4、做完实验后写出本实验的实验报告,并将相关电子文档资料保存在以自己学号命名的文件夹中。
四、实验内容
(一)教师重点讲存储过程的基本概念、分类、优点,并演示存储过程的创建、执行、查看、修改、重命名和删除的方法
(二)学生写出实验内容、出现问题及解决方案,以实验student、MyDB数据库中数据为基础,请使用T-SQL 语句实现以下操作: 1.创建与执行存储过程
1.1 在MyDB中创建存储过程proc_1,要求实现如下功能:产生学分为4的课程学生选课情况列表,其中包括课程号、课程名、学分、学号、姓名、专业、性别等。并调用此存储过程,显示执行结果。 1.2 在MyDB中创建存储过程proc_2,要求实现如下功能:输入专业名称,产生该专业学生的选课情况列表,其中包括专业、学号、姓名、课程号、课程名、成绩、学分等。并调用此存储过程,显示“计算机应用”专业学生的选课情况列表。
1.3 在MyDB中创建存储过程proc_3,要求实现如下功能:输入学生学号,根据该学生所选课程的总学分显示提示信息,如果总学分<9,则显示“此学生学分不足!”,否则显示“此学生学分已足!”,并调用此存储过程,显示“19920102”学生的总学分情况。 2.修改存储过程
2.1 对MyDB中已创建的存储过程proc_1进行修改,要求在显示列表中增加班级字段,即产生学分为“4”
27
的课程学生选课情况列表,其中包括课程号、课程名、学分、学号、姓名、专业、班级、性别等。 2.2 在MyDB中创建的存储过程proc_2进行修改,要求实现如下功能:输入专业名称,产生该专业所有男生的选课情况列表,其中包括专业、学号、姓名、课程号、课程名、成绩、学分等。并调用修改后的存储过程,显示“计算机应用”专业男生的选课情况列表。
2.3 对MyDB中已创建的存储过程proc_3进行修改,要求实现如下功能:输入学生学号,根据该学生所选课程的总学分显示提示信息,如果总学分<9,则显示“此学生所选总学分为XXX,学分不足!”,否则显示“此学生所选总学分为XXX,学分已足!”。并调用修改后的存储过程,显示“19920102”学生的总学分情况。
2.4重命名存储过程proc_3为proc_4 3.删除存储过程
删除MyDB中的存储过程proc_1; 4.查看存储过程的类型
4.1使用sp_helptext查看byroyalty存储过程的文本,该存储过程在数据库pubs中; 4.2分别使用sp_help、sp_depends查看proc_2、proc_4存储过程的文本情况。
五、问题解答及实验结果
六、实验体会和收获
28
实验项目名称: 数据完整性 实验学时: 3 同组学生姓名: 实验地点:
实验日期: 实验成绩: 批改教师: 批改时间: 一、实验目的和要求
1、熟悉数据库完整性相关概念;
2、掌握默认的创建、绑定、解除绑定、删除的应用; 3、掌握规则的创建、绑定、解除绑定、删除的应用; 4、掌握主、外键约束及check约束的使用方法;
二、实验设备、环境
奔腾计算机;装有WINDOWS 2000 SERVER或WINDOWS 2003 SERVER及以上版本、SQL Server 2005中文版。
三、实验步骤
1、熟练使用默认的创建、绑定、解除绑定、删除的方法; 2、熟练使用规则的创建、绑定、解除绑定、删除的方法; 3、掌握主、外键约束及check约束的使用方法;
4、做完实验后写出本实验的实验报告,并将相关电子文档资料保存在以自己学号命名的文件夹中。
四、实验内容
(一)教师重点讲解数据库完整性相关概念,演示默认和规则的创建、绑定、解除绑定、删除,演示主、外键约束及check约束的使用方法
(二)学生写出实验内容、出现问题及解决方案,完成以下工作
以管理员帐号登录SQL Server Management Studio,以原有数据库student为基础,请使用Management Stuio界面方式或T-SQL 语句实现以下操作:
1.请用至少2种方法定义student 数据库中student表的主键sno;
2.将数据库student的表course的cno字段定义为主键,约束名称为cno_pk; 3.为表course中的字段cname添加唯一值约束;
4.将数据库student的表sc的sno及cno字段组合定义为主键,约束名称为sc_pk;
5.对于数据表sc的sno、cno字段定义为外码,使之与表student的主码sno及表course的主码cno对应,实现如下参照完整性:
6.删除student表中记录的同时删除sc表中与该记录sno字段值相同的记录;
7.修改student表某记录的sno时,若sc表中与该字段值对应的有若干条记录,则拒绝修改;
29
8.修改course表cno字段值时,该字段在sc表中的对应值也应修改;
9.删除course表一条记录时,若该字段在在sc表中存在,则删除该字段对应的记录; 10.向sc表添加记录时,如果该记录的sno字段的值在student中不存在,则拒绝插入;
11.定义check约束,要求学生学号sno必须为9位数字字符,且不能以0开头,第二三位皆为0; 12.定义student数据库中student表中学生年龄值在16-25范围内; 13.定义student表中学生姓名长度在2-8之间;
14.定义student表中学生性别列中只能输入“男”或“女”; 15.定义student表中学生年龄值默认值为20;
16.修改student表学生的年龄值约束可以为15-30范围内; 17.删除上述唯一值约束、外键约束及check约束
18.定义规则对象asd1,用于保证course表中cno字段值为4个数字字符,即先定义规则asd1,后绑定到course表中cno字段中;最后解除该规则的绑定;
19. 定义默认对象asd2,设置student表学生的性别的默认值为“女”,即先定义默认asd2,后绑定到student表中Ssex字段中;最后解除该默认绑定; 20.删除规则对象asd1,删除默认对象asd2。
五、问题解答及实验结果
六、实验体会和收获
30