欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库实验5(7页).doc

    • 资源ID:36344438       资源大小:151KB        全文页数:7页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库实验5(7页).doc

    -大连海事大学数据库原理课程实验大纲实验名称: 实验五 视图 实验学时: 2 适用专业: 实验环境: SQL.serve2008 执 笔 者: 编写日期: 1 实验目的(1) 掌握SQL视图语句的基本使用方法,如CREATE VIEW、DROP VIEW。(2) 掌握视图更新、WITH CHECK OPTION等高级功能的使用。2 实验内容2.1 掌握SQL视图语句的基本使用方法(1) 创建视图(省略视图列名)。(2) 创建视图(不能省略列名的情况)。(3) 删除视图(RESTRICT / CASCADE)。2.2 掌握视图更新和WITH CHECK OPTION的高级使用方法(1) 创建视图(WITH CHECK OPTION),并利用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,要求列出供应零件的编号、零件名称、可用数量、零售价格、供应价格和备注等信息。CREATE VIEW V_DLMU_PartSupp1(PARTKEY,NAME,AVAILQTY,RETAILPRICE,SUPPLYCOST,COMMENT)ASSELECT P.PARTKEY,P.NAME,PS.AVAILQTY,P.RETAILPRICE,PS.SUPPLYCOST,P.COMMENTFROM PART P,PARTSUPP PSWHERE P.PARTKEY=PS.PARTKEY AND PS.SUPPKEY IN(SELECT SUPPKEYFROM SUPPLIER SWHERE S.NAME='海事大学')(2) 创建视图(不能省略列名的情况)。创建一个视图V_CustAvgOrder,按顾客统计平均每个订单的购买金额和零件种类数量,要求输出顾客编号,姓名,平均购买金额和平均购买零件种类数量。CREATE VIEW V_CustAvgOrder(CUSTKEY,NAME,AVGPRICE,AVGQUAN)ASSELECT O.CUSTKEY,C.name,AVG(O.TOTALPRICE),AVG(L.QUANTITY)FROM CUSTOMER C,ORDERS O,lineitem LWHERE C.CUSTKEY=O.CUSTKEY AND L.ORDERKEY=O.ORDERKEYGROUP BY O.CUSTKEY,c.name(这里容易出错,结果必须在GROUP中出现)使用GROUP BY子句后,SELECT子句的目标列表达式列表中只能出现分组属性和集函数(3) 删除视图(RESTRICT / CASCADE)。创建顾客订购零件明细视图V_CustOrdDetails,要求列出顾客编号、姓名、购买零件数、金额;然后在该视图的基础上,实现(2)中的视图V_CustAvgOrder;然后删除利用RESTRICT选项删除视图V_CustOrdDetails,观察现象,并解释原因。利用CASCADE选项删除视图V_CustOrdDetails,观察现象,并检查V_CustAvgOrder是否存在?解释原因?CREATE VIEW V_CustOrdDetails(CUSTKEY,NAME,QUANTITY,TOTALPRICE)ASSELECT C.CUSTKEY,C.NAME,L.QUANTITY,O.TOTALPRICEFROM CUSTOMER C,ORDERS O,LINEITEM LWHERE C.CUSTKEY=O.CUSTKEY AND O.ORDERKEY=L.ORDERKEY利用RESTRICT删除视图时显示出错,因为在V_CustOrdDetails的基础上建立了V_CustAvgOrder。使用CASCADE删除显示V_CustOrdDetails和V_CustAvgOrder不存在4.2 掌握视图更新和WITH CHECK OPTION的高级使用方法(4) 创建一个行列子集可更新视图,并利用INSERT、DELETE和UPDATE语句加以验证。创建一个“海大汽配”供应商供应的零件视图V_DLMU_PartSupp2,要求列出供应零件的编号、可用数量和供应价格等信息。然后通过该视图分别增加、删除和修改一条“海大汽配”零件供应记录,验证该视图是否是可更新的?CREATE VIEW V_DLMU_PartSupp2(PARTKEY,AVAILQTY,SUPPLYCOST)ASSELECT PARTKEY,AVAILQTY,SUPPLYCOSTFROM PARTSUPPWHERE SUPPKEY IN(SELECT SUPPKEYFROM SUPPLIER SWHERE S.NAME='海事大学')UPDATE V_DLMU_PartSupp2SET SUPPLYCOST=2WHERE PARTKEY=1DELETE FROM V_DLMU_PartSupp2WHERE PARTKEY=1插入受限,无法更新INSERT INTO V_DLMU_PartSupp2VALUES(4,23434,3)(5) 创建视图(WITH CHECK OPTION),并利用INSERT、DELETE和UPDATE语句加以验证。利用WITH CHECK OPTION 选项,创建一个“海大汽配”供应商供应的零件视图V_DLMU_PartSupp3,要求列出供应零件的编号、可用数量和供应价格等信息。然后通过该视图分别增加、删除和修改一条“海大汽配”零件供应记录,验证WITH CHECK OPTION是否起作用?并比较第(4)题与本题结果有何异同?CREATE VIEW V_DLMU_PartSupp3(PARTKEY,AVAILQTY,SUPPLYCOST)ASSELECT PARTKEY,AVAILQTY,SUPPLYCOSTFROM PARTSUPPWHERE SUPPKEY IN(SELECT SUPPKEYFROM SUPPLIER SWHERE S.NAME='海事大学')WITH CHECK OPTIONUPDATE V_DLMU_PartSupp3 SET SUPPLYCOST=2WHERE PARTKEY=2 DELETE FROM V_DLMU_PartSupp2WHERE PARTKEY=1删除修改正常插入受限制无法完成(5)的结果与(4)相同,两个表都伴随着基本表的更新(6) 创建一个不可能更新的视图,并利用更新语句验证该视图不可更新。第(1)题中创建的视图是可更新的吗?第(2)创建的视图是可更新的吗?分别通过SQL更新语句加以验证,并说明原因。CREATE VIEW V_CustOrdDetails2(CUSTKEY,NAME,AVGQUAN,AVGTOTAL)ASSELECT C.CUSTKEY,C.NAME,AVG(L.QUANTITY),AVG(O.TOTALPRICE)FROM CUSTOMER C,ORDERS O,LINEITEM LWHERE C.CUSTKEY=O.CUSTKEY AND O.ORDERKEY=L.ORDERKEYGROUP BY C.custkey,C.NAME视图V_CustOrdDetails2不可更新第(1)题的表可以更新。(1)更新的同时PART表也同步更新可进行更新操作。因为其为行列子视图可以更新。INSERT INTO V_DLMU_PARTSUPP1(PARTKEY)VALUES (10)对于(2)题,因为使用了聚集函数,不能转化为对基本表的更新5 总结与体会5.1 实验中出现的问题及其解决方案因为时间太长视图很多重要的操作已经遗忘了,造成了实验进度缓慢。复习了ppt之后重温了学过的知识点。5.2 总结视图是SQL.server重要的元素,可以使表的操作变简便,提高查询效率。其中视图定义比较简单与定义表相同,但视图的是基于表建立的,这一点一定要清楚。注意CREATE和SELECT之间有一个AS。相对应UPDATE表名加SET,WHERE。只有没有用聚集函数和GROUP BY函数的视图才可以更新。WITH CHECK POINT语句会使SQL.server保持更新。5.3 体会这次实验难度没有上次大,用了比上次少点时间把实验完成了。但是实验中还是出现了很多问题。比如很多基本问题没有搞清楚,盲目打代码。这次实验又一次告诉我做实验要提前复习。-第 页-

    注意事项

    本文(数据库实验5(7页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开