当前位置: 首页 > news >正文

数据库中表和视图的关系

🧩 一、基本概念

1️⃣ 表(Table)

表是数据库中 真实存储数据的结构
每个表都有固定的字段(列)和数据行(记录)。

📦 就像一个 Excel 表格,每个单元格都存有实际数据。

例如:

CREATE TABLE employee ( id INT PRIMARY KEY, name VARCHAR(50), department VARCHAR(30), salary DECIMAL(10,2) );

这个 employee 表中真正保存了员工数据。


2️⃣ 视图(View)

视图是数据库中的一种 虚拟表(virtual table)
不存储实际数据,而是基于一个或多个表的 查询结果

📖 通俗理解:视图就像“表的窗口”或“SQL 查询的结果快照”。

例如:

CREATE VIEW high_salary_emp AS SELECT name, department, salary FROM employee WHERE salary > 10000;

视图 high_salary_emp 只是保存了这条 SQL 的定义。
每次查询它时,数据库都会重新执行这条 SQL,从 employee 表中取数据。


🔗 二、表与视图的关系

对比项表(Table)视图(View)
数据存储✅ 实际存储数据❌ 不存储数据(只存SQL定义)
创建来源直接定义结构基于一个或多个表的查询
更新操作可以直接插入/更新/删除数据一般只读(部分可更新视图除外)
性能查询效率高依赖底层表性能
维护数据结构固定可以灵活抽象和封装复杂查询
应用场景存储业务数据权限控制、数据抽象、统一查询接口

🧠 三、它们之间的逻辑关系图

┌──────────────────┐ │ 数据库表 │ │ employee, dept │ └──────────────────┘ │ ▼ ┌──────────────────┐ │ 视图 │ │ high_salary_emp │ ← 由 employee 派生 └──────────────────┘

✅ 表 → 存数据
✅ 视图 → 取数据时的一种“过滤 / 聚合 / 联合”逻辑层


💡 四、应用举例

📍 示例 1:隐藏敏感字段

比如你不想让普通用户看到员工工资:

CREATE VIEW v_emp_basic AS SELECT id, name, department FROM employee;

普通用户只查 v_emp_basic,不会接触到真实的 salary 数据。


📍 示例 2:简化复杂查询

比如多表联合查询可以封装成视图:

CREATE VIEW v_emp_dept AS SELECT e.name, d.dept_name FROM employee e JOIN department d ON e.department_id = d.id;

以后直接 SELECT * FROM v_emp_dept; 就行,不用每次写 JOIN。


📍 示例 3:权限控制

  • DBA 给普通用户只授予 SELECT 某个视图的权限;

  • 不允许其访问底层真实表,提升安全性。


🧭 五、小结

特性视图
是否存数据✅ 是❌ 否
定义方式CREATE TABLECREATE VIEW AS SELECT ...
是否可以修改数据✅ 是⚠️ 视情况
用途存储真实业务数据提供虚拟查询层、隐藏复杂逻辑
关系视图依赖表表是视图的数据来源


👉 一句话总结:

表是真实的数据仓库,
视图是从表中“取出部分或加工后”展示的数据窗口。

http://www.dtcms.com/a/498886.html

相关文章:

  • 优先级队列的学习(二)
  • 内部排序——一文速通
  • 数据结构——东方财富掘金量化速成学习(python)
  • 做网站商城项目的流程深圳专业网站设计哪家好
  • 【招聘】-音视频行业企业的招聘分析
  • css word属性
  • 晋中网站seo芯火信息做网站怎么样
  • Orleans 流系统握手机制时序图
  • 【C + +】异常处理:深度解析与实战
  • 《从理论到实践:红黑树的自平衡机制与C++高效实现指南》
  • 将iOS/macOS应用上架至App Store
  • 海南做网站电话如今做哪个网站能致富
  • 数据结构——栈在递归中的应用
  • java.net 包详解
  • Three.js光照技术详解:为3D场景注入灵魂
  • 企业门户网站系统下载网店平台
  • 监听指定事件然后触发鼠标点击操作等,智能文本识别按键工具的使用教程
  • connect 的断线重连
  • wp-config.php文件是什么
  • 编译esp-idf小智报错
  • 微信小程序开发踩坑记:从AI工具翻车到找到合适方案
  • 《3D植被建模痛点解决:开放世界层级实例化+GPU批处理优化方案》
  • openharmony之分布式蓝牙实现多功能场景设备协同实战
  • Linux ARM 程序启动全链路解析:从 shell 到 main(含动态/静态链接)
  • 具身智能黑客松之旅002
  • 免费发布产品网站网站权重能带来什么作用
  • 碰一碰发视频 系统源码 /PHP 语言开发方案
  • 网站大学报名官网入口网站插件代码下载
  • Cors能干什么?为什么需要它?
  • 远程办公自由:rdesktop+cpolar让Windows桌面随身而行