- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大连海事大学
数据库原理课程实验大纲
实验名称: 实验五 视图 实验学时: 2
适用专业:
实验环境: SQL.serve2008
执 笔 者: 编写日期:
实验目的
掌握SQL视图语句的基本使用方法,如CREATE VIEW、DROP VIEW。
掌握视图更新、WITH CHECK OPTION等高级功能的使用。
实验内容
掌握SQL视图语句的基本使用方法
创建视图(省略视图列名)。
创建视图(不能省略列名的情况)。
删除视图(RESTRICT / CASCADE)。
掌握视图更新和WITH CHECK OPTION的高级使用方法
创建视图(WITH CHECK OPTION),并利用INSERT、DELETE和UPDATE语句加以验证。
创建一个行列子集可更新视图,并利用INSERT、DELETE和UPDATE语句加以验证。
创建一个不可能更新的视图,并利用更新语句验证该视图不可更新。
实验要求
深入复习教材第三章SQL有关视图语句。
根据书上的例子,针对TPCH数据库模式设计各种视图语句,每种类型视图语句至少要设计一个,描述清楚视图要求,运行你所设计的视图语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。也可以按照附1所列示例做实验。
实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。
思考题:KingbaseES把视图的定义存储在那个系统表中?如何查看某个视图的定义?
实验步骤
掌握SQL视图语句的基本使用方法
创建视图(省略视图列名)。
创建一个“海大汽配”供应商供应的零件视图V_DLMU_PartSupp1,要求列出供应零件的编号、零件名称、可用数量、零售价格、供应价格和备注等信息。
CREATE VIEW V_DLMU_PartSupp1(PARTKEY,NAME,AVAILQTY,RETAILPRICE,SUPPLYCOST,COMMENT)
AS
SELECT P.PARTKEY,P.NAME,PS.AVAILQTY,P.RETAILPRICE,PS.SUPPLYCOST,P.COMMENT
FROM PART P,PARTSUPP PS
WHERE P.PARTKEY=PS.PARTKEY AND PS.SUPPKEY IN
(SELECT SUPPKEY
FROM SUPPLIER S
WHERE S.NAME=海事大学)
创建视图(不能省略列名的情况)。
创建一个视图V_CustAvgOrder,按顾客统计平均每个订单的购买金额和零件种类数量,要求输出顾客编号,姓名,平均购买金额和平均购买零件种类数量。
CREATE VIEW V_CustAvgOrder(CUSTKEY,NAME,AVGPRICE,AVGQUAN)
AS
SELECT O.CUSTKEY,C.name,AVG(O.TOTALPRICE),AVG(L.QUANTITY)
FROM CUSTOMER C,ORDERS O,lineitem L
WHERE C.CUSTKEY=O.CUSTKEY AND L.ORDERKEY=O.ORDERKEY
GROUP BY O.CUSTKEY,(这里容易出错,结果必须在GROUP中出现)使用GROUP BY子句后,SELECT子句的目标列表达式列表中只能出现分组属性和集函数
删除视图(RESTRICT / CASCADE)。
创建顾客订购零件明细视图V_CustOrdDetails,要求列出顾客编号、姓名、购买零件数、金额;然后在该视图的基础上,实现(2)中的视图V_CustAvgOrder;
然后删除利用RESTRICT选项删除视图V_CustOrdDetails,观察现象,并解释原因。
利用CASCADE选项删除视图V_CustOrdDetails,观察现象,并检查V_CustAvgOrder是否存在?解释原因?
CREATE VIEW V_CustOrdDetails(CUSTKEY,NAME,QUANTITY,TOTALPRICE)
AS
SELECT C.CUSTKEY,C.NAME,L.QUANTITY,O.TOTALPRICE
FROM CUSTOMER C,ORDERS O,LINEITEM L
WHERE C.CUSTKEY=O.CUSTKEY AND O.ORDERKEY=L.ORDERKEY
利用RESTRICT删除视图时显示出错,因为在V_CustOrdDetails的基础上建立了V_CustAvgOrder。使用CASCADE删除显示V_CustOrdDet
文档评论(0)