版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大连海事大学数据库原理课程实验大纲实验名称:实验五 视图 实验学时: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 OPT
2、ION),并利用 INSERT、DELETE 和 UPDATE 语句加以验 证。(2)创建一个行列子集可更新视图,并利用 INSERT、DELETE和UPDATE语句加以验证。(3)创建一个不可能更新的视图,并利用更新语句验证该视图不可更新。3实验要求(1)深入复习教材第三章 SQL有关视图语句。(2)根据书上的例子,针对TPCH数据库模式设计各种视图语句,每种类型视图语句至少要设计一个,描述清楚视图要求,运行你所设计的视图语句,并截图相应的实验结果,每幅截图并 要有较为详细的描述。也可以按照附1所列示例做实验。实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。思考题:Kin
3、 gbaseES把视图的定义存储在那个系统表中?如何查看某个视图的定义?4实验步骤4.1掌握SQL视图语句的基本使用方法(1)创建视图(省略视图列名)。创建一个“海大汽配”供应商供应的零件视图V_DLMU_PartSupp1,要求列出供应零件的编号、零件名称、可用数量、零售价格、供应价格和备注等信息。CREATE VIEWV_DLMU_PartSupp1 (PARTKEY ,NAME ,AVAILQTY ,RETAILPRICE ,SUPPLYCOST COMMENT )ASSELECT P.PARTKEY ,P.NAME ,PS.AVAILQTY ,P.RETAILPRICE ,PS.SUP
4、PLYCOST ,P.COMMENTFROM PART P,PARTSUPP PSWHERE P.PARTKEY = PS.PARTKEY AND PS.SUPPKEY IN(SELECT SUPPKEYFROM SUPPLIER SWHERE SNAME =海事大学)1PARTKEYNAMEAVAILQTY12312RETAIL? RICE11SUPPLYCOST1COMMENTNULLllZZZj22534534223NULL337&45.54NULL(2) 创建视图(不能省略列名的情况)创建一个视图V_CustAvgOrder,按顾客统计平均每个订单的购买金额和零件种类数量,要求输出顾客
5、编号,姓名,平均购买金额和平均购买零件种类数量。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 ,(这里容易岀错,结果必须在GROUP中岀现)使用 GROUP BY子句后,SELE
6、CT子句的目标列表达式列表中只能岀现分组属性和集函数cusimNAMEAVGPRICEM 讯 UAND_強三3COO15002奎四30002331333333Sa3史密斯ma3000A迪伦WOO30006卡塞尔300030007雷锂looa2000NULLNLILNULLAter删除视图(RESTRICT / CASCADE )。创建顾客订购零件明细视图V_CustOrdDetails,要求列出顾客编号、姓名、购买零件数、金额;然后在该视图的基础上,实现(2)中的视图V_CustAvgOrder ;然后删除利用 RESTRICT选项删除视图 V_CustOrdDetails,观察现象,并解释原
7、因。利用CASCADE选项删除视图 V_CustOrdDetails,观察现象,并检查 V_CustAvgOrder是否存 在?解释原因?CREATE VIEW V_CustOrdDetails (CUSTKEY ,NAME QUANTITY ,TOTALPRICE )ASSELECT C.CUSTKEY ,C.NAME 丄.QUANTITY ,O.TOTALPRICEFROM CUSTOMER CQRDERS O,LINEITEM LWHERE C.CUSTKEY =O.CUSTKEY AND O.ORDERKEY =L.ORDERKEYMAMEQciAtnrnTOT ALPRICED张三2
8、00030C02李四30003000X张三100030004200030C02李四2M030C06500030002李四2M030C03史密斯3000300斗迪伦他Q30007雷谨200030C0*NHLULLAtiiAW利用RESTRICT删除视图时显示出错,因为在V_CustOrdDetails的基础上建立了 V_CustAvgOrder。使用 CASCADE 删除显示 V_CustOrdDetails 和 V_CustAvgOrder 不存在PAFLTKEVAVAILQTYSUPPLVCOST卜El12312225345343.3325544I drop view _匸ListOrdDe
9、rails* SELECT *L FROM 7 CatAvgCrder的消息消息20S级别16J状态!,过程V CusEJLvOrder,第记行 对象名无如消息4413; 别1, M =行由于鄒定:错误,无法使用视團或函数,好36曲亠八4.2掌握视图更新和 WITH CHECK OPTION 的高级使用方法创建一个行列子集可更新视图,并利用 INSERT、DELETE和UPDATE语句加以验证。创建一个“海大汽配”供应商供应的零件视图V_DLMU_PartSupp2,要求列出供应零件的编号、可用数量和供应价格等信息。然后通过该视图分别增加、删除和修改一条“海大汽配”零件供应记录,验证该视图是否
10、是 可更新的?CREATE VIEW V_DLMU_PartSupp2 (PARTKEY ,AVAILQTY ,SUPPLYCOST) ASSELECT PARTKEY ,AVAILQTY ,SUPPLYCOSTFROM PARTSUPPWHERE SUPPKEY IN(SELECT SUPPKEYFROM SUPPLIER SWHERE SNAME -海事大学)PARTKEVAVWLQT7suWLveesrr卜1U3121253453433325544AWNUUUPDATE V_DLMU_PartSupp2SET SUPPLYCOST =2WHERE PARTKEY = 1DELETEFRO
11、M V_DLMU_PartSupp2WHERE PARTKEY = 1PARTKEYAVAILC7Ysupplycoct号534534332554斗*NULL/NULLNULL插入受限,无法更新INSERT INTO V_DLMU_PartSupp2VALUES (4,23434,3)(5)仓U建视图(WITH CHECK OPTION ),并禾U用 INSERT、DELETE 禾口 UPDATE 语句加以验 证。利用WITH CHECK OPTION 选项,创建一个“海大汽配”供应商供应的零件视图 V_DLMU_PartSupp3,要求列出供应零件的编号、可用数量和供应价格等信息。然后通过该
12、视图分别增加、删除和修改一条“海大汽配”零件供应记录,验证WITH CHECK OPTION 是否起作用?并比较第(4)题与本题结果有何异同?PAFITKEYAVAILQTY5UPPLYCQ5T6冠幻2534543325已斗灌NULLALEENUllCREATE VIEW V_DLMU_PartSupp3 (PARTKEY ,AVAILQTY ,SUPPLYCOST) ASSELECT PARTKEY ,AVAILQTY ,SUPPLYCOSTFROM PARTSUPPWHERE SUPPKEY IN(SELECT SUPPKEYFROM SUPPLIER SWHERE SNAME =海事大学
13、)WITH CHECK OPTIONPARTKEYAVAILQTYSUPPLVCOSTUPDATE V_DLMU_PartSupp3kD召站斗?ASET SUPPLYCOST =225345342WHERE PARTKEY =23325544*NJ.1DELETEFROM V_DLMU_PartSupp2WHERE PARTKEY = 1删除修改正常插入受限制无法完成(5)的结果与(4)相同,两个表都伴随着基本表的更新(6)创建一个不可能更新的视图,并利用更新语句验证该视图不可更新。SQL第(1)题中创建的视图是可更新的吗?第(2)创建的视图是可更新的吗?分别通过更新语句加以验证,并说明原因。
14、CREATE VIEW V_CustOrdDetails2 (CUSTKEY ,NAME ,AVGQUAN ,AVGTOTAL )ASSELECT C.CUSTKEY ,C.NAME ,AVG (L.QUANTITY ),AVG (O.TOTALPRICE ) FROM CUSTOMER CQRDERS O,LINEITEM LWHERE C.CUSTKEY =O.CUSTKEY AND O.ORDERKEY =L.ORDERKEYCUSTKEYNAMEAVGQUANAVtjTOTAJ.a张三155030002李四2333.33333333.3M03史巒斯30003tM04迪伦30003000
15、6卡塞尔30003000720003000AUJAUi白 nrSEIlT I WTO V CusvOrdLetaxlsS% SS噩蟲诸鹉益遵養;亶;爲更新或插入失败因其包含派生域或常量如t UPDATE V 匚lit 匸OrdD色匸SET AVGOJA2J=AVGQUAH* 1WHERE E5TKEY=1廿哨息消息06f级别血伏态一第丄行对视图咸函数的更新或插入失败因其包含派主域或常量域。 delete 视图V_CustOrdDetails2不可更新fram V CustOrdDtetai1s2wTiere霜更新,因为修改会影响多个基怎第(1)题的表可以更新。(1)更新的同时PART表也同步更
16、新可进行更新操作。因为其为行列子视 图可以更新。 UPDATE T DLEU FART5UPE1-SET 5UPFLYC0ST=SUPPLYC0ST*l. 1 SELECT * 1二结果由消患PAFTTKET NAM EWAILQTYRETAILOR IG ESUPPLYCQ5TCOI4M ENT1 Dj雌534&y222.20MULL23蛭丝7325&45.54.40NULLINSERT INTO V_DLMU_PARTSUPP1 (PARTKEY )VALUES (10)AttiAUJ10fJLtifinAUXMILfAAltHJLL对于(2)题,因为使用了聚集函数,不能转化为对基本表的更新I1 3FDATZ T :?3TAVZC TiCLRSET NiE-TS-3VKERE CU5TKE Y-L曲禺H03t堰剔吗狀歪1,窮“亍囚”对视国取魏I -_: VSTBVWR3Efl 1包含聚合、DISriBCI或GROUP BT亍迁或若F:VQT琐tfflFIET5 总结与体会实验中出现的问题及其解决方案因为时间太长视图很多重要的操作已经遗忘了,造成了实验进度缓慢。复习了 ppt 之后重温了学过 的知识点。总结视图是SQLServe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年演出合同的演出内容及演出报酬
- 跨学科知识联合的策略及实施路径
- 商丘学院《中国传统蒙养教育》2023-2024学年第一学期期末试卷
- 商丘学院《生物医学建模与仿真》2023-2024学年第一学期期末试卷
- 2024年特色餐厅联营协议
- 景观设计意向合同范例
- 后浇带的的施工方案
- 商洛职业技术学院《公共室内空间设计》2023-2024学年第一学期期末试卷
- 汕头大学《汽车轻量化技术》2023-2024学年第一学期期末试卷
- 2024至2030年蛋白石项链项目投资价值分析报告
- 《社会调查研究与方法》形成性考核册及参考答案
- 建筑制图基础-国家开放大学电大机考网考题目答案
- 2023-2024学年高一上学期期末真题综合测试辽宁卷A地理试题(解析版)
- 《Java程序设计基础与应用》全套教学课件
- 2024年山东省济南市地理高一上学期试卷及解答
- 广东省深圳市2024年九年级中考提分训练《六选五》专题练习
- 绵阳卫生系统考试真题
- 注射相关感染预防与控制(全文)
- 升压站土建施工合同2024年
- DB5334-T 12.1-2024 地理标志证明商标 香格里拉藏香猪 第1部分:品种要求
- NB-T31030-2012陆地和海上风电场工程地质勘察规范
评论
0/150
提交评论