尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

数据视图学习笔记

数据视图学习笔记
📅 发布时间:2026/7/6 1:37:24

数据库数据视图章节学习笔记

一、视图的基本概念

1. 定义

视图(View)是数据库中一种虚拟表,是基于一个或多个基础表(也可基于其他视图)查询结果构建的逻辑数据表。

视图本身不存储真实数据,数据库中仅保存视图的定义(对应的查询SQL语句),所有数据均来源于底层的基础表。当用户查询视图时,数据库会动态执行视图绑定的查询语句,从基础表中实时获取数据。

2. 核心本质

- 物理层面:无独立存储,不占用磁盘数据空间,仅存储视图结构定义;
- 逻辑层面:和普通数据表使用方式一致,支持查询、有限制的增删改操作,可像实体表一样用于日常数据操作。

3. 视图与基础表的区别

对比维度 基础表(实体表) 视图(虚拟表) 数据存储 真实存储数据和表结构 仅存储结构定义,无真实数据
存储空间 占用物理磁盘空间 几乎不占用数据存储空间
数据更新 直接更新,永久生效 依赖底层表,更新视图本质是更新基础表
创建删除 结构删除则数据全部丢失 删除视图仅删除定义,不影响基础表数据
二、视图的核心特点与优缺点

1. 主要特点
1. 数据实时性:视图数据实时同步基础表,基础表数据修改后,视图查询结果自动更新;
2. 逻辑独立性:屏蔽底层表结构细节,简化用户数据操作;
3. 权限安全性:可限制用户仅查看、操作部分字段和数据,实现数据权限分级;
4. 操作便捷性:将复杂多表联查、聚合查询封装为视图,无需重复编写复杂SQL。

2. 优点
1. 简化复杂查询:将多表连接、条件筛选、分组统计等复杂SQL封装为视图,用户直接查询视图即可,大幅降低重复编码工作量;
2. 保障数据安全:针对不同用户开放不同视图,隐藏敏感字段(如身份证、薪资、密码)和核心业务数据,实现精细化数据权限管理;
3. 统一数据展示:固定查询逻辑,统一团队、系统的数据查询标准,避免多人编写SQL导致的查询结果不一致问题;
4. 降低耦合度:底层表结构小幅调整时,可通过修改视图定义适配,无需修改前端业务代码,提升系统可维护性。
3. 缺点
1. 性能损耗:视图无缓存机制,每次查询都要动态执行底层SQL,多层嵌套视图会大幅降低查询效率;
2. 更新局限性:复杂视图(多表查询、含聚合函数、分组、去重)不支持增删改操作,仅简单单表视图可更新;
3. 依赖底层表:视图完全依赖基础表,若底层表被删除、字段修改,视图会直接失效,产生报错。
三、视图的分类

根据查询逻辑和结构特性,视图主要分为两类,也是考试和实操高频考点:
1. 简单视图
- 基于单个基础表创建;
- 不包含聚合函数、GROUP BY分组、DISTINCT去重、连接查询;
- 支持增、删、改、查所有DML操作,数据可同步回写到底层基础表。
2. 复杂视图
- 基于多表连接查询或单表复杂查询创建;
- 包含聚合函数(SUM、COUNT、AVG等)、分组、排序、去重、子查询;
- 仅支持查询操作,不支持增删改数据。
四、视图的SQL操作(通用语法,适配MySQL、SQL Server)
1. 创建视图
2. 查询视图
视图查询语法和普通数据表完全一致,是最常用的视图操作:
4. 删除视图
删除视图仅删除视图的逻辑定义,不会删除底层基础表和数据:
五、视图的更新操作(重难点)

1. 可更新视图条件

只有同时满足以下条件的简单视图,才能执行INSERT、UPDATE、DELETE操作:

1. 基于单表创建,无多表连接;
2. 无聚合函数、GROUP BY、DISTINCT、UNION;
3. 无常量计算字段、子查询;
4. 视图包含基础表所有非空无默认值的字段(新增数据必备)。
2. 视图更新示例
3. 不可更新场景总结
1. 视图包含SUM、COUNT、MAX等聚合函数;
2. 使用GROUP BY分组、DISTINCT去重、ORDER BY排序(部分数据库限制);
3. 多表关联查询创建的视图;
4. 包含虚拟计算字段的视图。
六、视图的典型应用场景
1. 数据权限管控:管理员创建不同视图,普通员工仅可查看业务数据,无法查看核心机密字段;
2. 简化高频复杂查询:将月度统计、多表联查、报表查询等重复复杂SQL封装为视图,一键查询;
3. 系统迭代兼容:数据库底层表结构重构、字段调整后,通过视图适配旧系统查询逻辑,保证业务不中断;
4. 报表数据展示:为BI报表、后台统计页面定制专属视图,统一报表数据来源。

相关新闻

  • 2026最新8款AI编程助手平替实测 覆盖全场景选型参考
  • FLOPs/MACs/MAdds 概念辨析:3个指标在模型评估中的实际差异与选择
  • Snowflake OA亲测:两道题20分钟交卷,全靠提前刷过原题

最新新闻

  • 将ASP.NET MVC 2.0 部署在IIS6和IIS7上的教程
  • MAVProxy架构解析:模块化无人机地面站的技术实现
  • 快速集成文本相似度API:从零开始实现语义匹配
  • 如何快速上手 openeuler/cloudphone_kernel?从环境搭建到首次运行的完整指南
  • 指数分布实战指南:从泊松过程到失效率建模
  • 3步掌握洛雪音乐音源配置:彻底解决多平台音乐资源整合难题

日新闻

  • AI智能体安全防护框架AgentGuard:从原理到实战部署指南
  • KMX63与PIC18F26K40硬件组合及低功耗设计实践
  • 基于YOLO13改进的门体检测模型:C3k2模块与PoolingFormer技术解析

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号