5实验五视图的创建与使用.docx

上传人:b****6 文档编号:13677385 上传时间:2023-06-16 格式:DOCX 页数:13 大小:352.13KB
下载 相关 举报
5实验五视图的创建与使用.docx_第1页
第1页 / 共13页
5实验五视图的创建与使用.docx_第2页
第2页 / 共13页
5实验五视图的创建与使用.docx_第3页
第3页 / 共13页
5实验五视图的创建与使用.docx_第4页
第4页 / 共13页
5实验五视图的创建与使用.docx_第5页
第5页 / 共13页
5实验五视图的创建与使用.docx_第6页
第6页 / 共13页
5实验五视图的创建与使用.docx_第7页
第7页 / 共13页
5实验五视图的创建与使用.docx_第8页
第8页 / 共13页
5实验五视图的创建与使用.docx_第9页
第9页 / 共13页
5实验五视图的创建与使用.docx_第10页
第10页 / 共13页
5实验五视图的创建与使用.docx_第11页
第11页 / 共13页
5实验五视图的创建与使用.docx_第12页
第12页 / 共13页
5实验五视图的创建与使用.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

5实验五视图的创建与使用.docx

《5实验五视图的创建与使用.docx》由会员分享,可在线阅读,更多相关《5实验五视图的创建与使用.docx(13页珍藏版)》请在冰点文库上搜索。

5实验五视图的创建与使用.docx

5实验五视图的创建与使用

实验五视图的创立与使用

一、实验目的

(1〕理解视图的概念。

(2〕掌握创立视图、测试、加密视图的方法。

(3〕掌握更改视图的方法。

(4〕掌握用视图管理数据的方法。

二、实验内容

(1〕创立一个名为stuview2的水平视图,从数据库Student_info的Student表中查询出性别为“男〞的所有学生的资料。

并在创立视图时使用withcheckoption。

〔注:

该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。

createviewstuview2

as

select*fromStudent

whereSex='男'

withcheckoption

查看视图:

select*fromstuview2

(2〕创立一个名为stuview3的投影视图,从数据库Student_info的Course表中查询学分大于3的所有课程的课程号、课程名、总学时。

并在创立时对该视图加密。

〔提示:

用withENCRYPTION关键子句〕

createviewstuview3

withENCRYPTION

as

selectCno,Cname,Total_periorfromCourse

whereCredit>3

查看视图:

select*fromstuview3

(3〕创立一个名为stuview4的视图,能检索出“051〞班所有女生的学号、课程号及相应的成绩。

createviewstuview4

as

select*fromSC

whereSno=(

selectSnofromStudent

whereClassno='051'andSex='女')

查看视图:

select*fromstuview4

(4〕创立一个名为stuview5的视图,能检索出每位选课学生的学号、姓名、总成绩。

createviewstuview5

as

selectStudent.Sno学号,Sname姓名,Grade成绩

fromStudent,SC

whereStudent.Sno=SC.Sno

查看视图:

select*fromstuview5

假设出现如上图所示情况,

单击“查询〞→IntelliSense→刷新本地缓存

然后就解决了。

 

(1〕查看视图stuview2的创立信息。

sp_help查看

查询表sysobjects

a、sp_helpstuview2

b、

selectso.name,sc.name,sc.colid,st.name

fromsysobjectsso,syscolumnssc,systypesst

whereSO.id=SC.id

andSO.xtype='V'

andSO.status>=0

andSC.xtype=ST.xusertype

andSO.name='stuview2'

orderbySO.name,SC.colorder

(2)通过查看视图的定义脚本。

sp_helptext

sp_helptextstuview2

和表syscomments

〔提示:

视图的名称保存在表sysobjects的name列,定义脚本保存在表syscomments的text列〕

selectSO.name,SC.text

fromsysobjectsSO,syscommentsSC

whereSO.id=SC.id

andSO.xtype='V'

andSO.status>=0

andSO.name='stuview2'

3)查看加密视图stuview3的定义脚本。

sp_helptextstuview3

 

(1〕修改视图stuview3使其从数据库Student_info的Student表中查询总学时大于60的所有课程的课程号、课程名、学分。

〔提示:

假设视图原具有加密保护,修改视图时假设未加withencryption子句,那么修改后的视图不再加密。

alterviewstuview3

withencryption

as

selectCno,Cname,CreditfromCourse

whereTotal_perior>60

查看视图:

select*fromstuview3

 

1〕用系统存储过程sp_rename将视图stuview4更名为stuv4。

sp_renamestuview4,stuv4

2)将视图stuv4删除。

dropviewstuv4

 

1〕从视图stuview2查询出班级为“051〞、姓名为“张虹〞的资料。

select*fromstuview2

whereClassno='051'andSname='张虹'

2〕向视图stuview2中插入一行数据,内容为:

学号姓名班级性别家庭住址入学时间出生年月

20210005赵小林054男南京2011/09/011993/01/09

insertintostuview2

values('20210005','赵小林','男','1993/01/09','054','2021/09/01',

'南京','CH','202111')

查看视图:

select*fromstuview2

3〕查询student,查看表中的内容有何变化。

Student表中已有“赵小林〞的信息

select*fromStudent

4〕向视图stuview2中插入一行数据,内容为:

学号姓名班级性别家庭住址入学时间出生年月

20210006赵静054女南京2021/09/011993/11/09

能成功插入吗?

原因何在?

不能插入,原因是目标视图或者目标视图所跨越的某一视图指定了WITHCHECKOPTION,而该操作的一个或多个结果行又不符合CHECKOPTION约束。

insertintostuview2

values('20210006','赵静','女','1993/01/09','054','2021/09/01',

'南京','CH','202111')

5〕修改视图stuview2中的数据。

stuview2中054班、姓名为“赵小林〞同学的家庭地址改为“扬州市〞。

updatestuview2

setHome_addr='扬州市'

whereHome_addr='南京'andSname='赵小林'andClassno='054'

查看视图:

select*fromstuview2

b.查询student,查看表中的内容有何变化

student表中的赵小林的家庭住址已发生了改变

select*fromStudent

6〕从视图stuview1中将班级为054、姓名为“赵小林〞同学删除。

deletefromstuview2

whereSname='赵小林'

查看视图:

【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2