欢迎来到天天文库
浏览记录
ID:47241348
大小:1.86 MB
页数:11页
时间:2019-08-08
《实验3(86): 视图、存储过程与触发器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验三视图、存储过程、触发器及完整性课程名称:数据库系统原理班级:软件1213实验成绩:指导教师:吴晓晖姓名:俞斌实验项目名称:实验3学号:201221122086上机实践日期:实验目的:掌握视图的创建方法,掌握T-SQL流程控制语句的使用;掌握存储过程及触发器实验内容:掌握视图的创建方法,掌握T-SQL流程控制语编写,掌握T-SQL存储过程格式与业务表达上的应用,掌握T-SQL触发器的语法及业务表达上的应用;实验要求:单独完成并编写实验报告实验准备:XSCJ数据库(注:在COU表中添加一字段TnameCHAR(8)),并为每个记录
2、添加相应的值。因本章要对数据库进行更新,请先备份XSCJ数据库的2个相关文件。实验步骤1.视图的创建与应用为表sc创建一个视图,包括有各个学生学号、选修课程的门数及平均分:实践下列查询和更新操作的功能,是否出错,若可运行,写出转换至基本表SC上的相应操作。(1)select*froms_grade;可以转换后的查询语句为:selectsno,count(cno)asc_num,avg(grade)asavg_gradefromscgroupbysno(2)selectsno,c_numfroms_gradewhereavg_grad
3、e>80可以转换后的查询语句为:selectsno,count(cno)asc_numfromscgroupbysnohavingavg(grade)>80(3)selectsno,avg_gradefroms_gradewherec_num>(selectc_numfroms_gradewheresno=’S004’)可以转换后的查询语句为:selectsno,avg(grade)asavg_gradefromscgroupbysnohavingcount(cno)>(selectcount(cno)fromscgroupbysn
4、ohavingsno='S004')(4)updates_gradesetc_num=c_num+2(5)deletefroms_gradewherec_num>32.对SC表创建视图COMPUTER_SC,该视图包括‘01’专业的学生的学号、姓名与性别设计实验完成该视图数据的查询、添加、修改与删除。进一步理解行列子集视图与非行列子集视图应用上的区别3.据SQLSERVER提供的完整性功能自行设计实验完成完整性实践SQLSERVER提供的数据库完整性包括域完整性(CHECK,DEFAULT,UNQUE,RULE,用户自定义类型、基本
5、数据类型)、表间完整性(复习实体完整性、参照完整性的定义与验证)、复杂完整性表达(触发器)1)主键定义例子一个2)外键定义例子一个3)CHECK约束a)定义学生的年龄在16-30之间。agebetween16and30b)定义成绩在0-150之间gradebetween0and150c)定义学号由S开头,其余字符为数字字符,长度为4的snolike‘S[0-9][0-9][0-9]’4)分别创建一个用户自定义类型,用于定义STU及COU表的学号与课号(CREATETYPE。。FROM、CREATERULE。。AS,SP_BINDRU
6、LE,SP_UNBINDRULE等)学号由S开头,其余字符为数字字符,长度为4的.课号以C开始,其余字符为数字字符,长度为4的CREATETYPEsnotypeFROMvarchar(4)NOTNULLCREATEruler1as@snolike'S[0-9][0-9][0-9]'sp_bindruler1,snotype5)使用Unique修改MAJOR表,定义专业名具有唯一性。ALTERTABLEMAJORADDCONSTRAINTIX_MAJORUNIQUENONCLUSTERED(MNOASC)5)Default:性别默认为
7、TRUE(代表男性)ALTERTABLEstuadddefault'true'forsex6)notnull:分别修改major、STU表、COU表,专业名、姓名、课名不可为空ALTERTABLEstualtercolumnsnamechar(8)notnullALTERTABLEmajoraltercolumnmnamechar(20)notnullALTERTABLEcoualtercolumncnochar(4)notnull4.T-SQL1)使用CASEWHEN查询学生的所有信息,若性别为1,则性别显示‘男’,否则显示‘女’
8、2)使用WHILE及游标等对SC表添加一个等级列,若学生成绩80以上等级A,60-79分为B,其余为C5、存储过程创建与使用1).创建存储过程P1,查询学生表所有信息;运行之。2)创建存储过程P2,查询某学号学生的所有信息,运行之3)
此文档下载收益归作者所有