收藏 分销(赏)

数据库实验五 视图的创建与使用.doc

上传人:xrp****65 文档编号:7600870 上传时间:2025-01-10 格式:DOC 页数:14 大小:466.50KB
下载 相关 举报
数据库实验五 视图的创建与使用.doc_第1页
第1页 / 共14页
数据库实验五 视图的创建与使用.doc_第2页
第2页 / 共14页
数据库实验五 视图的创建与使用.doc_第3页
第3页 / 共14页
数据库实验五 视图的创建与使用.doc_第4页
第4页 / 共14页
数据库实验五 视图的创建与使用.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、实验五 视图的创建与使用一、实验目的(1)理解视图的概念。(2)掌握创建视图、测试、加密视图的方法。(3)掌握更改视图的方法。(4)掌握用视图管理数据的方法。(5)了解分区视图的实现方法。二、实验内容1.创建视图(1)创建一个名为stuview2的水平视图,从数据库Student_infoXSGL的studentStudent表中查询出性别为“男”的所有学生的资料。并在创建视图时使用with check option。(注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。)create view stuview2asselect Sno,Sname,Sex,

2、Birth,Classno,Entrance_date,Homeaddr,Sdept,Postcodefrom Student_20103322where Sex=男with check option(2)创建一个名为stuview3的投影视图,从数据库Student_infoXSGL的courseCourse表中查询学分大于3的所有课程的课程号、课程名、总学时。,并在创建时对该视图加密。(提示:用with ENCRYPTION关键子句,加在as与视图名称之间,且sp_helptext无法看到该视图的定义脚本。)create view stuview3with ENCRYPTIONassele

3、ct Cno,Cname,Total_periorfrom Course_20103322where Credit3with check option(3)创建一个名为stuview4的视图,能检索出“052051”班所有女生的学号、课程号及相应的成绩。create view stuview4asselect Student_20103322.Sno,Cno,Gradefrom Student_20103322,SC_20103322where Student_20103322.Sno=SC_20103322.Sno and Classno=051 and Sex=女(4)创建一个名为stuv

4、iew5的视图,能检索出每位选课学生的学号、姓名、总成绩。create view stuview5(Sno,Sname,SumGrade)asselect SC_20103322.Sno,Sname,SUM(Grade)from SC_20103322,Student_20103322where SC_20103322.Sno=Student_20103322.Snogroup by SC_20103322.Sno,Sname2.查询视图的创建信息及视图中的数据(1)查看视图stuview2的创建信息。方法1:(提示:a.通过系统存储过程sp_help查看)exec sp_help stuvi

5、ew2方法2:(提示:b.通过select语句,查询表sysobjects)select *from sysobjectswhere name=stuview2(2) 通过查看视图的定义脚本。a.通过系统存储过程sp_helptextexec sp_helptext stuview2b.通过查询表sysobjects和表syscomments(提示:视图的名称保存在表sysobjects的name列,定义脚本保存在表syscomments的text列)(方法:(提示:sp_helptext)select textfrom sysobjects,syscommentswhere name=stu

6、view2 and sysobjects.id=syscomments.id3)查看加密视图stuview3的定义脚本。exec sp_helptext stuview33.修改视图的定义(1)修改视图stuview3使其从数据库Student_infoXSGL的studentStudent表中查询总学时大于60的所有课程的课程号、课程名、学分。(提示:若视图原具有加密保护,修改视图时若未加with encryption子句,则修改后的视图不再加密。修改视图请查阅帮助alter view关键字。)alter view stuview3with ENCRYPTIONasselect Cno,Cn

7、ame,Creditfrom Course_20103322where Total_perior604.视图的更名与删除1)用系统存储过程sp_rename将视图stuview4更名为stuv4。方法:(提示:sp_rename)sp_rename stuview4,stuv42)将视图stuv4删除。drop view stuv45.管理视图中的数据1)从视图stuview2查询出班级为“051”、姓名为“张虹”的资料。select *from stuview2 where Classno=051 and Sname=张虹2)向视图stuview2中插入一行数据,内容为:学号 姓名 班级 性

8、别 家庭住址 入学时间 出生年月20110005 赵小林 054 男 南京 2011/09/01 1993/01/09insert into stuview2(Sno,Sname,Classno,Sex,Homeaddr,Entrance_date,Birth,Sdept,Postcode)values(20110005,赵小林,054,男,南京,2011-09-01,1993-01-09,计算机系,211506)3)查询student,查看表中的内容有何变化。select *from Student_201033224)向视图stuview2中插入一行数据,内容为:学号 姓名 班级 性别 家

9、庭住址 入学时间 出生年月20110006 赵静 054 女 南京 2011/09/01 1993/11/09 能成功插入吗?原因何在?insert into stuview2(Sno,Sname,Classno,Sex,Homeaddr,Entrance_date,Birth,Sdept,Postcode)values(20110006,赵静,054,女,南京,2011-09-01,1993-11-09,计算机系,211506)不能插入。因为stuview2的水平视图,是Student_20103322_info数据库的Student_20103322表中查询出的所有性别为“男”的学生资料,插入的新数据性别为“女”,所以不能执行。5)修改视图stuview2中的数据。a.将stuview2中054班、姓名为“赵小林”同学的家庭地址改为“扬州市”。update stuview2set Homeaddr=扬州市where Classno=054 and Sname=赵小林b. 查询student,查看表中的内容有何变化select *from Student_201033226) 从视图stuview2中将班级为054、姓名为“赵小林”同学删除。delete from stuview2where Sname=赵小林14

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服