sql-server-2008-学习讲义-幻灯片-9-ppt-视图

上传人:F****n 文档编号:88135745 上传时间:2019-04-19 格式:PPT 页数:20 大小:249.50KB
返回 下载 相关 举报
sql-server-2008-学习讲义-幻灯片-9-ppt-视图_第1页
第1页 / 共20页
sql-server-2008-学习讲义-幻灯片-9-ppt-视图_第2页
第2页 / 共20页
sql-server-2008-学习讲义-幻灯片-9-ppt-视图_第3页
第3页 / 共20页
sql-server-2008-学习讲义-幻灯片-9-ppt-视图_第4页
第4页 / 共20页
sql-server-2008-学习讲义-幻灯片-9-ppt-视图_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《sql-server-2008-学习讲义-幻灯片-9-ppt-视图》由会员分享,可在线阅读,更多相关《sql-server-2008-学习讲义-幻灯片-9-ppt-视图(20页珍藏版)》请在金锄头文库上搜索。

1、创建和管理视图,2,目录,视图概念 创建视图 视图的应用 修改与删除视图,3,什么是视图,思考: 对于学生信息表和学生成绩表,教师和辅导员所需要的信息不同 教师:姓名、学号、cSharp成绩、SQL成绩、平均分 辅导员:姓名、学号、性别,年龄、家庭住址等 解决方法: 视图,4,什么是视图,视图是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在对表的查询基础上 视图中并不存放数据,而是存放在视图所引用的原始表(基表)中 同一张原始表,根据不同用户的不同需求,可以创建不同的视图 一个视图可以派生于一个或多个基表,也可以从其它视图中派生,5,什么是视图,视图的用途 筛选表中

2、的行 防止未经许可的用户访问敏感数据 降低数据库的复杂程度 将多个物理数据库抽象为一个逻辑数据库,6,如何创建视图,使用T-SQL语句创建视图的语法 Column:视图中的列名 With encryption:视图将被加密 Select_statement:查询语句 With check option:让update和insert语句严格按照视图中定义的格式 注:一个视图能参照的最大列数为1024,CREATE VIEW view_name(column,n) with encryption As select_statement with check option,7,创建视图- (例1),

3、基于stuInfo表创建一个视图 CREATE VIEW view_assistant AS SELECT stuInfo.stuNo,stuInfo.stuName,stuInfo.stuAge,stuInfo.stuSex,stuInfo.stuAddress FROM stuInfo GO,8,创建视图- (例2),创建视图,使用不同于基表的列名 CREATE VIEW view_ass (学号,姓名,性别,年龄,住址) AS SELECT stuNo,stuName,stuAge,stuSex,stuAddress FROM stuInfo GO,9,创建视图- (例3),基于stuI

4、nfo和stuMarks两个表创建视图,查询学号,姓名,性别,c#成绩,SQL成绩,平均成绩)。 CREATE VIEW view_twotable (学号,姓名,性别,c#成绩,SQL成绩,平均成绩) AS SELECT stuInfo.stuNo,stuName,stuSex,cSharpExam,SQLExam,(cSharpExam+SQLExam)/2 FROM stuInfo,stuMarks WHERE stuInfo.stuNo=stuMarks.stuNo GO,10,创建视图- (例4),练习:创建视图,查看学号,姓名,c#成绩,SQL成绩,平均成绩且平均成绩高于80分的同

5、学。,11,创建视图- (例5),使用函数创建视图,查看stuInfo表中男生和女生分别的人数,并将视图加密 CREATE VIEW view_numOfSex WITH ENCRYPTION AS SELECT stuSex,COUNT(stuSex) AS 人数 FROM stuInfo GROUP BY stuSex GO,给视图加密可以防止其他用户查看最初的视图产生代码。这是软件开发人员隐藏视图或其他数据对象的源代码的有效方法,12,视图的应用 -查看视图的定义,使用with encryption选项的视图不能查看 SP_HELPTEXT view_twotable GO SP_HEL

6、PTEXT view_numOfSex GO,13,视图的应用 -使用create view的几点注意,要求对基表有select权限 不能在视图上建立规则、默认和触发器,或构造索引 一个视图只能参照1024列 不能创建临时视图,也不能以临时表为基表建立视图 由于不能以临时表为基表建立视图,而select into语句需要建立临时表,所以在create view语句中不能使用select into,14,视图的应用-视图的使用,通过视图检索数据 可以通过任何查询方式检索视图 建立视图时,系统不检查参照对象的存在,检索视图时不存在的对象将导致错误 使用select * 建立的视图在基表增加新列后,

7、不能检索新列,及表删除某列后检索将不能进行 通过视图修改数据 实际是对基表的数据进行修改,所以必须遵守基表的数据完整性约束 一个语句只能修改视图的一个基表 不允许对group by定义的视图或视图的计算列进行修改,15,视图的应用,通过视图插入数据 insert into view_ass values(G21120,李鹏,23,女,山东济南) 需要特别注意对于基表的数据完整性检查 对插入的数据进行修改 UPDATE View_teacher SET c#成绩=60 WHERE 姓名=张明,16,修改与删除视图,修改视图的结构与创建一致 语法:ALTER VIEW view_name AS s

8、elect_statement 示例:修改View_teacher ALTER VIEW view_teacher (学号,姓名,c#成绩,SQL成绩,总成绩) AS SELECT stuInfo.stuNo,stuName,cSharpExam,SQLExam,cSharpExam+SQLExam FROM stuInfo,stuMarks WHERE stuInfo.stuNo=stuMarks.stuNo GO,17,修改与删除视图 -删除视图,语法:DROP VIEW view_name 示例: DROP VIEW view_teacher,18,总结,视图概念 创建视图 视图的应用 修改与删除视图,19,总结,视图是虚拟表,它从一个或多个称为基表或内含表的表中产生数据。 视图作为安全机制,而保护基表中的数据。 视图屏蔽了系统内部表的复杂性.,20,作业及练习,练习: 建立一个视图 要求: 可以通过本视图直接查询输出员工号,经理号,员工职务,员工所在部门名称 (使用adventureWorks数据库),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号