微软认证考试数据库辅导:SQLServer-视图

文章作者 100test 发表时间 2007:03:13 21:58:05
来源 100Test.Com百考试题网


SQL-视图
第三章 关系数据库标准语言SQL
3.1 SQL概述
3.2 数据定义
3.3 查询
3.4 数据更新
3.5 视图
3.6 数据控制
3.7 嵌入式SQL
3.8 小结
SQL-视图
视图的特点
虚表,是从一个或几个基本表(或视图)导出的表
只存放视图的定义,不会出现数据冗余
基表中的数据发生变化,从视图中查询出的数据也随之改变
基于视图的操作
查询
删除
SQL-视图
受限更新
定义基于该视图的新视图
视图
1. 定义视图
2. 查询视图
3. 更新视图
4. 视图的作用
SQL-视图
建立视图
CREATE VIEW
<视图名> [(<列名> [,<列名>]…)]
AS <子查询>
[WITH CHECK OPTION];
说明:
DBMS执行CREATE VIEW语句时只是把视图的定义存入数据字典,并不执行其中的SELECT语句。
在对视图查询时,按视图的定义从基本表中将数据查出。
SQL-视图
组成视图的属性列名:
全部省略或全部指定
省略: 由子查询中SELECT目标列中的诸字段组成
明确指定视图的所有列名:
(1) 某个目标列是集函数或列表达式
(2) 目标列为 *
(3) 多表连接时选出了几个同名列作为视图的字段
(4) 需要在视图中为某个列启用新的更合适的名字
SQL-视图
[例1] 建立信息系学生的视图。
CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept= ’IS’;
从单个基本表导出
只是去掉了基本表的某些行和某些列
保留了码
SQL-视图
WITH CHECK OPTION
透过视图进行增删改操作时,不得破坏视图定义中的谓词条件(即子查询中的条件表达式)
[例2] 建立信息系学生的视图,并要求透过该视图进行的更新操作只涉及信息系学生。
CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept= ’IS’
WITH CHECK OPTION;
SQL-视图
对IS_Student视图上的更新操作说明:
修改操作:DBMS自动加上Sdept= ’IS’的条件
删除操作:DBMS自动加上Sdept= ’IS’的条件
插入操作:DBMS自动检查Sdept属性值是否为’IS’
如果不是,则拒绝该插入操作
如果没有提供Sdept属性值,则自动定义Sdept为’IS’
SQL-视图
基于多个表的视图
[例4] 建立信息系选修了1号课程的学生视图。
CREATE VIEW IS_S1(Sno,Sname,Grade)
AS
SELECT Student.Sno,Sname,Grade
FROM Student,SC
WHERE Sdept= ’IS’ AND
Student.Sno=SC.Sno AND
SC.Cno= ’1’;
SQL-视图
基于视图的视图
[例5] 建立信息系选修了1号课程且成绩在90分以上的学生的视图。
CREATE VIEW IS_S2
AS

相关文章


SQLSever数据库应用技术教程第一节
微软认证考试数据库辅导:SQLServer-视图
SQLSever指导:查询语句-单表查询
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛