ImageVerifierCode 换一换
格式:PPT , 页数:27 ,大小:138.50KB ,
资源ID:6972639      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6972639.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第7章 视图.ppt)为本站会员(ysd1539)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

第7章 视图.ppt

1、第七章 视图,王军锋,7.1 视图概述,视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表 视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中 视图的结构和数据是对数据表进行查询的结果。,7.1 视图概述-内容,基本表的行和列的子集 两个或多个基本表的联合 基本表的统计和汇总 另一个视图的子集 视图和基本表的混合,7.1 视图概述-视图优点,隐藏了数据的复杂性 在基本表发生更改或重新组合的情况下,用户仍能通过视图或得一致或非变化的数据。提供了一定的数据独立性,相对应于外模式 控制用户提取数据 不必要的数据或敏感数据可以不出现在视图中 简化数据库用户管理 保护数据库基

2、本表 改进性能,7.1 视图概述-视图分类,标准视图 索引视图:在视图上建立索引 分区视图:服务器间的分区数据视图,7.2 创建视图,使用T-SQL 使用SSMS 使用模板,7.2.1 使用T-SQL语句创建视图,Create view ,nwith Encryptionaswith check optionwith Encryption :对视图文本进行加密 with check option:强制针对视图执行的所有数据修改语句都必须符合查询中设置的条件,例7-1:创建计算机学院的学生视图,Create view V_stu_computerasselect * from 学生表 where

3、 院系名称=计算机学院 创建完视图之后,可以象查找表一样查找视图 Select * from v_stu_computer,例7-2:使用with check option创建视图,Create view v_stu_lang as select 学号,姓名,出生日期,政治面貌,院系名称 from 学生表 where 院系名称 = 外语学院with check optionselect * from v_stu_lang 因为指定了with check option,因此下面语句会提示出错 update v_stu_lang set 院系名称= 测试 where 学号=10019,例7-3:多

4、表视图,Create view v_grade(学生,课程,老师,分数)Asselect b.姓名,c.课程名,d.姓名 as 教师,分数from 成绩表 a join 学生表 b on a.学号=b.学号join 课程表 c on a.课程号=c.课程号join 教师表 d on a.教师编号=d.教师编号 select * from v_grade,例7-4: 基于视图的视图,create view v_grade_computer asselect 学生,课程,老师,分数 from v_grade a join 学生表 b on a.学生=b.姓名 and b.院系名称=计算机学院v_g

5、rade_computer是基于v_grade 和学生表建立视图 select * from v_grade_computer,例7-4:带虚列的视图,create view v_stu(学号,姓名,年龄) asselect 学号,姓名,DATEDIFF(YY,出生日期,GETDATE() from 学生表 Goselect * from v_stu,使用系统存储过程查看视图,sp_help v_grade_computersp_depends v_grade_computersp_helptext v_grade_computer,例7-5: 加密视图,Create view v_stucw

6、ith encryptionasselect 院系名称,count(学号) as 人数 from 学生表 group by 院系名称goselect * from v_stuc 在ssms下查看视图,比较其图标和其他视图的不同,7.2.2 使用SSMS创建视图,对象资源管理器上选择具体数据库下的视图节点,右击,选择“新建视图”,7.2.3 使用模板创建视图,和使用模板创建表类似,7.3 管理视图,修改视图 Alter view,n As从格式上来看,就是把create变成alter了,修改视图,alter view v_stucwith encryptionasselect 出生地,count

7、(学号) as 人数 from 学生表 group by 出生地go,删除视图 Drop view 重命名视图 Sp_rename,7.4 使用视图修改基本表的数据,如果视图是基于几张表创建,那么通过视图修改基本表时,一次只能修改一张表 视图只能修改参与视图定义的表和列 只能是基本列,不能是计算列 通过视图修改的列不能出现在视图定义时的select语句中的group by 和having中,7.4 使用视图修改基本表的数据,成功 update v_grade set 分数=60where 学生=吴永成 and 课程=排球 失败,因为修改涉及到多个表 update v_grade set 分数=

8、60,老师=张晓晨where 学生=吴永成 and 课程=排球,失败,年龄是派生列 update v_stu set 年龄= 27 where 学号=10000失败 update v_stuc set 院系名称=人文学院 where 人数=6,7.5 使用视图解决复杂查询问题,用视图作为中间环节,有时候一条查询语句无法解决问题,可借用视图帮助。 查询每家银行给国营企业贷款占总贷款比例create view v1 asselect bno,SUM(lamount) sum1from legalentityT le join loant l on le.eno=l.enowhere enature

9、 = 国营group by bno gocreate view v2 asselect bno,SUM(lamount) sum2from legalentityT le join loant l on le.eno=l.enogroup by bno goselect v1.bno,CAST(sum1*1.0/sum2 as decimal(3,2) from v1 join v2 on v1.bno=v2.bno,7.5 使用视图解决复杂查询问题,统计每个法人在每家银行的还款比例create view v_interest asselect le.eno,b.bno,repayment=l

10、amount+lamount*case when ename like 工商银行% and (lterm between 1 and 5) then 0.02when ename like 工商银行% and (lterm between 6 and 10) then 0.03when ename like 工商银行% and (lterm 10) then 0.04when ename not like 工商银行% and (lterm between 1 and 5) then 0.03when ename not like 工商银行% and (lterm between 6 and 1

11、0) then 0.04when ename not like 工商银行% and (lterm 10) then 0.05endfrom LegalEntityT le join LoanT L on le.Eno=l.Enojoin BankT b on l.bno=b.bnoselect eno,bno,SUM(repayment) from v_interest group by eno,bno,要求,掌握视图的作用和优点 熟练掌握定义视图的SQL语句 熟练掌握通过视图机制实现复杂的数据操作功能的方法,作业,1. 视图和数据表之间的主要区别是什么? 2使用视图的优点有哪些? 3 如何通过SSMS和Transact-SQL语句对视图进行创建、修改和删除? 4. 使用哪些存储过程可以查看视图的信息?,作业,5.创建一个包含体育学院学生信息的视图 V_体育,然后使用系统存储过程将该视图的名称修改为v_体育学院, 6.在SSMS中,使用鼠标操作和使用SQL语句两种方式实现以下操作:向此视图中插入新数据,修改刚插入的数据,删除插入的数据,查看视图中的数据。 7.使用DROP VIEW命令删除上题中的视图。,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报