电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

关系数据库与SQL Server 2005 教学课件 ppt 作者 龚小勇 第19讲 视图的使用

27页
  • 卖家[上传人]:E****
  • 文档编号:89503181
  • 上传时间:2019-05-26
  • 文档格式:PPT
  • 文档大小:292KB
  • / 27 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第6章 查询与索引 视图的使用,主讲人:段利文,第19讲,复习:,数据库的基本关系运算 投影(查询指定的列) 连接(查询多个表) 选择(查询符合条件的行) 基本查询 对一张表的查询 对表中的原始数据的查询,分别用什么子句实现?,select 列表名,from 表名 , n ,where 条件,例:select * from xsqk where 出生日期1981-01-01 and 性别=0,复习:,汇总查询 (1) 使用聚合函数:每个聚合函数只返回一个单值。 select avg ( 成绩 ) from xs_kc (2) 分类汇总:每个组返回一条汇总记录。 select 学号, avg (成绩) from xs_kc group by 学号 (3) (分类)明细汇总: select * from xs_kc compute avg (成绩),having avg (成绩) 75,by 学号,order by 学号,复习:,连接查询:同时查询多个表中的信息。 内连接:将多表中满足条件的行连接起来。 select xsqk.学号,姓名,课程号, 成绩 from xsqk, xs_kc

      2、where xsqk.学号 = xs_kc.学号 and 成绩60 外连接:将满足条件的行连接,不匹配的行也保留。 自连接:将同一个表中满足条件的行连接起来。,复习:,子查询:一个select语句(内查询)作为另一条select语句(外查询)的一部分。 相关子查询:内查询的执行依赖外查询。 嵌套子查询:(不依赖),select 学号, 姓名, 联系电话 from xsqk where ( select avg(成绩) from xs_kc where xsqk.学号=xs_kc.学号 ) 60,select 课程名称 , 授课教师 from kc where 课程号 = ANY (select 课程号 from xs_kc where 成绩60),说明:子查询执行后, 若返回1个单值,则可用比较运算符来设置条件: 若返回一个列表值,则可用:(not) in、any、all,引:,请思考:查询结果集能否被用户修改? 在查询窗口得到的结果是不能被修改的。 查询结果集可以用into子句来保存。例: select xsqk.学号, 姓名, 专业名,课程名, 成绩 into cj from xs

      3、qk, xs_kc, kc where xsqk.学号=xs_kc.学号 and xs_kc.课程号=kc.课程号 再思考: cj表中的数据与基表数据是否并存于数据库中? 用户对查询到的信息(cj表)进行修改对基表是否有影响? 如果用户直接对基表进行操作,会有什么后果?,是。但会造成:数据重复存储。,无影响。,后果是:增加了数据的不安全性。,第6章 查询与索引 视图的使用 教学内容,基础知识: 视图概述 创建视图 修改视图 删除视图 使用视图管理数据表中的数据,第6章 查询与索引 视图的使用 学习目标,认知目标: 了解视图的概念、使用的目的和好处 理解视图与基表的关系 能力目标: 掌握创建、修改、删除视图的方法(重点、难点) 掌握查询视图的方法(重点),一、视图概述,视图的含义和作用 是基于某个查询结果的虚表。是用户查看和修改数据表中数据的一种方式。 每个视图都有几个被定义的列和多个数据行。 视图与基表的关系 视图中的数据列和行来源于其所引用的基表。 视图所对应的数据并不实际存储在数据库中,而是仍存储在视图所引用的基表中。 数据库中只存储视图的定义。,一、视图概述,使用视图的目的与好处

      4、 聚焦特定数据:使用户只能看到和操作与他们有关的数据,提高了数据的安全性。 简化数据操作:使用户不必写复杂的查询语句就可对数据进行操作。 定制用户数据:使不同水平的用户能以不同的方式看到不同的数据。 合并分离数据:视图可以从水平和垂直方向上分割数据,但原数据库的结构保持不变。,二、创建视图,最基本的语句格式: create view 视图 (列名表) with encryption as select查询语句 with check option 通过对象资源管理器创建视图,加密视图的定义,使用户只能查看,不能修改。,强制所有通过视图修改的数据满足select语句中指定的条件。,二、创建视图,实例1:创建一个 名为“v1”的视图,用于查询计算机网络专业男生的学号、姓名、出生日期,并将视图的列名分别改为:学生学号、男生姓名、生日。,create view v1 (学生学号,男生姓名, 生日) as select 学号, 姓名, 出生日期 from xsqk where 专业名=计算机网络 and 性别=1 go select * from v1,通过视图查询基表中的数据。,二、创建视图,实

      5、例2:创建一个 名为“v综合信息”的视图,用于查询学生的学号、姓名、专业名、课程名、成绩等信息,create view V综合信息 as select xsqk.学号,姓名,专业名,课程名,成绩 from xsqk , xs_kc , kc where xsqk.学号 = xs_kc.学号 and xs_kc.课程号= kc.课程号 exec sp_helptext v综合信息,with encryption,对视图的定义进行加密,查看视图的定义,二、创建视图,课堂练习1:创建一个名为“V平均成绩”的视图,用于分组汇总查询每个学生的平均成绩,将视图的列名分别改为:学生学号,个人平均分,并加密视图的定义。,create view V平均成绩(学生学号,个人平均分) with encryption as select 学号, avg (成绩) from xs_kc group by 学号,二、创建视图,实例3:创建一个名为“V单科最高分”的视图,用于查询每门课程的最高分的学生学号、姓名、课程号、成绩信息。,create view V单科最高分 as select xsqk.学号,姓名,课程

      6、号,成绩 from xsqk, xs_kc where xsqk.学号= xs_kc.学号 and 成绩= any (select max(成绩) from xs_kc group by 课程号),二、创建视图,课堂练习2:创建一个名为“V全校最高分”的视图,用于查询所有成绩中的最高分的学生学号、姓名、专业名、课程号、成绩。,create view V全校最高分 as select xsqk.学号,姓名,专业名,课程号,成绩 from xsqk, xs_kc where xsqk.学号= xs_kc.学号 and 成绩= (select max(成绩) from xs_kc),成绩= all (select 成绩 from xs_kc),三、修改视图,语法格式: alter view 视图 (列名表) with encryption as select查询语句 with check option 通过对象资源管理器修改视图,三、修改视图,实例4:在“v1”的视图中增加两列:专业名和所在系。 alter view v1 (学生学号,男生姓名,生日,专业,系) as select 学号,姓

      7、名,出生日期,专业名,所在系 from xsqk where 专业名=计算机网络 and 性别=1,三、修改视图,实例5:修改名为“v综合信息”的视图,取消其加密属性,增加选项检查属性。,alter view V综合信息 as select xsqk.学号, 姓名, 专业名, 课程名, 成绩 from xsqk, xs_kc, kc where xsqk. 学号 = xs_kc.学号 and xs_kc.课程号= kc.课程号 with check option,四、删除视图,语句格式 drop view 视图名 ,n ,五、使用视图管理数据表中的数据,说明: 视图可以代替表完成从表中查询、插入、更新和删除数据的操作。,五、使用视图管理数据表中的数据 -1.插入数据,实例6:向“V1”视图中添加两条记录。 insert into v1 values(020106,李好,1981-04-22,计算机网络,计算机) insert into v1 values(020107,周权,1981-07-08,信息安全,计算机) select * from xsqk select * from v1

      8、,请思考:V1视图中为什么不能看到周权的记录?,因为周权的记录不满足视图的定义,即视图中只显示“计算机网络”专业的学生信息,所以周权的信息只能在基表中看到,而不能在视图中看到。,五、使用视图管理数据表中的数据 -1.插入数据,插入数据的注意事项 可通过视图向基表中插入数据,但插入的数据实际上存放在基表中,而不是存放在视图中。 如果视图引用了多个表,使用insert语句插入的列必须属于同一个表。 若创建视图时定义了“with check option”选项,则使用视图向基表中插入数据时,必须保证插入后的数据满足定义视图的限制条件。 说明:如果不想让不满足视图定义的数据插入到基表中,可以在定义视图时,加上“with check option”。,五、使用视图管理数据表中的数据 -1.插入数据,实例7:假设“V1”视图已添加了“with check option”属性,通过视图向基表中添加两条记录。 insert into v1 values(020108,赵伟,1980-05-07,计算机网络,计算机) insert into v1 values(020109,刘齐,1981-12-02,信息安全,计算机) 请思考:这两条记录能否插入到基表中?能否在视图中能否显示?,“赵伟”的信息既能插入到基表中,也能在视图中看到。但“刘齐”的信息都不能,且系统会提示错误。,五、使用视图管理数据表中的数据 -2.删除数据,语句格式: delete from 视图名 where 条件 实例8:删除“V1”视图中学号为020108的记录。 delete from V1 where 学号=020108 注意事项: 要删除的数据必须包含在视图的结果集中。 如果视图引用了多个表时,无法用delete命令删除数据。,本课小结,使用视图的目的 创建视图:create view 修改视图:alter view 查看视图:select * from 视图名 通过视图管理数据表中的数据 插入数据 删除数据,课余作业布置,课外练习(补充): 视图中的数据存储在什么地方? 基表的数据发生改变,能否从视图中反映出来? 用什么方法加密视图的定义? 创建、修改、删除视图分别使用什么T-SQL语句? 预习: 第6章视图与索引索引。,

      《关系数据库与SQL Server 2005 教学课件 ppt 作者 龚小勇 第19讲 视图的使用》由会员E****分享,可在线阅读,更多相关《关系数据库与SQL Server 2005 教学课件 ppt 作者 龚小勇 第19讲 视图的使用》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.