数据库技术与应用(达梦)课件 任务4.2 使用视图查询各地区各街道每日总用电量和供电量_第1页
数据库技术与应用(达梦)课件 任务4.2 使用视图查询各地区各街道每日总用电量和供电量_第2页
数据库技术与应用(达梦)课件 任务4.2 使用视图查询各地区各街道每日总用电量和供电量_第3页
数据库技术与应用(达梦)课件 任务4.2 使用视图查询各地区各街道每日总用电量和供电量_第4页
数据库技术与应用(达梦)课件 任务4.2 使用视图查询各地区各街道每日总用电量和供电量_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《数据库原理与应用》任务4.2使用视图查询各地区各街道每日总用电量和供电量项目4:数据库编程主讲人:汪菊琴第13讲一张虚拟的表—视图本任务使用视图创建获取各地区各街道每日总用电量和供电量的视图,方便每次查询。通过视图,查询显示用电日期、区域名称、街道名称、街道总用户数、总用电量和总供电量。素质目标能力目标知识目标1)理解视图的概念和作用。2)掌握视图的创建、使用和删除。1)能够使用视图简化数据查询操作。1)培养化繁为简、模块化设计的系统思维。2)培养节约用电的意识。4.2.1视图概述视图是从数据库中一个或多个表(或视图)中导出来的表,其关联的数据由SQL语句定义。它是一个虚表。视图与表一样由行和列组成,但它不存储实际的数据内容,当使用视图查询数据时,数据库系统会从视图引用的表中提取相应的数据。4.2.1视图概述视图虽然简单,但却是一个十分有用的工具,在实际开发中得到广泛的应用定制数据可针对不同的需要,建立相应的视图。能够实现让不同的用户以不同的方式看到不同或相同的数据。安全性屏蔽某些数据,只赋予特定的用户查看特定数据的权限限制对其他数据的访问和修改,从而保障数据的安全简单性视图可以简化对数据的理解,也可以简化对数据的操作。将经常使用的查询定义为视图,简化查询语句的编写。4.2.2创建视图说明:模式名指明被创建的视图属于哪个模式,默认为当前模式。视图名指明被创建的视图的名称。列名指明被创建的视图中列的名称。列名不得同名,且个数必须与查询说明中SELECT后列的个数相等。若使用与基表或视图中相同的列名,则可以省略列名列表。当视图名已存在时,若指定ORREPLACE,则使用新视图替换原同名视图;若指定IFNOTEXISTS,则忽略本次视图创建操作;若同时指定ORREPLACE和IFNOTEXISTS,则按照ORREPLACE的策略执行;若均不指定,则报错。CREATE[ORREPLACE][FORCE]VIEW[IFNOTEXISTS][<模式名>.]<视图名>[(<列名>{,<列名>})]AS<查询说明>[WITH[LOCAL|CASCADED]CHECKOPTION]|[WITHREADONLY];4.2.2创建视图说明:FORCE选项用于强制创建视图。指定FORCE时,基表可以不存在,此时创建视图不报错,但是会报警告,并且创建的视图处于无效状态。WITHCHECKOPTION选项用于可更新视图中,指明往该视图中插入或更新数据时,插入行或更新行的数据必须满足视图定义中查询说明所指定的条件。如果没有该选项,可不必慢满足。LOCAL|CASCADED选项是基于当前视图是根据另一个视图定义的情况。当通过视图向基表中插入或更新数据时,指定LOCAL,要求数据必须满足当前视图定义中查询说明所指定的条件;指定CASCADED,数据必须满足当前视图以及所有相关视图定义中查询说明所指定的条件。WITHREADONLY选项指明该视图是只读视图,只可以查询,但不可以做其他DML操作;如果不带该选项,则根据DM自身判断视图是否可更新的规则进行判断是否只读。CREATE[ORREPLACE][FORCE]VIEW[IFNOTEXISTS][<模式名>.]<视图名>[(<列名>{,<列名>})]AS<查询说明>[WITH[LOCAL|CASCADED]CHECKOPTION]|[WITHREADONLY];4.2.2创建视图【例4-15】创建视图V_USER_INFO,通过该视图能显示用户编码、用户姓名、所属街道名、所属区域名。CREATEVIEWV_USER_INFOAS SELECTUSER_I,USER_NAME,COMMUNITY_NAME,AREA_NAME FROMEPDMS.T_USERINFOT1 INNERJOINEPDMS.T_COMMUNITYT2ONT1.COMMUNITY_ID=T2.COMMUNITY_ID INNERJOINEPDMS.T_AREAT3ONT2.AREA_ID=T3.AREA_ID;4.2.3使用视图与表基本相同:通常可以用在Select语句中使用表的任何地方。注意:使用视图查询数据时,用到的字段名是在定义视图时指定的字段名,而不是基表中的字段名。4.2.3使用视图【例4-16】用例4-15中创建的视图V_USER_INFO查询所属街道名为“清名桥街道”的用户信息。SELECT*FROMEPDMS.V_USER_INFO4.2.3使用视图【例4-17】创建视图V_USER_CONSUME,该视图使用例1中创建的视图V_USER_INFO和用户用电表T_CONSUME查询每个用户的每天的用电量,包括用户编码、用户姓名、所属街道名、所属区域名、用电日期和用电量。CREATEVIEWV_USER_CONSUMEAS SELECTT1.USER_ID,USER_NAME,COMMUNITY_NAME,AREA_NAME,T2.CONSUME_DATE,T2.CONSUME_NUM FROMEPDMS.V_USER_INFOT1 INNERJOINEPDMS.T_CONSUMET2ONT1.USER_ID=T2.USER_ID;4.2.4管理视图达梦数据库没有提供专门修改普通视图的语句,如需修改视图,可通过图形化界面的方式修改。视图可以重新编译或者删除。1.编译视图重新编译视图的语法格式如下:该语句只是对视图的定义重新进行分析和编译,如果编译出错,可判断视图依赖的基表是否已被删除或修改了表定义。【例4-18】重新编译视图V_USER_CONSUME。ALTERVIEW[<模式名>.]<视图名>COMPILE;ALTERVIEWEPDMS.V_USER_CONSUMECOMPILE;4.2.4管理视图2.删除视图视图被创建后将永久存在,除非将其删除。删除视图语句语法格式如下:说明:若指定IFEXISTS关键字,则删除不存在的视图也不会报错。RESTRICT|CASCADE选项,RESTRICT为默认选项。若配置文件DM.INI中DROP_CASCADE_VIEW=1,则删除有依赖视图的对象时必须使用CASCADE才能连带删除全部依赖视图,否则操作失败;若该参数为0,则RESTRICT和CASCADE效果相同,均仅删除当前视图,不删除其依赖视图。【例4-19】删除视图V_USER_CONSUME。DROPVIEW[IFEXISTS][<模式名>.]<视图名>[RESTRICT|CASCADE];DROPVIEWEPDMS.V_USER_CONSUME;[任务实施]本任务使用视图创建获取各地区各街道每日总用电量和供电量的视图,方便每次查询。1.技术分析(1) 用户每日用电量数据存储在T_CONSUME表中,街道每日供电量存储在T_SUPPLY表中,两张表没有主外键关联,无法直接连接查询,需要先连接其他表查询后,再进行连接查询。为使实现过程更清晰,本任务可先创建用电量视图和供电量视图,最后在两者基础上再创建总的视图。(2) 创建用电量视图,查询每日各地区各街道的用户数和总用电量。(3) 创建供电量视图,查询每日各地区各街道的供电量。(4) 基于用电量视图和供电量视图,创建总视图,查询每日各地区各街道的总用电量和供电量。(5) 使用总视图,查询指定日期各地区各街道的数据。[任务实施]本任务使用视图创建获取各地区各街道每日总用电量和供电量的视图,方便每次查询。2.实现步骤(1) 创建用电量视图V_COMMUNITY_CONSUME,查询每日各地区各街道的用户数和总用电量。(2) 创建供电量视图V_COMMUNITY_SUPPLY,查询每日各地区各街道的供电量。(3) 使用(1)、(2)步中的视图作为基表,创建总视图V_CONSUME_SUPPLY,查询每日各地区各街道的总用电量和供电量。(4) 使用总视图V_CONSUME_SUPPLY,查询日期为“2024-06-26”的各地区各街道的总用电量和总供电量。创建获取各地区各街道每日总用电量和供电量的视图[任务测试]

使用总视图V_CONSUME_SUPPLY,查询日期为“2024-06-26”的各地区各街道的总用电量和总供电量,包括日期、地区名称、街道名称、街道总用户数、总用电量和总供电量。

测试代码如下。SELECTELECTRICITY_DATE,AREA_NAME,COMMUNITY_NAME,USER_NUM,CONSUME_NUM,SUPPLY_NUMFROMEPDMS.V_CONSUME_SUPPLYWHEREELECTRICITY_DATE='2024-06-26';[任务测试]

运行结果可显示“2024-06-26”的各地区各街道的总用电量和总供电量。评价指标评价标准分值得分创建用电量视图正确创建视图,查询所需用电量数据20创建供电量视图正确创建视图,查询所需供电量数据20创建总视图理解连接条件的含义,正确创

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论