数据库实验5.docx
- 文档编号:10805806
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:10
- 大小:165.68KB
数据库实验5.docx
《数据库实验5.docx》由会员分享,可在线阅读,更多相关《数据库实验5.docx(10页珍藏版)》请在冰豆网上搜索。
数据库实验5
大连海事大学
数据库原理课程实验大纲
实验名称:
实验五视图实验学时:
2
适用专业:
实验环境:
SQL.serve2008
执笔者:
编写日期:
1实验目的
(1)掌握SQL视图语句的基本使用方法,如CREATEVIEW、DROPVIEW。
(2)掌握视图更新、WITHCHECKOPTION等高级功能的使用。
2实验内容
2.1掌握SQL视图语句的基本使用方法
(1)创建视图(省略视图列名)。
(2)创建视图(不能省略列名的情况)。
(3)删除视图(RESTRICT/CASCADE)。
2.2掌握视图更新和WITHCHECKOPTION的高级使用方法
(1)创建视图(WITHCHECKOPTION),并利用INSERT、DELETE和UPDATE语句加以验证。
(2)创建一个行列子集可更新视图,并利用INSERT、DELETE和UPDATE语句加以验证。
(3)创建一个不可能更新的视图,并利用更新语句验证该视图不可更新。
3实验要求
(1)深入复习教材第三章SQL有关视图语句。
(2)根据书上的例子,针对TPCH数据库模式设计各种视图语句,每种类型视图语句至少要设计一个,描述清楚视图要求,运行你所设计的视图语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。
也可以按照附1所列示例做实验。
(3)实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。
(4)思考题:
KingbaseES把视图的定义存储在那个系统表中?
如何查看某个视图的定义?
4实验步骤
4.1掌握SQL视图语句的基本使用方法
(1)创建视图(省略视图列名)。
创建一个“海大汽配”供应商供应的零件视图V_DLMU_PartSupp1,要求列出供应零件的编号、零件名称、可用数量、零售价格、供应价格和备注等信息。
CREATEVIEWV_DLMU_PartSupp1(PARTKEY,NAME,AVAILQTY,RETAILPRICE,SUPPLYCOST,COMMENT)
AS
SELECTP.PARTKEY,P.NAME,PS.AVAILQTY,P.RETAILPRICE,PS.SUPPLYCOST,P.COMMENT
FROMPARTP,PARTSUPPPS
WHEREP.PARTKEY=PS.PARTKEYANDPS.SUPPKEYIN
(SELECTSUPPKEY
FROMSUPPLIERS
WHERES.NAME='海事大学')
(2)创建视图(不能省略列名的情况)。
创建一个视图V_CustAvgOrder,按顾客统计平均每个订单的购买金额和零件种类数量,要求输出顾客编号,姓名,平均购买金额和平均购买零件种类数量。
CREATEVIEWV_CustAvgOrder(CUSTKEY,NAME,AVGPRICE,AVGQUAN)
AS
SELECTO.CUSTKEY,C.name,AVG(O.TOTALPRICE),AVG(L.QUANTITY)
FROMCUSTOMERC,ORDERSO,lineitemL
WHEREC.CUSTKEY=O.CUSTKEYANDL.ORDERKEY=O.ORDERKEY
GROUPBYO.CUSTKEY,c.name(这里容易出错,结果必须在GROUP中出现)使用GROUPBY子句后,SELECT子句的目标列表达式列表中只能出现分组属性和集函数
(3)删除视图(RESTRICT/CASCADE)。
创建顾客订购零件明细视图V_CustOrdDetails,要求列出顾客编号、姓名、购买零件数、金额;然后在该视图的基础上,实现
(2)中的视图V_CustAvgOrder;
然后删除利用RESTRICT选项删除视图V_CustOrdDetails,观察现象,并解释原因。
利用CASCADE选项删除视图V_CustOrdDetails,观察现象,并检查V_CustAvgOrder是否存在?
解释原因?
CREATEVIEWV_CustOrdDetails(CUSTKEY,NAME,QUANTITY,TOTALPRICE)
AS
SELECTC.CUSTKEY,C.NAME,L.QUANTITY,O.TOTALPRICE
FROMCUSTOMERC,ORDERSO,LINEITEML
WHEREC.CUSTKEY=O.CUSTKEYANDO.ORDERKEY=L.ORDERKEY
利用RESTRICT删除视图时显示出错,因为在V_CustOrdDetails的基础上建立了V_CustAvgOrder。
使用CASCADE删除显示V_CustOrdDetails和V_CustAvgOrder不存在
4.2掌握视图更新和WITHCHECKOPTION的高级使用方法
(4)创建一个行列子集可更新视图,并利用INSERT、DELETE和UPDATE语句加以验证。
创建一个“海大汽配”供应商供应的零件视图V_DLMU_PartSupp2,要求列出供应零件的编号、可用数量和供应价格等信息。
然后通过该视图分别增加、删除和修改一条“海大汽配”零件供应记录,验证该视图是否是可更新的?
CREATEVIEWV_DLMU_PartSupp2(PARTKEY,AVAILQTY,SUPPLYCOST)
AS
SELECTPARTKEY,AVAILQTY,SUPPLYCOST
FROMPARTSUPP
WHERESUPPKEYIN
(SELECTSUPPKEY
FROMSUPPLIERS
WHERES.NAME='海事大学')
UPDATEV_DLMU_PartSupp2
SETSUPPLYCOST=2
WHEREPARTKEY=1
DELETE
FROMV_DLMU_PartSupp2
WHEREPARTKEY=1
插入受限,无法更新
INSERTINTOV_DLMU_PartSupp2
VALUES(4,23434,3)
(5)创建视图(WITHCHECKOPTION),并利用INSERT、DELETE和UPDATE语句加以验证。
利用WITHCHECKOPTION选项,创建一个“海大汽配”供应商供应的零件视图V_DLMU_PartSupp3,要求列出供应零件的编号、可用数量和供应价格等信息。
然后通过该视图分别增加、删除和修改一条“海大汽配”零件供应记录,验证WITHCHECKOPTION是否起作用?
并比较第(4)题与本题结果有何异同?
CREATEVIEWV_DLMU_PartSupp3(PARTKEY,AVAILQTY,SUPPLYCOST)
AS
SELECTPARTKEY,AVAILQTY,SUPPLYCOST
FROMPARTSUPP
WHERESUPPKEYIN
(SELECTSUPPKEY
FROMSUPPLIERS
WHERES.NAME='海事大学')
WITHCHECKOPTION
UPDATEV_DLMU_PartSupp3
SETSUPPLYCOST=2
WHEREPARTKEY=2
DELETE
FROMV_DLMU_PartSupp2
WHEREPARTKEY=1
删除修改正常
插入受限制无法完成
(5)的结果与(4)相同,两个表都伴随着基本表的更新
(6)创建一个不可能更新的视图,并利用更新语句验证该视图不可更新。
第
(1)题中创建的视图是可更新的吗?
第
(2)创建的视图是可更新的吗?
分别通过SQL更新语句加以验证,并说明原因。
CREATEVIEWV_CustOrdDetails2(CUSTKEY,NAME,AVGQUAN,AVGTOTAL)
AS
SELECTC.CUSTKEY,C.NAME,AVG(L.QUANTITY),AVG(O.TOTALPRICE)
FROMCUSTOMERC,ORDERSO,LINEITEML
WHEREC.CUSTKEY=O.CUSTKEYANDO.ORDERKEY=L.ORDERKEY
GROUPBYC.custkey,C.NAME
视图V_CustOrdDetails2不可更新
第
(1)题的表可以更新。
(1)更新的同时PART表也同步更新可进行更新操作。
因为其为行列子视图可以更新。
INSERTINTOV_DLMU_PARTSUPP1(PARTKEY)
VALUES(10)
对于
(2)题,因为使用了聚集函数,不能转化为对基本表的更新
5总结与体会
5.1实验中出现的问题及其解决方案
因为时间太长视图很多重要的操作已经遗忘了,造成了实验进度缓慢。
复习了ppt之后重温了学过的知识点。
5.2总结
视图是SQL.server重要的元素,可以使表的操作变简便,提高查询效率。
其中视图定义比较简单与定义表相同,但视图的是基于表建立的,这一点一定要清楚。
注意CREATE和SELECT之间有一个AS。
相对应UPDATE表名加SET,WHERE。
只有没有用聚集函数和GROUPBY函数的视图才可以更新。
WITHCHECKPOINT语句会使SQL.server保持更新。
5.3体会
这次实验难度没有上次大,用了比上次少点时间把实验完成了。
但是实验中还是出现了很多问题。
比如很多基本问题没有搞清楚,盲目打代码。
这次实验又一次告诉我做实验要提前复习。
THANKS!
!
!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等
打造全网一站式需求
欢迎您的下载,资料仅供参考
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验