版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆航天职业技术学院/detail/235897295数据库应用(SQLServer)第7章视图的创建与管理理解视图在数据库三级模式结构中所处的地位。能根据项目功能需求为应用程序创建视图。能使用SSMS和T-SQL完成对视图的创建与管理。第7章视图的创建与管理
任务设计:7.1任务1:认识视图7.2任务2:使用SSMS创建、修改、删除和检索视图7.3任务3:使用T-SQL创建、修改和删除视图7.4任务训练第7章视图的创建与管理7.1任务1:认识视图理解视图的概念1理解视图的作用2任务目标:7.1任务1:认识视图SQLServer2019数据库的三级结构数据库(DATABASE),基本表(TABALE)和视图(VIEW)分别对应了数据库的三级模式结构内模式(物理结构)、模式(整体逻辑结构)和外模式(局部逻辑结构)。
7.1.1视图的基本概念视图(VIEW)由一个或多个数据表或视图导出的虚表或查询表,其内容由SELECT查询语句指定,与真实的表相似,包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在,其数据的物理存放位置仍然在数据库的表中,是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。对所引用的基本表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个基本表,也可以来自其它视图。视图的特点如下:视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的新关系。视图是由基本表(实表)产生的表(虚表)。视图的建立和删除不影响基本表。对视图内容的更新(添加、删除和修改)直接影响基本表。当视图来自多个基本表时,不允许添加和删除数据。7.1.2视图的作用(1)简化用户的操作。经常使用的查询可以定义为视图,从而使得用户不必为以后的操作每次都制定全部的条件。(2)提高安全性。通过视图,可通过制定限制条件和指定列限制用户对基本表的访问,用户只能查询和修改他们所能见到的数据,数据库中的其它数据既看不见也取不到,达到数据安全保护的目的。(3)提高逻辑数据独立性。视图可以使应用程序和数据库表在一定程度上独立。有了视图,程序可以建立在视图之上,从而使应用程序与数据库表被视图分隔开。7.2任务2:使用SSMS创建、修改、删除和检索视图SSMS提供的【视图设计器】可以用来创建视图。下面举例说明创建视图的方法。【例7-1】在教学管理数据库“EDUC”中,由学生表创建出计算机网络技术专业的学生视图“View_zy”。7.2任务2:使用SSMS创建、修改、删除和检索视图【例7-2】在教学管理数据库“EDUC”中,创建学生选课信息表“Student”、课程表“Course”和选课表“SC”的学生成绩有关信息。7.2任务2:使用SSMS创建、修改、删除和检索视图
2.修改视图使用SSMS修改视图的方法与创建视图的方法基本相同,下面举例说明具体操作步骤。【例7-3】在教学管理数据库“EDUC”中,修改视图“View_cj”,按成绩由高到低排序。7.2任务2:使用SSMS创建、修改、删除和检索视图3.删除视图在【对象资源管理器】窗口中,展开“数据库”—具体数据库—“视图”节点,用右键单击要删除的视图节点,从弹出的菜单中选择“删除”命令,如图7-14所示。也可以按Delete键或选择菜单“编辑”—“删除”命令。在弹出的【删除对象】窗口中,确认要删除的视图,如图所示,单击“确定”按钮即可删除此视图。7.2任务2:使用SSMS创建、修改、删除和检索视图4.检索视图对视图的检索和对表的查询完全相同,可以直接打开视图,如图7-21所示。所查看的视图结果如图7-22所示。7.3任务3:使用T-SQL语句创建、修改和删除视图7.3.1创建视图使用CREATEVIEW命令创建视图,其语法格式如下:CREATEVIEW<视图名>[(列名列表)]--视图名[WITHENCRYPTION]AS<子查询>--搜索语句[WITHCHECKOPTION]—强制修改语句必须符合子查询中设置的条件说明:视图名称必须遵循标识符的规则,且对每个架构都必须唯一。该名称不能与该架构包含的任何表的名称相同。可以在其它视图的基础上创建视图。不能为视图定义全文索引。不能创建临时视图,也不能对临时表创建视图。7.3使用T-SQL语句创建、修改和删除视图【例7-4】定义视图“SReturnDate”,得到读者借书应还日期信息。在【查询编辑器】中输入如下代码,其它操作同例7-3。uselibrarygocreateviewSReturndate(读者编号,姓名,图书编号,图书名,应还日期)asselectreader.rid,reader.rname,book.bid,book.bname,borrow.lenddate+readertype.limitdaysfromReaderinnerjoinBorrowonreader.rid=borrow.ridinnerjoinReadertypeonreader.typeid=ReaderType.typeidinnerjoinbookonborrow.bid=book.bidwhere(borrow.returndateisNULL)7.3使用T-SQL语句创建、修改和删除视图【例7-5】创建视图“overdue”,从视图“SReturnDate”中查询借阅超期的读者新消息。在【查询编辑器】中输入如下代码,其它操作同例7-3。uselibrarygocreateviewoverdueasselect*fromSReturndatewhere(应还日期<getdate())7.3使用T-SQL语句创建、修改和删除视图7.3.2修改视图使用ALTERVIEW命令修改视图,其语法格式如下:ALTERVIEW视图名ASSELECT查询子句【例7-6】修改视图“V1_Reader”,把从表“Reader”中查询出的列“RID”和“Rname”改为“读者编号”和“读者姓名”。uselibrarygoalterviewv1_Reader(读者编号,读者姓名)asselectdistinctRID,RnamefromReadergo7.3使用T-SQL语句创建、修改和删除视图7.3.3删除视图使用DROPVIEW命令可以删除视图,其语法格式如下:DROPWIEW视图名【例7-7】删除V1_Reader。DROPWIEWV1_Reader7.3使用T-SQL语句创建、修改和删除视图7.3.4利用视图操作表
可以通过视图对基本表进行添加、修改和删除行的操作,但是有一定的限制条件,需要注意以下两点。对视图进行添加、删除和修改操作直接影响基本表。视图来自多个基本表时,不允许添加、删除和修改数据。7.3.2利用视图操作表
1.添加数据行【例7-8】通过视图“View_zy”添加一条新的数据行。useeducgoinsertintoView_zy(sid,sname,sex,birthday,specialty)values('2005216322','李晓燕','女','1986-9-6','计算机网络技术')7.3.2利用视图操作表
2.修改数据行【例7-9】将视图“View_zy”中姓名为侯爽的学生的出生日期改为“1991-05-30”。useeducgoupdateview_zysetbirthday='1991-05-30'wheresname='侯爽'go7.3.2利用视图操作表
3.删除数据行【例7-10】在视图“View_zy”中删除姓名为“李晓燕”的学生数据行。useeducgodeletefromview_zywheresname='李晓燕'go提示:视图一经定义,便存储在数据库中。对视图的操作与对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通信电力杆施工方案(3篇)
- 钢板桩拆除施工方案(3篇)
- 鲸鱼健康活动方案策划(3篇)
- 胃炎护理中的环境适应性
- 个人职业规划填写指南
- 法制安全管理培训心得
- 师范生职业规划短文
- 铝电解操作工安全生产知识强化考核试卷含答案
- 真空电子器件化学零件制造工安全理论竞赛考核试卷含答案
- 粮库中控工风险评估模拟考核试卷含答案
- 【2025年】保安员证考试题库及答案
- DB65∕T 4821-2024 规模化奶牛场粪便生产牛床垫料技术规范
- 2025小学英语短文填空专项练习
- 互动影像基础知识培训课件
- 机房工程精保洁施工方案
- 中国邮政2025丽江市秋招个人客户经理岗位高频笔试题库含答案
- 旋转机械振动检测标准全文
- 《电流电压传感器》课件
- 电焊考试绿本题目模拟题及答案
- 《大学生心理健康教育》课件第11章
- 湖南卷2025年高考历史真题含解析
评论
0/150
提交评论