实验3(86): 视图、存储过程与触发器.doc

实验3(86): 视图、存储过程与触发器.doc

ID:26503209

大小:1.84 MB

页数:11页

时间:2018-11-27

实验3(86): 视图、存储过程与触发器.doc_第1页
实验3(86): 视图、存储过程与触发器.doc_第2页
实验3(86): 视图、存储过程与触发器.doc_第3页
实验3(86): 视图、存储过程与触发器.doc_第4页
实验3(86): 视图、存储过程与触发器.doc_第5页
资源描述:

《实验3(86): 视图、存储过程与触发器.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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_

3、grade>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)fromscgro

4、upbysnohavingsno='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

6、,SP_BINDRULE,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)D

7、efault:性别默认为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)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。