Sql-Server--学习讲义-课件-9-PPT-视图.ppt_第1页
Sql-Server--学习讲义-课件-9-PPT-视图.ppt_第2页
Sql-Server--学习讲义-课件-9-PPT-视图.ppt_第3页
Sql-Server--学习讲义-课件-9-PPT-视图.ppt_第4页
Sql-Server--学习讲义-课件-9-PPT-视图.ppt_第5页
免费预览已结束,剩余15页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

创建和管理视图,2,目录,视图概念创建视图视图的应用修改与删除视图,3,什么是视图,思考:对于学生信息表和学生成绩表,教师和辅导员所需要的信息不同教师:姓名、学号、cSharp成绩、SQL成绩、平均分辅导员:姓名、学号、性别,年龄、家庭住址等解决方法:视图,4,什么是视图,视图是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在对表的查询基础上视图中并不存放数据,而是存放在视图所引用的原始表(基表)中同一张原始表,根据不同用户的不同需求,可以创建不同的视图一个视图可以派生于一个或多个基表,也可以从其它视图中派生,5,什么是视图,视图的用途筛选表中的行防止未经许可的用户访问敏感数据降低数据库的复杂程度将多个物理数据库抽象为一个逻辑数据库,6,如何创建视图,使用T-SQL语句创建视图的语法Column:视图中的列名Withencryption:视图将被加密Select_statement:查询语句Withcheckoption:让update和insert语句严格按照视图中定义的格式注:一个视图能参照的最大列数为1024,CREATEVIEWview_name(column,.n)withencryptionAsselect_statementwithcheckoption,7,创建视图-(例1),基于stuInfo表创建一个视图CREATEVIEWview_assistantASSELECTstuInfo.stuNo,stuInfo.stuName,stuInfo.stuAge,stuInfo.stuSex,stuInfo.stuAddressFROMstuInfoGO,8,创建视图-(例2),创建视图,使用不同于基表的列名CREATEVIEWview_ass(学号,姓名,性别,年龄,住址)ASSELECTstuNo,stuName,stuAge,stuSex,stuAddressFROMstuInfoGO,9,创建视图-(例3),基于stuInfo和stuMarks两个表创建视图,查询学号,姓名,性别,c#成绩,SQL成绩,平均成绩)。CREATEVIEWview_twotable(学号,姓名,性别,c#成绩,SQL成绩,平均成绩)ASSELECTstuInfo.stuNo,stuName,stuSex,cSharpExam,SQLExam,(cSharpExam+SQLExam)/2FROMstuInfo,stuMarksWHEREstuInfo.stuNo=stuMarks.stuNoGO,10,创建视图-(例4),练习:创建视图,查看学号,姓名,c#成绩,SQL成绩,平均成绩且平均成绩高于80分的同学。,11,创建视图-(例5),使用函数创建视图,查看stuInfo表中男生和女生分别的人数,并将视图加密CREATEVIEWview_numOfSexWITHENCRYPTIONASSELECTstuSex,COUNT(stuSex)AS人数FROMstuInfoGROUPBYstuSexGO,给视图加密可以防止其他用户查看最初的视图产生代码。这是软件开发人员隐藏视图或其他数据对象的源代码的有效方法,12,视图的应用-查看视图的定义,使用withencryption选项的视图不能查看SP_HELPTEXTview_twotableGOSP_HELPTEXTview_numOfSexGO,13,视图的应用-使用createview的几点注意,要求对基表有select权限不能在视图上建立规则、默认和触发器,或构造索引一个视图只能参照1024列不能创建临时视图,也不能以临时表为基表建立视图由于不能以临时表为基表建立视图,而selectinto语句需要建立临时表,所以在createview语句中不能使用selectinto,14,视图的应用-视图的使用,通过视图检索数据可以通过任何查询方式检索视图建立视图时,系统不检查参照对象的存在,检索视图时不存在的对象将导致错误使用select*建立的视图在基表增加新列后,不能检索新列,及表删除某列后检索将不能进行通过视图修改数据实际是对基表的数据进行修改,所以必须遵守基表的数据完整性约束一个语句只能修改视图的一个基表不允许对groupby定义的视图或视图的计算列进行修改,15,视图的应用,通过视图插入数据insertintoview_assvalues(G21120,李鹏,23,女,山东济南)需要特别注意对于基表的数据完整性检查对插入的数据进行修改UPDATEView_teacherSETc#成绩=60WHERE姓名=张明,16,修改与删除视图,修改视图的结构与创建一致语法:ALTERVIEWview_nameASselect_statement示例:修改View_teacherALTERVIEWview_teacher(学号,姓名,c#成绩,SQL成绩,总成绩)ASSELECTstuInfo.stuNo,stuName,cSharpExam,SQLExam,cSharpExam+SQLExamFROMstuInfo,stuMarksWHEREstuInfo.stuNo=stuMarks.stuNoGO,17,修改与删除视图-删除视图,语法:DROPVIEWview_name示例:DROPVIEWview_teacher,18,总结,视图概念创建视图视图的应用修改与删除视图,19,总结,视图是虚拟表,它从一个或多个称为基表或内含表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论