SQL Server数据库 第八章 视图及其应用
SQL的视图

SQL的视图 1、什么是视图 视图是虚拟的表,是⼀个存储的查询,虽然不需要实际的物理存储,但是也被看作是⼀个数据库对象,对⽤户来说基本上透明的;它与包含数据的表不⼀样,它不包含任何列或数据,它只是包含使⽤时动态检索数据的查询,并且只包含⼀个SELECT语句(不限制⼦查询)。
视图实际上是由预定义查询形式的表所组成的。
视图与表之间的主要区别在于:表占据物理空间,包含实际的饿数据;⽽视图不需要物理空间,不包含数据,它只是从表⾥引⽤数据。
视图只保存在内存⾥,⽽且只需要保存其定义本⾝(查询语句),也就是说视图所需的空间只是定义语句所需要的。
2、视图的⽤途 (1)简化数据访问,简化复杂的SQL,对数据库⾥的数据进⾏归⼀化处理,达到重⽤SQL语句; (2)对数据进⾏保护,起到安全的作⽤,例如只让⽤户访问部分字段信息; (3)维护摘要数据; (4)更改数据格式和表⽰,视图仅仅是⽤来查看存储在别处数据的⼀种设施。
总之,视图具有简单、安全和数据独⽴的优势。
3、视图的使⽤ 在数据库⾥,视图的使⽤⽅式与表是⼀样的;当创建⼀个视图时,实际上是在数据库⾥执⾏了⼀个SELECT语句。
(1)表创建视图CREATE VIEW view_name ASSELECT*FROM table_name[WHERE exp1][WITH CHECK OPTION][GROUP BY] WITH CHECK OPTION选项的⽬的是确保全部的UPDATE和INSERT语句满⾜视图定义⾥的WHERE条件⼦句,这样保证了引⽤的完整性。
WITH CHECK OPTION有两个选项,CASCADED和LOCAL,其中CASCADED是默认选项。
这两个属性都会检查视图的完整性约束和新视图的定义条件,但是LOCAL不检查底层的表,⽽CASCADED会检查。
所以,现对于来说CASCADED更安全些。
(2)视图创建视图CREATE view2 ASSELECT*FROM view1; 如果从基表和从另⼀个视图创建视图具有⼀样的难度和效率,那么⾸选从基表创建视图。
数据库视图的定义及使用

数据库视图的定义及使用实验目的:掌握视图的用法,加深对视图作用的理解。
实验内容:1、创建、修改和删除视图。
2、利用视图进行查询。
实验步骤:说明:对视图的创建、修改和删除均可在可视化界面下操作。
在SQL Server企业管理器中,依次选择数据库――XSGL――视图――鼠标右击――新建视图。
然后通过单击按钮或右击鼠标第一格的空白区域,选择弹出菜单中的“添加表”。
然后拖拽主键到外键,建立关联,点击字段左边的方框选择输出字段。
仅以命令方式来操作:一、视图的创建:1.创建信息系学生信息的视图:create view IS_Student as select sno, sname, sage from student where sdept='IS'2. 创建信息系选修了1号课程的学生的视图:create view IS_S1 as select student.sno, cno, grade from student, sc where student.sno=sc.sno and sdept='IS' and cno='1'3. 建立信息系选修了1号课程且成绩在90分以上的学生的视图: create view as IS_S2 asselect * from IS_S1 where grade>=904. 创建一个反映学生出生年份的视图:create view BT_S(sno, sname, 出生年份) asselect sno, sname, year(date())- sage from student5. 将所有女生的记录定义为一个视图:create view F_student as select * from student where ssex='女'6. 将所有学生的学号和他的平均成绩定义为一个视图:create view S_G(sno, avg_grade) as select sno,avg(grade) from scgroup by sno二、视图结构的修改:6. 将视图F_student修改为信息系的所有女士的视图SQL Server中: alter view F_student as select * from student where ssex='女' and sdept='IS'说明: 视图结构的修改的AS 后的Select语句与创建视图的完全一致, 引入结构修改的目的是为了避免与视图相关的数据库对象的变换, 如触发器, 关联等三、查询视图7. 在信息系的学生视图中查询年龄小于20岁的学生:select * from IS_Student where sage<208. 查询信息系选修了1号课程的学生:select sc.sno, sname from IS_Student, scwhere IS_Student.sno=sc.sno and cno= '1'9. 在视图S_G中查询平均成绩在90分以上的学生的学号和平均成绩:Select * from S_G where avg_grade >=90四、更新视图:10.将信息系学生视图IS_Student中学号为”95002”的学生姓名改为”刘辰”: update IS_Student set sname='刘辰' where sno='95002'比较: update IS_Student set sname=’刘辰’ wheresno=’95003’ 此语句不能实现数据的更新.11. 向信息系学生视图IS_Student中插入一个新的学生记录, 学号为95029,姓名为”赵新”, 年龄为20岁:insert into IS_Student values('95029', '赵新',20)12. 删除信息系学生视图IS_Student中学号为95004的学生的记录:delete from IS_Student where sno='95029'五、删除视图:13. 删除视图IS_S1:drop view IS_S1思考:1. 创建所有学生的基本信息和选课信息的视图2. 基于上述视图查询各系学生各门功课的平均成绩.。
使用 SSMS创建视图_SQL Server 2012数据库技术与应用(微课版)_[共2页]
![使用 SSMS创建视图_SQL Server 2012数据库技术与应用(微课版)_[共2页]](https://img.taocdn.com/s3/m/ed7f5bdf763231126fdb118d.png)
DROP VIEW [数据库名.][框架名称.]视图名[ , …n]
使用DROP VIEW 一次可删除多个视图,删除视图对基表不产生任何影响。
例如,语句DROP VIEW AA ,BB 可同时删除视图对象AA 和BB 。
【任务8.8】 删除视图View1。
在新建查询中输入如下语句,结果如图8.10
所示。
DROP VIEW View1
图8.10 删除视图
8.3 使用SSMS 管理视图
也可以使用SSMS 工具进行创建、删除等管理视图的操作。
8.3.1 使用SSMS 创建视图
选择【新建视图】命令。
打开SSMS ,在【对象资源管理器】中,右键单
击【视图】节点,在弹出的菜单中选择【新建视图】,可以创建视图。
【任务8.9】 创建View4视图。
(1)选择【新建视图】命令。
打开SSMS ,在【对象资源管理器】中,右键单击【视图】节点,在弹出的菜单中选择【新建视图】,如图8.11所示。
(2)在添加表窗口中选择基表。
在出现的添加表窗口中,选中要添加表,然后单击【添加】按钮,也可以根据需要添加视图或函数,这里我们添加Buyers 和
Sales 两个表,添加完毕后,单击【关闭】按钮关闭对话框,如图8.12所示。
图8.11 选择【新建视图】命令 图8.12在添加表对话框中添加需要的表 微课:使用SSMS 创建视图。
SQLSERVER视图的使用

SQL SERVER视图的使用一、简介视图可以被看成是虚拟表或存储查询。
可通过视图访问的数据不作为独特的对象存储在数据库内。
数据库内存储的是 SELECT 语句。
SELECT 语句的结果集构成视图所返回的虚拟表。
用户可以用引用表时所使用的方法,在 Transact-SQL 语句中通过引用视图名称来使用虚拟表。
使用视图可以实现下列任一或所有功能:将用户限定在表中的特定行上。
例如,只允许雇员看见工作跟踪表内记录其工作的行。
将用户限定在特定列上。
例如,对于那些不负责处理工资单的雇员,只允许他们看见雇员表中的姓名列、办公室列、工作电话列和部门列,而不能看见任何包含工资信息或个人信息的列。
将多个表中的列联接起来,使它们看起来象一个表。
聚合信息而非提供详细信息。
例如,显示一个列的和,或列的最大值和最小值。
通过定义 SELECT 语句以检索将在视图中显示的数据来创建视图。
SELECT 语句引用的数据表称为视图的基表。
在下例中,pubs 数据库中的 titleview 是一个视图,该视图选择三个基表中的数据来显示包含常用数据的虚拟表:CREATE VIEW titleviewASSELECT title, au_ord, au_lname, price, ytd_sales, pub_idFROM authors AS aJOIN titleauthor AS ta ON (a.au_id = ta.au_id)JOIN titles AS t ON (t.title_id = ta.title_id)之后,可以用引用表时所使用的方法在语句中引用 titleview。
SELECT * FROM titleview一个视图可以引用另一个视图。
例如,titleview 显示的信息对管理人员很有用,但公司通常只在季度或年度财务报表中才公布本年度截止到现在的财政数字。
可以建立一个视图,在其中包含除 au_ord 和 ytd_sales 外的所有titleview 列。
SQL Server数据库教程-视图

查询结果如图5所示。
SQL Server数据库教程
•
2 查询视图
【例4】 查询通信专业学生的学号、姓名、课程名。
USE stsc SELECT stno, stname, cname FROM st_comm 该语句对st_comm视图进行查询,查询结果如图6所示。
SQL Server数据库教程
•
4 修改视图定义和重命名视图
4.1修改视图定义
1. 使用图形界面方式修改视图定义 【 例 10】 使 用 图 形 界 面 方 式 修 改 例 1 创 建 的 视 图 st_comm,以降序显示成绩。 (1)启动SQL Server Management Studio,在对象资源 管理器中,展开“数据库”节点,选中“stsc”数据库,展开 该数据库节点,展开“视图”,选择“dbo. st_comm”,单击 鼠标右键,在弹出的快捷菜单中选择“设计”命令。 (2)进入“视图设计器”窗口,如图13所示,可以查 看和修改视图结构,其操和创建视图的类似。
SQL Server数据库教程
•
2 查询视图
使用SELECT语句对sc_avg视图进行查 询:
USE stsc SELECT * FROM sc_avg
查询结果如图7所示。
SQL Server数据库教程
•
3 更新视图
3.1 可更新视图
【例6】 在stsc数据库中,以student为基表,创建专业 为计算机的可更新视图st_cp。
语法格式:
ALTER VIEW [ schema_name . ] view_name [ ( column [ ,...n ] ) ] [ WITH <view_attribute>[,…n ] ] AS select_statement [ WITH CHECK OPTION ]
教学大纲 -数据库原理与应用教程—SQL Server 2014-赵明渊-清华大学出版社

《数据库原理与应用》课程教学大纲一. 适用对象适用于本科学生。
二. 课程性质数据库应用技术是计算机科学中的核心技术之一,以其为核心的各种数据库应用管理,无可争议地改变了政府部门和企事业单位的运营和管理方式。
随着数据库的应用广度和深度的扩展,不单是计算机和信心技术IT从业者,包括技术管理、工程管理甚至决策人员在内的众多行业的读者都开始关心数据库技术。
今天,理解数据库概念以及掌握相关应用技术已经成为人们,特别是青年一代必备的技能。
本课程系统讲述数据库系统的基础理论、基本技术和基本方法。
内容包括:数据库系统的基本概念、数据模型、关系数据库及其标准语言SQL、数据库安全性和完整性的概念和方法、关系规范化理论、数据库设计方法和步骤,数据库恢复和并发控制等事务管理基础知识,关系查询处理和查询优化等。
前序课程:计算机基础、C语言。
三. 教学目的1. 掌握数据库技术的基本概念、原理、方法和技术。
2. 掌握SQL语言查询和编程的基本技术,具备SQL语言编程能力3. 掌握数据库系统安装、配置和数据库管理和维护的基本技能。
4. 掌握设计数据库的理论和基本方法,具备数据库设计的能力5. 了解数据库技术的最新发展。
四. 教材及学时安排教材:赵明渊,数据库原理与应用教程——SQL Server 2014,清华大学出版社,2018年9月学时安排:讲课32学时,实验32学时,共计64学时五. 教学要求(按章节详细阐述);第1章数据库系统概论教学要求:理解数据库和数据库系统的概念;掌握数据库系统的组成,掌握数据库管理系统的功能和组成;掌握数据模型的概念和数据模型的类型;掌握设计数据库的基本方法,具备数据库设计的能力;掌握依据需求分析进行概念设计和逻辑设计的技术和方法,具备根据需求分析阶段收集到的信息画出E-R图,并将E-R图转化为关系模式的能力。
内容要点:1.1:数据库系统1.2:数据模型1.3:数据库系统结构1.4:数据库设计第2章关系数据库系统模型教学要求:掌握关系模型的数据结构、关系的完整性以及关系操作等;掌握关系代数的运算规则;理解关系演算的运算规则;了解SQL语言的特点。
使用T-SQL创建视图_数据库应用技术——SQL Server 2008 R2(第2版)_[共2页]
![使用T-SQL创建视图_数据库应用技术——SQL Server 2008 R2(第2版)_[共2页]](https://img.taocdn.com/s3/m/ce049b6769dc5022abea00d0.png)
第8章视图的创建与操作使用T-SQL创建与管理视图(外模式)。
8.4.1 使用T-SQL创建视图使用CREATE VIEW命令创建视图,其语法如下:CREATE VIEW 视图名AS SELECT查询子句在创建视图前应考虑如下准则。
●只能在当前数据库中创建视图。
如果使用分布式查询创建视图,则新视图所引用的表和视图可以存在于其他数据库甚至其他服务器中。
●视图名称必须遵循标识符的规则。
●可以在其他视图的基础上创建视图。
●创建视图的查询不能包含ORDER BY子句,除非在SELECT查询语句的SELECT子句后有一个TOP选项。
●不能为视图定义全文索引。
●不能创建临时视图,也不能对临时表创建视图。
下列情况下必须指定视图中列的名称。
●视图中的列是算术表达式、内置函数或常量派生而来的。
●视图中允许有两列或多列具有相同的名称(通常由于视图定义中涉及多个表的连接,因此来自两个或多个不同表的列可能具有相同的名称)。
●希望为视图中的列指定一个与其源列不同的名称时,可以在视图中重新命名列,无论重命名与否,视图列都会继承其源列的数据类型。
若无需在创建视图时指定列名时,SQL Server会为视图中的列指定与创建视图的查询所引用的列相同的名称和数据类型。
选择列表可以是表中列名的完整列表,也可以是其部分列表。
【例8-8】在图书管理数据库“Library”中,由图书表“Book”创建出人民邮电出版社出版的图书视图“View_BookPostTel”。
(1)在SSMS窗口中,单击“新建查询”按钮,在【查询编辑器】中输入如下代码:USE LibraryGOCREATE VIEW View_BookPostTel --创建视图AS --为以下子查询SELECT BID,Bname,Author,Publisher,Price --子查询投影的各列FROM Book --子查询的表WHERE Publisher='人民邮电出版社' --子查询的选择(2)执行上面的T-SQL语句后,运行结果如下:命令已成功完成。
数据库技术(SQLServer)习题与参考答案

数据库技术(SQLServer)习题与参考答案第一章:1、SQL Server 2005有哪些新增特性?答:SQL Server 2005的新特性主要体现在企业数据管理、开发人员生产力、商务智能三个方面。
企业数据管理体现在高可用性、管理工具、安全性和可伸缩性;开发人员生产力体现在Common Language Runtime集成、集成XML、Transact-SQL增强和SQL服务代理;商务智能体现在分析服务、数据转换服务、报表服务和数据挖掘。
2、SQL Server 2005安装的软件和硬件环境是什么?答:SQL Server 2005安装的软件和硬件环境参见教材6。
3、SQL Server 2005有哪些版本?有哪些服务组件?答:SQL Server 2005包括企业版、标准版、工作组版、开发版和简易版五个版本,服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。
4、什么是实例?经常提到的SQL Server 2005服务器和服务器实例是否具有相同的含义?答:实例就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。
一个SQLServer服务器就是一个实例,一台计算机上,可以安装多个SQLSERVER,每个SQLSERVER就可以理解为是一个实例。
5、默认实例和命名实例有何差别?在安装和使用上有何不同?答:实例又分为“默认实例”和“命名实例”,如果在一台计算机上安装第一个SQLSERVER2005命名设置保持默认的话,那这个实例就是默认实例。
一台计算机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同。
除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.2.2 重命名视图
1. 利用企业管理器重命名视图 2. 可以使用系统存储过程 可以使用系统存储过程sp_rename修改视图的名称, 修改视图的名称, 修改视图的名称 该过程的语法形式如下: 语法形式如下 该过程的语法形式如下: sp_rename old_name,new_name 重命名为v_part,其程序清单如下: 例:把视图v_all重命名为 把视图 重命名为 ,其程序清单如下: sp_rename v_all,v_part
④视图可以简化复杂查询的结构,方便用 视图可以简化复杂查询的结构, 户对数据的操作。 户对数据的操作。 ⑤视图可以让不同的用户以不同的方式看 到不同或者相同的数据集。 到不同或者相同的数据集。 ⑥在某些情况下,由于表中数据量太大, 在某些情况下,由于表中数据量太大, 因此在表的设计时常将表进行水平或者 垂直分割, 垂直分割,但表的结构的变化对应用程 序产生不良的影响。 序产生不良的影响。 ⑦视图提供了一个简单而有效的安全机制。 视图提供了一个简单而有效的安全机制。
8.2.3 修改视图
1. 利用企业管理器修改视图。 利用企业管理器修改视图。 2. 使用 使用ALTER VIEW语句修改视图 。 语句修改视图 ALTER VIEW view_name [(column[,...n])] [WITH ENCRYPTION] AS select_statement [ WITH CHECK OPT创建视图 1. 使用企业管理器创建视图
图8-1
选择新建视图选项对话框
图8-2 (a) 新建视图对话框
图8-2(b) 添加表菜单
图8-3 添加表对话框
图8-4 选择视图字段对话框
图8-5 视图属性对话框
2. 利用CREATE VIEW命令创建视图 利用CREATE VIEW命令创建视图 语法形式如下: 语法形式如下:
(3)删除数据记录 (3)删除数据记录 Delete from cs_xs Where
性别= 男 性别=‘男’
使用视图删除记录, 使用视图删除记录,可以删除任何基表中的 记录,直接利用DELETE语句删除记录即可。 DELETE语句删除记录即可 记录,直接利用DELETE语句删除记录即可。但应 该注意,必须指定在视图中定义过的字段来删除 该注意, 记录。 记录。
创建视图时应该注意以下情况: 创建视图时应该注意以下情况:
①只能在当前数据库中创建视图。 只能在当前数据库中创建视图。 ②如果视图引用的基表或者视图被删除,则该视图不能再被 如果视图引用的基表或者视图被删除, 使用,直到创建新的基表或者视图。 使用,直到创建新的基表或者视图。 ③如果视图中某一列是函数、数学表达式、常量或者来自多 如果视图中某一列是函数、数学表达式、 个表的列名相同,则必须为列定义名称。 个表的列名相同,则必须为列定义名称。 ④不能在视图上创建索引,不能在规则、缺省、触发器的定 不能在视图上创建索引,不能在规则、缺省、 义中引用视图。 义中引用视图。 Server要检查以确保语句中 ⑤当通过视图查询数据时,SQL Server要检查以确保语句中 当通过视图查询数据时, 涉及的所有数据库对象存在,而且数据修改语句不能违反 涉及的所有数据库对象存在, 数据完整性规则。 数据完整性规则。 ⑥视图的名称必须遵循标识符的规则,且对每个用户必须是 视图的名称必须遵循标识符的规则, 唯一的。此外, 唯一的。此外,该名称不得与该用户拥有的任何表的名称 相同。 相同。
修改视图中的数据时,不能同时修改两个或者多个基表, →修改视图中的数据时,不能同时修改两个或者多个基表, 可以对基于两个或多个基表或者视图的视图进行修改, 可以对基于两个或多个基表或者视图的视图进行修改,但 是每次修改都只能影响一个基表。 是每次修改都只能影响一个基表。 →不能修改那些通过计算得到的字段。 不能修改那些通过计算得到的字段。 OPTION选项 选项, →如果在创建视图时指定了WITH CHECK OPTION选项,那 如果在创建视图时指定了WITH 么所有使用视图修改数据库信息时, 么所有使用视图修改数据库信息时,必须保证修改后的数 据满足视图定义的范围。 据满足视图定义的范围。 →执行UPDATE、DELETE命令时,所删除与更新的数据必须 执行UPDATE、DELETE命令时, UPDATE 命令时 包含在视图的结果集中。 包含在视图的结果集中。 →如果视图引用多个表时,无法用DELETE命令删除数据。 如果视图引用多个表时,无法用DELETE命令删除数据。 DELETE命令删除数据
第八章 视图及其应用
讲解提纲: 讲解提纲: 8.1 视图综述 8.2 视图的操作 8.3 视图定义信息查询
本章要点
理解视图的基本概念、作用 理解视图的基本概念、 掌握视图的创建、修改、 掌握视图的创建、修改、删除和使用 方法
8.1
视图综述
8.1.1 视图的基本概念
视图是一种数据库对象,常用于集中、 简化和定制显示数据信息。 视图是从一个或者多个表(或视图)中导出 的表,其结构和数据是建立在对表的查询基础 上的。和真实的表一样,视图也包括几个被定 义的数据列和多个数据行,但从本质上讲,这 些数据列和数据行来源于其所引用的表。因此, 视图不是真实存在的基础表而是一个虚拟表, 视图所对应的数据并不实际地以视图结构存储 在数据库中,而是存储在视图所引用的表中。
CREATE VIEW [ < database_name > .]
[ < owner > .] view_name [ ( column [ ,...n ] ) ] [ WITH < view_attribute > [ ,...n ] ] AS
select_statement
[ WITH CHECK OPTION ] < view_attribute > ::= { ENCRYPTION | SCHEMABINDING | VIEW_METADATA }
SCHEMABINDING表示在select_statement语句中如果 SCHEMABINDING表示在select_statement语句中如果 表示在select_statement 包含表、视图或者引用用户自定义函数,则表名、视 包含表、视图或者引用用户自定义函数,则表名、 图名或者函数名前必须有所有者前缀。 图名或者函数名前必须有所有者前缀。 METADATA表示如果某一查询中引用该视图且 VIEW_ METADATA表示如果某一查询中引用该视图且 要求返回浏览模式的元数据时,那么SQL Server将 要求返回浏览模式的元数据时,那么SQL Server将 向DBLIB和OLE DB APIS返回视图的元数据信息。 DBLIB和 APIS返回视图的元数据信息。 返回视图的元数据信息
8.1.2 视图的作用
视图是在基表的基础上,通过查询语句生成的, 视图是在基表的基础上,通过查询语句生成的, 定义后可查询、修改、删除和更新。 定义后可查询、修改、删除和更新。 可以使视图集中数据、 ①可以使视图集中数据、简化和定制不同用户对数 据库的不同数据要求,只包含需要的数据。 据库的不同数据要求,只包含需要的数据。 使用视图可以屏蔽数据的复杂性, ②使用视图可以屏蔽数据的复杂性,用户不必了解 数据库的结构,就可以方便地使用和管理数据, 数据库的结构,就可以方便地使用和管理数据, 简化数据权限管理和重新组织数据以便输出到其 他应用程序中。 他应用程序中。 ③视图可以使用户只关心他感兴趣的某些特定数据 和他们所负责的特定任务, 和他们所负责的特定任务,而那些不需要的或者 无用的数据则不在视图中显示。 无用的数据则不在视图中显示。
• 例8 - 1
分析以下代码: 分析以下代码: use xscj go create view cs_xs as select * from xs 专业名= 计算机 计算机’ where 专业名=‘计算机’ go
例8 - 2
创建cs_kc视图,包括计算机专业各学生的学号、其选修 创建cs_kc视图,包括计算机专业各学生的学号、 cs_kc视图 的课程号及成绩。 的课程号及成绩。 Create view cs_kc with encryption /*指出视图的属性 存储Create view语句时 指出视图的属性, /*指出视图的属性,存储Create view语句时 进行加密* 进行加密*/ as xs.学号 课程号, 学号, select xs.学号,课程号,成绩 from xs,xs_kc xs.学号=xs_kc.学号 学号=xs_kc. 专业名= 计算机 计算机’ where xs.学号=xs_kc.学号 and 专业名=‘计算机’ with check option /*指出在视图上的修改都要符合select指出的条件 指出在视图上的修改都要符合select指出的条件。 /*指出在视图上的修改都要符合select指出的条件。 如此例中只能修改除专业名为‘计算机’以外的值。 如此例中只能修改除专业名为‘计算机’以外的值。 以保证仍可通过cs_kc视图查询到修改后的数据。 cs_kc视图查询到修改后的数据 以保证仍可通过cs_kc视图查询到修改后的数据。*/
课堂练习: 课堂练习: 创建计算机专业学生的平均成绩视图 cs_kc_avg,,包括学号( cs_kc_avg,,包括学号(在视图中列名为 num)和平均成绩 和平均成绩( num)和平均成绩(在视图中列名为 score_avg)。 score_avg)。
代码如下: 代码如下: Create view cs_kc_avg(num,score_avg) as 学号,avg(成绩) ,avg(成绩 select 学号,avg(成绩) from cs_kc group by 学号
(1) 插入数据记录 通过视图向基表插入数据记录 insert into cs_xs values(‘1115 1115’, 计算机’,1,….) values( 1115 ,’ 计算机’,1, .) 查询基本表: 查询基本表: select * from xs (2) 更新数据记录 update cs_xs 总学分=总学分+8 set 总学分=总学分+8 使用视图可以更新数据记录, 使用视图可以更新数据记录,但应该注 意的是,更新的只是数据库中的基表 基表。 意的是,更新的只是数据库中的基表。