数据库实验实验6视图1.docx
《数据库实验实验6视图1.docx》由会员分享,可在线阅读,更多相关《数据库实验实验6视图1.docx(17页珍藏版)》请在冰豆网上搜索。
数据库实验实验6视图1
实验六数据库的视图
一、实验目的
1.掌握创建视图的SQL语句的用法。
2.掌握使用企业管管理器创建视图的方法。
3.掌握使用创建视图向导创建视图的方法。
4.掌握修改视图的方法。
二、实验内容
1、在企业管理器里创建视图
以建立客户编号为‘K00201’的客户全部信息的视图KH操作为例:
(1)执行“工具—向导”命令
图7.1
(2)选择表中的字段
图7.2
(3)“定义限制”对话框,限制条件
图7.3
(4)查询视图所得的结果
SELECT*FROMKH
◆练习:
建立关于销售情况的视图XS,包括产品名称,客户名称,订购数量并查询结果。
2.在企业管理器里修改视图
如将视图KH改为客户编号为‘XXX’(XXX自己输入相应的值)
(1)执行“设计视图”命令
(2)选择要在视图中引用的列
(3)输入指定要检索行的准则
(4)执行“运行”命令查看结果集
图7.13
3.使用T-SQL语句更新视图
3.使用企业管理器删除视图
图7.15执行“删除”命令
练习:
在查询分析器中用T-SQL命令完成以下操作:
◆建立订购数量大于200的销售情况视图XS1(利用XS)并查询结果
CREATEVIEWXS1
AS
SELECT*
FROMXS
WHEREQUANTITY>200
◆建立各产品的订购数量的总数的视图SL,包括产品编号,订购总量并查询结果
CREATEVIEWSL
AS
SELECTPCODE,OQUANTITY
FROM
SALE
◆查找订购数量=300的客户名称,(利用视图XS1)并查询结果
SELECTCNAME
FROMXS1
WHERE
◆建立所在地为长沙的客户的视图KH1
CREATEVIEWKH1
AS
SELECT*
FROMCUSTOMER
WHERE
◆通过视图KH1插入记录(‘K00203‘,’王府井’,’长沙’)并查询结果
INSERT
INTOKH1
VAULES(‘K00203‘,’王府井’,’长沙’)
INSERT
INTOKH1(CNO,CNAME,SITE)
VALUES('K00204','大润发','上海')
通过视图KH1插入记录(‘K00204‘,’大润发’,‘上海’)并查询结果CREATEVIEWXS1
AS
SELECT*
FROMXS
WHEREQUANTITY>200
UPDATEKH1
SETCINSERT
INTOKH1(CNO,CNAME,SITE)
◆VALUES('K00204','大润发','上海')将SL视图中C20012产品的总量更新为30。
思考是否可以更新?
如果不行,为什么?
带有withcheckoption短语时,SQL2000中的处理方式与SQL标准有什么不同
◆
◆通过视图KH1将客户编号为‘K00203’的客户名称改为‘平和堂’并查询结果
◆通过视图KH1将客户编号为‘K00202’的客户名称改为‘步步高’并查询结果
UPDATEKH1
SETCNAME=’步步高’
WHERECNO=’K00202’
◆通过视图KH1删除K00202的信息,并查询结果.
DELECT
FROM
WHERECNO=’K00202’
◆将SL视图中C20012产品的总量更新为30。
思考是否可以更新?
如果不行,为什么?
UPDATESL
SETQUANTITT=30
WHERECNO=’C20012’
◆删除视图XS
DELECTVIEWXS
思考
1.视图一经定义后,就可以象基本表一样用于查询,但DBMS执行对视图的查询过程与执行基本表的查询过程有什么区别?
2.通过视图是否能更新数据?
通常哪些视图可以进行更新?
3.带有withcheckoption短语时,SQL2000中的处理方式与SQL标准有什么不同。