数据库数据视图章节学习笔记一、视图的基本概念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 Server1. 创建视图2. 查询视图视图查询语法和普通数据表完全一致是最常用的视图操作4. 删除视图删除视图仅删除视图的逻辑定义不会删除底层基础表和数据五、视图的更新操作重难点1. 可更新视图条件只有同时满足以下条件的简单视图才能执行INSERT、UPDATE、DELETE操作1. 基于单表创建无多表连接2. 无聚合函数、GROUP BY、DISTINCT、UNION3. 无常量计算字段、子查询4. 视图包含基础表所有非空无默认值的字段新增数据必备。2. 视图更新示例3. 不可更新场景总结1. 视图包含SUM、COUNT、MAX等聚合函数2. 使用GROUP BY分组、DISTINCT去重、ORDER BY排序部分数据库限制3. 多表关联查询创建的视图4. 包含虚拟计算字段的视图。六、视图的典型应用场景1. 数据权限管控管理员创建不同视图普通员工仅可查看业务数据无法查看核心机密字段2. 简化高频复杂查询将月度统计、多表联查、报表查询等重复复杂SQL封装为视图一键查询3. 系统迭代兼容数据库底层表结构重构、字段调整后通过视图适配旧系统查询逻辑保证业务不中断4. 报表数据展示为BI报表、后台统计页面定制专属视图统一报表数据来源。
数据视图学习笔记
数据库数据视图章节学习笔记一、视图的基本概念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 Server1. 创建视图2. 查询视图视图查询语法和普通数据表完全一致是最常用的视图操作4. 删除视图删除视图仅删除视图的逻辑定义不会删除底层基础表和数据五、视图的更新操作重难点1. 可更新视图条件只有同时满足以下条件的简单视图才能执行INSERT、UPDATE、DELETE操作1. 基于单表创建无多表连接2. 无聚合函数、GROUP BY、DISTINCT、UNION3. 无常量计算字段、子查询4. 视图包含基础表所有非空无默认值的字段新增数据必备。2. 视图更新示例3. 不可更新场景总结1. 视图包含SUM、COUNT、MAX等聚合函数2. 使用GROUP BY分组、DISTINCT去重、ORDER BY排序部分数据库限制3. 多表关联查询创建的视图4. 包含虚拟计算字段的视图。六、视图的典型应用场景1. 数据权限管控管理员创建不同视图普通员工仅可查看业务数据无法查看核心机密字段2. 简化高频复杂查询将月度统计、多表联查、报表查询等重复复杂SQL封装为视图一键查询3. 系统迭代兼容数据库底层表结构重构、字段调整后通过视图适配旧系统查询逻辑保证业务不中断4. 报表数据展示为BI报表、后台统计页面定制专属视图统一报表数据来源。