版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章视图6.4视图的应用6.3视图的管理视图介绍6.2创建视图CONTENTS目录
6.16.1视图介绍6.1视图介绍视图是关系数据库中提供给用户以多种角度观察数据库中数据的重要机制视图的定义包含一系列带有名称的列和数据行,但不存储任何物理数据数据库中只存放视图的定义,数据来自于定义视图查询所引用的基本表可以基于一个或多个基本表创建视图,也可以基于其他视图来创建视图视图的优点1.简化用户操作使用户将注意力集中在所关心的数据上,简化数据操作2.保障数据安全用户只能查询和修改他们所能见到的数据可限制用户对基表的行子集、列子集或多表连接数据的访问3.保持数据逻辑上的独立性视图的优点(续)逻辑独立性:数据库重构时(如增加新关系或增加新字段),应用程序不会受影响视图作为应用程序和数据表之间的中介,可使应用程序和数据表相互独立对视图的操作与对表的操作一样,可以进行查询、修改和删除,修改视图中的数据时,相应基础表的数据也会发生变化6.2创建视图CREATEVIEW语法CREATE[ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}]VIEW视图名[(属性清单)]ASSELECT语句[WITH[CASCADED|LOCAL]CHECKOPTION];ALGORITHM:UNDEFINED(自动选择)/MERGE(合并视图与语句)/TEMPTABLE(结果存入临时表)CREATEVIEW语法(续)WITHCHECKOPTION:更新视图时保证在视图权限范围之内CASCADED(默认):更新视图时满足所有相关视图和表的条件LOCAL:更新视图时满足该视图本身定义的条件即可例6-1创建score_view视图在教学管理数据库中创建score_view视图,选择学生表和成绩表中的数据显示学生选修课程的成绩情况:CREATEVIEWscore_viewASSELECTstudent.id,,student_course.course_id,student_course.markFROMstudentINNERJOINstudent_courseONstudent.id=student_course.student_id;查询视图数据执行SQL语句查询视图数据:SELECT*FROMscore_view;视图建立后,可以像查询普通表一样查询视图视图数据实际来自基础表,视图本身不存储数据6.3视图的管理6.3.1查看视图可以使用SQL语句查看视图,语法格式如下:SHOWCREATEVIEWview_name例6-2查看视图score_view:SHOWCREATEVIEWscore_view执行后显示创建视图的SQL语句可右键选择"OpenvalueinViewer"查看完整内容6.3.2修改视图——CREATEORREPLACEVIEW修改视图是指修改数据库中已存在视图的定义语法格式:CREATEORREPLACE[ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}]VIEW视图[(属性清单)]ASSELECT语句[WITH[CASCADED|LOCAL]CHECKOPTION];6.3.2修改视图——ALTERVIEWALTERVIEW语句改变视图的定义,但不影响所依赖的存储过程或触发器语法格式:ALTERVIEW[ALGORITHM={MERGE|TEMPTABLE|UNDEFINED}]view_name[(column_list)]ASselect_statement[WITH[CASCADED|LOCAL]CHECKOPTION];例6-3修改score_view视图修改score_view视图,显示学生学号、姓名、课程编号、课程名称、学分和成绩:ALTERVIEWscore_viewASSELECTstudent.idstudent_id,student_name,course.idcourse_id,course_name,course.markcourse_mark,student_course.markstudent_markFROMstudentINNERJOINstudent_courseONstudent.id=student_course.student_id
INNERJOINcourseONcourse.id=student_course.course_id;以上SQL修改了视图的列结构,增加了课程名称和学分字段6.3.3删除视图1.使用Workbench删除视图展开数据库视图列表,右键单击对应视图,选择"DropView"菜单2.使用SQL语句删除视图DROPVIEW{view_name}[,…]view_name是要删除的视图名称,可同时删除多个视图例6-4:DROPVIEWscore_view;6.4视图的应用视图应用——检索数据视图建立后,可以用任一种查询方式检索数据,可使用连接、GROUPBY子句、子查询等及其任意组合例6-5查询score_view中'李思思'同学所选课程名称和成绩:SELECTcourse_name,student_markFROMscore_viewWHEREstudent_name='李思思';视图应用——添加数据可以通过视图向基础表插入数据:INSERTINTO视图名VALUES(列值1,列值2,…,列值n)例6-6基于学生表建立视图,利用视图插入数据:CREATEVIEWstudent_viewASSELECTid,name,mark,majorFROMstudent;INSERTINTOstudent_viewVALUES('S0609','何雅静',576,'会计学');通过视图添加数据注意事项(1)插入的列值个数、数据类型应与视图定义保持一致(2)若视图只选择了部分列,基础表其余不允许为空且无默认值的列将导致插入失败(3)使用WITHCHECKOPTION时,插入数据必须符合视图SELECT中设定的条件(4)视图列使用了数学表达式或聚合函数,无法对视图插入数据(5)SELECT语句使用了DISTINCT、UNION、GROUPBY或HAVING,无法插入数据视图应用——修改数据通过视图用UPDATE语句更改基础表的数据:UPDATE视图名SET列1=值1,列2=值2,…WHERE逻辑表达式例6-7利用student_view修改学号S0609同学的入学成绩为589:UPDATEstudent_viewSETmark=589WHEREid='S0609'注意:若视图包含多个基础表,每次更新只能影响一个基本表使用WITHCHECKOPTION,修改后数据必须满足视图定义范围视图应用——删除数据通过视图删除基础表数据行:DELETEFROM视图名WHERE逻辑表达式;例6-8利用student_view删除学号为S0609同学的记录:DELETEFROMstudent_viewWHEREid='S0609'注意(1):视图引用多个表时,无法用DELETE命令删除多个表的数据注意(2):删除条件中指定的列必须是视图定义包含的列使用视图的注意事项(1)只能在当前数据库中创建视图(2)可以基于数据表创建视图,也可以基于其他视图建立视图(3)视图的建立和删除不影响基本表(4)利用视图更新(添加、修改、删除)数据直接影响基本表(5)若视图引用多个表,只有影响其中一个基本表时,才可执行UPDATE、DELETE或INSERT语句更新视图本章小结视图是关系数据库中提供给用户以多种角度观察数据库中数据的重要机制,是数据库三级模式结构中的外模式。数据库中只存放视图的定义,不存储任何实际数据,视图是一个虚拟表。创建视图使用CREATEVIEW语句,可指定ALGORITHM(MERGE/TEMPTABLE/UNDEFINED)和WITHCHECKOPTION参数。修改视图可使用CR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年广西壮族自治区高二上学期开学检测语文试题
- 2025-2026年经济学考研劳动经济学重点习题
- 2025-2026年海洋生态系统保护与可持续发展模拟试题
- 2025-2026年老年照护专业基础知识测试卷
- 2026年护士资格考试护理健康教育专项训练课件
- 第16课《从九一八事变到西安事变》(教学设计)-2026年八年级秋季学期历史统编版
- 投融资岗位招聘题目及答案
- 网络意识形态试题及答案
- 危险品驾驶员安全培训考试试题及答案
- 物联网检测题及答案
- 10kV环网柜(箱)标准化设计方案(2023版)
- GB/T 5312-2025船舶用无缝钢管
- 第9课瓶花雅事第一课时课件-浙人美版初中美术七年级上册
- GB/T 21526-2025结构胶粘剂粘接前金属和塑料表面处理导则
- 不怕冷的企鹅课件
- 公园体育场工程施工组织设计方案
- 《大学》精读(北京师范大学)
- DB32∕ 4066-2021 居住建筑热环境和节能设计标准
- 抗磷脂综合征抗凝护理查房
- T/CC 8-2023盾构机盾尾密封油脂
- 雾化吸入疗法合理用药专家共识(2024版)课件
评论
0/150
提交评论