当前课程知识点:数据库系统原理与开发 > 第3章 数据库操作SQL语言 > 3.6 视图SQL语句 > 3.6 视图SQL语句
大家好!
我是主讲教师陆鑫
本节将学习数据库课程
第3.6小节
视图SQL语句
本节学习目标如下:
1)理解数据库视图对象及其作用
2)掌握数据库视图创建、删除SQL方法
3)掌握数据库视图的应用方法
下面开始学习视图SQL语句
一、什么是视图
视图是一种通过基础表
或其它视图构建的虚拟表
它本身没有自己的数据
而是使用了存储在基础表中的数据
视图对象与关系表之间的关系
如下图所示
视图作为一个访问基础表的窗口
外部不直接访问基础表
而是通过视图
对基础表数据进行操作访问
二、视图创建SQL语句
1 语句基本格式
CREATE VIEW 视图名(列名1) (列名2)
AS SELECT查询
CREATE VIEW作为
创建视图SQL语句的命令关键词
AS关键词
指定Select查询语句的结果集
作为视图
2 视图创建实例
例如
在选课管理系统数据库中
若需要建立一个查看
基础课数据的视图BasicCourseView
其创建SQL语句如下
CREATE VIEW 视图名称 AS
引出SELECT语句
指定目标列
指定表名
给出WHERE子句
3 视图创建SQL语句执行
将创建的SQL语句
提交数据库服务器执行
其操作界面如下
在查询编辑页面中
输入视图创建SQL语句
然后点取“运行”按钮
若该SQL语句正确执行
则该视图被创建成功
返回成功消息
刷新视图目录
将看到该视图对象
当视图在数据库中创建后
用户可以像访问关系表一样
去操作访问视图
例如
使用SELECT语句查询该视图数据
并按课程名称排序输出
其SQL语句如下
SELECT *
FROM 视图名
ORDER BY 课程名
视图查询SQL语句执行
在查询编辑页面中
输入该视图查询SQL语句
然后点取“运行”按钮
若该SQL语句正确执行
则将看到查询的结果集
三、视图删除
当数据库不再需要某视图时
可以在数据库中删除该视图
1 语句基本格式
DROP VIEW 视图名
其中DROP VIEW为删除视图语句的关键词
视图名为将被删除的视图名称
2 视图删除实例
例如 在数据库中
若删除
名称为BasicCourseView的视图对象
其删除该视图的SQL语句如下
DROP VIEW BasicCourseView
将该视图SQL语句
提交数据库服务器执行
见下图界面所示
在查询编辑页面中
输入该视图删除SQL语句
然后点取“运行”按钮
若该SQL语句正确执行
将看到该视图被成功删除
四、SQL视图应用
1 使用视图简化SQL查询操作
数据库开发人员
可以将复杂的SQL查询语句
封装在视图中
外部程序
只需要使用简单的视图访问方式
便可获得所需要的数据
例如 在选课管理系统数据库中
查询选修 数据库系统原理与开发
课程学生名单
这需要关联课程信息表
开课计划表
选课注册信息表
学生信息表
其查询语句如下
该查询语句较复杂
它关联课程表
开课计划表
选课注册表
学生信息表
进行连接查询
并限定查询条件为
数据库系统原理与开发
课程的学生名单
上面这个SQL语句
较复杂和冗长
为了让外部程序简单地实现该信息查询
可以先定义一个名称
为DatabaseCourseView视图
其创建SQL语句如下
视图创建SQL语句执行
将该视图创建SQL语句
提交数据库服务器执行
见下图界面所示
在查询编辑页面中
输入该视图创建SQL语句
然后点取“运行”按钮
若该SQL语句正确执行
则将返回创建视图成功消息
当DatabaseCourseView视图被创建完成后
外部程序就可以通过一个
简单的SELECT语句查询视图数据
其操作语句如下
SELECT * FROM DatabaseCourseView
视图查询SQL语句执行
将该视图查询SQL语句
提交数据库服务器执行
见下图界面所示
在查询编辑页面中
输入该查询SQL语句
然后点取“运行”按钮
若该SQL语句正确执行
将看到视图查询结果集输出数据
视图另一项用途如下
2 使用视图提高数据访问安全性
通过视图可以将数据表中
敏感数据隐藏起来
外部用户无法得知数据表的完整数据
降低数据库被攻击的风险
此外
还可以保护用户隐私数据
例如
在选课管理系统数据库中
除管理部门用户外
其他用户只能浏览教师基本信息
如教师编号、教师姓名
性别、职称、所属学院
教师其他信息需要被隐藏
可以通过视图来处理
其视图创建SQL语句如下
该语句所创建的视图
限定查询教师的基本信息
可避免敏感数据的输出
视图创建SQL语句执行
将该视图创建SQL语句
提交数据库服务器执行
见下图界面所示
在查询编辑页面中
输入视图创建SQL语句
然后点取“运行”按钮
若该SQL语句正确执行
将返回创建成功消息
当BasicTeacherInfoView视图
被创建完成后
外部程序就可以通过一个
简单的SELECT语句查询视图数据
其操作语句如下
SELECT * FROM BasicTeacherInfoView
ORDER BY 所属学院 教师姓名
视图查询SQL语句执行
将该视图查询SQL语句
提交数据库服务器执行
见下图界面所示
在查询编辑页面中
输入查询SQL语句
然后点取“运行”按钮
若该SQL语句正确执行
则将看到视图查询结果集输出数据
视图还有其它用途如下
3 提供一定程度的数据逻辑独立性
通过视图
可以提供一定程度的数据逻辑独立性
当数据表结构发生改变
只要视图结构不变
应用程序就可以不作修改
4 集中展示用户所感兴趣的特定数据
通过视图
可以将部分用户不关心的数据进行过滤
仅仅提供他们所感兴趣的数据
好了
本节学习结束!
-1.1 数据库及其系统概念
-1.2 数据库技术发展
-1.3 数据库应用系统
-1.4 典型数据库管理系统
-1.5 PostgreSQL对象-关系数据库系统软件
-第1章 数据库系统概论--本章单元测试
-2.1 关系及其相关概念
-2.2 关系模型原理
-2.3 PostgreSQL数据库关系操作实践
-第2章 数据库关系模型--本章单元测试
-3.1 SQL语言概述
-3.2 数据定义SQL语句
-3.3 数据操纵SQL语句
-3.4 数据查询SQL语句
-3.5 数据控制SQL语句
-3.6 视图SQL语句
-3.7 PostgreSQL数据库SQL实践
-第3章 数据库操作SQL语言--本章单元测试
-4.1 数据库设计概述
-4.2 E-R模型方法
-4.3 数据库建模设计
-4.4 数据库规范化设计
-4.5 数据库设计模型SQL实现
-4.6 基于Power Designer的数据库设计建模实践
--4.6 基于Power Designer的数据库设计建模实践
-第4章 数据库设计与实现--本章单元测试
-5.1 数据库管理概述
-5.2 事务管理
--5.2 事务管理
-5.3 并发控制
-5.4 安全管理
-5.5 数据库备份与恢复
-5.6 PostgreSQL数据库管理项目实践
-第5章 数据库管理--本章单元测试
-6.1 数据库连接技术
-6.2 数据库存储过程
-6.3 数据库触发器
-6.4 数据库游标
-6.5 嵌入式SQL编程
-第6章 数据库应用编程--本章单元测试
-7.1 NoSQL数据库概述
-7.2 列存储数据库
-7.3 键值对数据库
-7.4 文档型数据库
-7.5 图形数据库
-7.6 HBase数据库项目实践
-第7章 NoSQL数据库技术--本章单元测试
-期末测试--期末测试