(中职)计算机组装与维护A0603教学课件_第1页
(中职)计算机组装与维护A0603教学课件_第2页
(中职)计算机组装与维护A0603教学课件_第3页
(中职)计算机组装与维护A0603教学课件_第4页
(中职)计算机组装与维护A0603教学课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、正版可修改PPT课件(中职)计算机组装与维护A0603教学课件SQL Server数据库项目教程教学课件项目6 创建和管理视图我们毕业啦其实是答辩的标题地方任务3 通过视图查询和修改数据知识准备单表查询多表查询数据更新CONTANTS思维导图1.知识准备视图并不保存数据,系统只为视图存储视图的定义。修改视图中的数据,实际上是修改基表的数据。执行修改视图数据语句时系统已经自动根据视图的定义将语句转换为基表数据的修改,此转换过程为“视图消解”。定义视图后,对视图的查询没有什么限制,可以像对待表一样进行操作。但是,如果对视图中的元组进行更新操作(INSERT,UPDATE,DELETE)将受到限制。

2、1.1 关于(1) 若视图是基于多个表使用联接操作而导出的,那么对这个视图执行更新操作时,每次只能影响其中的一个表。任何修改(包括 UPDATE、INSERT 和 DELETE 语句)都只能引用一个基表的列。(2) 若视图导出时包含有分组和聚合操作,则不允许对这个视图执行更新操作。视图中被修改的列必须直接引用表列中的基础数据。不能通过任何其他方式对这些列进行派生,如通过以下2种方式则不被允许:聚合函数:AVG、COUNT、SUM、MIN、MAX、GROUPING、STDEV、STDEVP、VAR 和 VARP。计算:不能从使用其他列的表达式中计算该列。使用集合运算符 UNION、UNION A

3、LL、CROSS JOIN、EXCEPT 和 INTERSECT 形成的列将计入计算结果,且不可更新。1.2可更新视图有以下三条规则(3)若视图是从一个表经选择、投影而导出的,并在视图中包含了表的主键字或某个候选键,这类视图称为“行列子集视图”。这类视图可执行更新操作。1.2可更新视图有以下三条规则2.单表查询在学生成绩数据库dbStudentScore中,完成以下操作:1查询学生的成绩表的数据,显示学号,总成绩,成绩录入时间。本案例配备微课视频 任务描述单表数据的查询,它可以通过2种方法实现。方法一:显示的数据字段,都在成绩表(tbScore)这一个表中可以查询出来,属于单表查询。方法二:视

4、图VbStudentSumScore已经有学号,总成绩,成绩录入时间信息,可以直接查询 。 任务分析-1查询学生的成绩表的数据,显示学号,总成绩,成绩录入时间。-(1)方法一通过基表成绩表(tbScore)查询。输入以下代码并执行。select StudentID ,ScoreAll ,LogTime from tbScore -(2)方法二通过视图VbStudentSumScore直接查询。-通过视图VbStudentSumScore直接查询 select * from VbStudentSumScore-或者把每一个字段写出来select StudentID ,ScoreAll ,LogT

5、ime from VbStudentSumScore 参考答案3.多表查询在学生成绩数据库dbStudentScore中,完成以下操作:2查询学号,学生姓名,性别,班级名称,专业名称,院系名称,班主任姓名,班主任电话信息和学号。 任务描述多表数据的查询,它可以通过2种方法实现。方法一:显示的数据字段,在多个表中可以查询出来,属于多表查询。表tbStudent有学生姓名,性别,学号,表tbClass有班级名称,表tbDepartment有系部名称,表tbMajor有专业名称,表tbTeacher有班主任姓名,班主任电话。 任务分析多表数据的查询,它可以通过2种方法实现。方法二:视图VbStude

6、ntMoreInfo有学号,学生姓名,性别 ,班级名称,专业名称,院系名称,班主任姓名,班主任电话等信息,可以直接查询;通过查询视图的方式会更简便。 任务分析-2查询学号,学生姓名,性别,班级名称,专业名称,院系名称,班主任姓名,班主任电话信息。-直接使用*代表所有字段SELECT * FROM VbStudentMoreInfo-或者把所有字段都列出来SELECT StudentID, StudentName ,Sex ,ClassName ,MajorName ,DepartmentName ,TeacherName ,Telephone FROM VbStudentMoreInfo参考答

7、案4.数据更新3以数据表tbTeacher作为基表,创建视图VbTeacher01,显示教师工号、姓名、性别 、电话号码。(1)分别对基表tbTeacher和视图VbTeacher01,通过INSERT插入2条数据(t10001,刘小花,女,1351311311345)和(t10002,王小林,男,1801311311345),分析它们的差别。(2)分别对基表tbTeacher和视图VbTeacher01,通过UPDATE更新一条数据,把工号为t10001的姓名修改为“刘大花”,把工号为t10002的姓名修改为“王大林”,分析它们的差别。(3)分别对基表tbTeacher和视图VbTeache

8、r01,通过DELETE删除工号为t10001和工号为t10002的数据,分析它们的差别。 任务描述参考INSERT、UPDATE、DELETE的语法和WHERE条件,可以完成相应数据的插入、修改和删除操作。(1)分析视图VbTeacher01的依赖关系。对视图VbTeacher01点击右键 ,选择“查看依赖关系”菜单,可以提到视图VbTeacher01仅依赖于表tbTeacher。当视图是基于多个基表的情况下,它的依赖关系会不止一个表。 任务分析(2)分析基表tbTeacher的表结构 。如图所示,TeacherID、TeacherName和Sex是不允许为NULL值,其它的字段允许为NUL

9、L值。在插入数据或者修改数据时,需要注意NULL值和其它约束的限制,以保证数据的有效性。 任务分析-1.以数据表tbTeacher作为基表,创建视图VbTeacher01,显示教师工号、姓名、性别 、电话号码。CREATE VIEW VbTeacher01ASSELECT TeacherID, TeacherName, Sex, Telephone FROM tbTeacherGO-2.分别对基表tbTeacher和视图VbTeacher01,通过INSERT插入2条数据(t10001,刘小花,女,1351311311345)和(t10002,王小林,男,1801311311345),分析它们

10、的差别。insert into tbTeacher (TeacherID ,TeacherName ,Sex ,Telephone) values (t10001,刘小花,女,1351311311345)insert into VbTeacher01 (TeacherID ,TeacherName ,Sex ,Telephone) values (t10002,王小林,男,1801311311345)go参考答案-3.通过UPDATE更新一条数据,把工号为t10001的姓名修改为“刘大花”,把工号为t10002的姓名修改为“王大林”,分析它们的差别。update tbTeacher set TeacherName=刘大花 where TeacherID=t10001update VbTeacher01 set TeacherName=王大林 where TeacherID=t10002-4.分别对基表tb

温馨提示

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

评论

0/150

提交评论