数据库实验报告视图

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大连海事大学

数据库原理课程实验大纲

实验名称:实验五视图实验学时: 2

适用专业:智能科学与技术

实验环境: Microsoft SQL server 2014

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)创建视图(省略视图列名)。

(2)创建视图(不能省略列名的情况)。

(3)删除视图(RESTRICT / CASCADE)。

4.2 掌握视图更新和WITH CHECK OPTION的高级使用方法

(4)创建一个行列子集可更新视图,并利用INSERT、DELETE和UPDATE语句加以验证。(5)创建视图(WITH CHECK OPTION),并利用INSERT、DELETE和UPDATE语句加以验证。(6)创建一个不可能更新的视图,并利用更新语句验证该视图不可更新。

5总结与体会

5.1 实验中出现的问题及其解决方案

由于多次对视图进行不同的操作,有时需要删除视图重新建立,所以实验中出现了多次忘记删除视图的情况。建立数据表格时,主键外键的设置不合理,导致了实验无法顺利进行,后上网查询,并仔细设置,解决问题

5.2 总结

实验前,数据库的建立也是很重要的,数据不能只为应付实验而建立,要在脑海中有一个大体的,切合实际的规划,这样才能充分了解发挥课堂上学到的知识。

5.3 体会

实验中不能粗心大意,对于数据的整体规划要有一个清晰的认识,特别是表与表之间的相互关联,主外键的作用就显得尤为重要。本次实验让我不仅复习巩固了视图章节的内容,更让我认识到了知识全面性的重要。

附1:SQL视图语句

(1)创建视图(省略视图列名)。

创建一个“海大汽配”供应商供应的零件视图V_DLMU_PartSupp1,要求列出供应零件的编号、零件名称、可用数量、零售价格、供应价格和备注等信息。

CREATE VIEW V_DLMU_PartSupp1

AS

SELECT *

FROM PART

WHERE P_BRAND='海大汽配';

(2)创建视图(不能省略列名的情况)。

创建一个视图V_CustAvgOrder,按顾客统计平均每个订单的购买金额和零件种类数量,要求输出顾客编号,姓名,平均购买金额和平均购买零件种类数量。

CREATE VIEW V_CustAvgOrder

AS

SELECT CUSTKEY,C_NAME,A VG(O_TOTALPRICE) S,COUNT(L_QUANTITY)

FROM CUSTOMER,ORDERS,LINEITEM

WHERE CUSTOMER.CUSTKEY=ORDERS.CUSTKEY

AND ORDERS.ORDERKEY=LINETEM.ORDERKEY ;

(3)删除视图(RESTRICT / CASCADE)。

创建顾客订购零件明细视图V_CustOrdDetails,要求列出顾客编号、姓名、购买零件数、金额;然后在该视图的基础上,实现(2)中的视图V_CustAvgOrder;

然后删除利用RESTRICT选项删除视图V_CustOrdDetails,观察现象,并解释原因。

利用CASCADE选项删除视图V_CustOrdDetails,观察现象,并检查V_CustAvgOrder是否存在?解释原因?

CREATE VIEW V_CustOrdDetails

AS

SELECT CUSTOMER.CUSTKEY, C_NAME, O_TOTSLPRICE, L_QUANTITY

FROM CUSTOMER,ORDERS,LINEITEM

DROP VIEW V_CustOrdDetails RESTRICT

DROP VIEW V_CustOrdDetails CASCADE

(4)创建一个行列子集可更新视图,并利用INSERT、DELETE和UPDATE语句加以验证。

创建一个“海大汽配”供应商供应的零件视图V_DLMU_PartSupp2,要求列出供应零件的编号、可用数量和供应价格等信息。

然后通过该视图分别增加、删除和修改一条“海大汽配”零件供应记录,验证该视图是否是可更新的?

CREATE VIEW V_DLMU_PartSupp2

AS

SELECT *

FROM PART

WHERE P_BRAND='海大汽配';

INSERT

相关文档
最新文档