内容正文:
5.2视图
视图
视图概述
视图不是真实存在的基础表,而是一张虚表
通过视图看到的数据只是存放在基本表中的数据
对视图的操作与对表的操作一样
可以对其进行查询、修改(有一定的限制)和删除
学习要点
学习要点
视图
视图概述
创建、修改、查看、删除、使用视图
视图
创建
使用SSMS
使用T-SQL
学习要点
创建视图
使用SSMS
Step1:
选定需要创建视图的数据库→右击该数据库→快捷菜单中选择“新建”、“视图”
step2
创建视图
使用SSMS
Step2:
右击关系图窗格 →单击“添加表”
step3
创建视图
使用SSMS
Step3-1:
)在“表”或“视图”选项卡中→单击需要添加到新视图中的表或视图→单击“添加”按钮
step3
创建视图
使用SSMS
Step3-2:
从关系图窗格中数据表(视图)中选择需要的列
step3
创建视图
使用SSMS
Step3-3:
右击关系图窗格→单击“运行” →可以查看结果集
step3
创建视图
使用SSMS
Step3-4:
右击关系图窗格→ 单击“保存”→ 输入新视图的名称 →确定→保存视图定义
创建
创建视图
使用T-SQL
基本语句:
语句说明:
列名如未在Create view后指明,则由查询语句中
列字段组成(必须指明列名的三种情况)
查询语句通常不允许含有ORDER BY子句
DISTINCT短语
创建视图、示例
CREATE VIEW 视图名 [ ( 列名 [ ,...n ] ) ]
AS
查询语句
[ WITH CHECK OPTION ]
可以是任意复杂的SELECT语句
必须明确指明组成视图的所有列名
其中某个目标列不是单纯的列名,而是列表达式或聚合函数;
多表连接时,选出了几个同名的列作为视图的字段;
需要在视图中为某个列启用新的名字
返回
创建视图
示例:
【例5-11】创建一个关于学生成绩的视图
【例5-9】创建一个关于学生信息的视图。
next
CREATE VIEW stu_info_view
AS
SELECT s_no,s_name,s_sex,s_address
FROM information
CREATE VIEW grade_view
AS
SELECT B.s_no,s_name,c_name,grade
FROM information A,score B,course C
WHERE A.s_no=B.s_no AND C.c_no=B.c_no
创建视图
示例:
【例5-10】创建有关“软件031”班级学生信息的视图,并保证在进行修改、插入和删除时,仍然保证该视图中只有“软件031”班级的学生
next
CREATE VIEW rj031_info_view
AS
SELECT s_no,s_name,s_sex,s_address
FROM information
WHERE s_class=‘软件031’
WITH CHECK OPTION
创建视图
示例:
【例5-12】创建一个反映学生年龄的视图
使用T-SQL
CREATE VIEW age_view(s_no,s_name,s_age)
AS
SELECT s_no,s_name,Year(GetDate())-Year(s_birth)
FROM information
视图
修改
使用SSMS
使用T-SQL
学习要点
修改视图
使用SSMS
修改视图定义
重命名视图
修改视图
修改视图
修改视图定义
Step1:
启动SQL Server,登录到指定的服务器→打开视图的所在数据库→ 单击视图→ 右栏选择视图名(需修改) →选择“设计视图”选项
step2
1
2
3
4
修改视图
修改视图定义
Step2:
在弹出的关系图窗格中,从数据表(视图)中选择需要添加或删除的列 →单击“保存”命令
SSMS
修改视图
重命名视图
Steps:
启动SQL Server,登录到指定的服务器→打开视图的所在数据库→ 单击视图→ 右栏选择视图名(需修改) →选择“重命名”选项
1
2
3
4
SSMS
修改视图
使用T-SQL
使用T-SQL修改视图
使用sp_rename重命名视图
修改视图
修改视图
使用T-SQL修改视图
基本语句
示例
【例5-13】
【例5-14】
使用T-SQL
ALTER VIEW 视图名 [ ( 列名 [ ,...n ] ) ]
AS
查询语句
[ WITH CHECK OPTION ]
修改视图
【例5-13】
修改关于学生信息的视图stu_info_view,使之仅包含学生的学号、姓名和性别等基本信息
示例
ALTER VIEW stu