实验6视图1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六数据库的视图
一、实验目的
1.掌握创建视图的SQL语句的用法。
2.掌握使用企业管管理器创建视图的方法。
3.掌握使用创建视图向导创建视图的方法。
4.掌握修改视图的方法。
二、实验内容
1、在企业管理器里创建视图
以建立客户编号为‘K00201’的客户全部信息的视图KH操作为例:
(1)执行‚工具—向导‛命令
图7.1
(2)选择表中的字段
(3)‚定义限制‛对话框,限制条件
图7.3 (4)查询视图所得的结果
SELECT * FROM KH
练习:建立关于销售情况的视图XS,包括产品名称,客户名称,订购数量并查询结果。
2. 在企业管理器里修改视图
如将视图KH改为客户编号为‘XXX’ (XXX自己输入相应的值) (1)执行‚设计视图‛命令
(2)选择要在视图中引用的列
(3)输入指定要检索行的准则
(4)执行‚运行‛命令查看结果集
图7.13 3.使用T-SQL语句更新视图
3. 使用企业管理器删除视图
图7.15 执行“删除”命令
练习:在查询分析器中用T-SQL命令完成以下操作: 建立订购数量大于200的销售情况视图XS1(利用XS) 并查询结果CREATE VIEW XS1
AS
SELECT *
FROM XS
WHERE QUANTITY >200
建立各产品的订购数量的总数的视图SL,包括产品编号,订购总量并查询结果CREATE VIEW SL
AS
SELECT PCODE,OQUANTITY
FROM
SALE
查找订购数量=300的客户名称,(利用视图XS1)并查询结果SELECT CNAME
FROM XS1
WHERE
建立所在地为长沙的客户的视图KH1 CREATE VIEW KH1
AS
SELECT *
FROM CUSTOMER
WHERE
通过视图KH1插入记录(‘K00203‘,’王府井’,’长沙’)并查询结果INSERT
INTO KH1
V AULES(‘K00203‘,’王府井’,’长沙’)
INSERT
INTO KH1(CNO,CNAME,SITE)
V ALUES('K00204','大润发','上海')
通过视图KH1插入记录(‘K00204‘,’大润发’,‘上海’)并查询结果CREATE VIEW XS1 AS
SELECT *
FROM XS
WHERE QUANTITY >200
UPDATE KH1
SET C INSERT
INTO KH1(CNO,CNAME,SITE)
V ALUES('K00204','大润发','上海') 将SL视图中C20012产品的总量更新为30。思考是否可以更新?如果不行,为什么?
带有with check option 短语时,SQL2000中的处理方式与SQL标准有什么不同
通过视图KH1将客户编号为‘K00203’的客户名称改为‘平和堂’并查询结果
通过视图KH1将客户编号为‘K00202’的客户名称改为‘步步高’并查询结果UPDATE KH1
SET CNAME=’步步高’
WHERE CNO=’K00202’
◆通过视图KH1删除K00202的信息,并查询结果.
DELECT
FROM
WHERE CNO=’K00202’
◆将SL视图中C20012产品的总量更新为30。思考是否可以更新?如果不行,为什么?UPDATE SL
SET QUANTITT=30
WHERE CNO=’C20012’
删除视图XS DELECT VIEW XS
思考
1.视图一经定义后,就可以象基本表一样用于查询,但DBMS执行对视图的查询过程与执行基本表的查询过程有什么区别?
2.通过视图是否能更新数据?通常哪些视图可以进行更新?
3.带有with check option 短语时,SQL2000中的处理方式与SQL标准有什么不同。