理解Table(表)和View(视图)的区别,核心在于理解“实体存储”与“虚拟逻辑”的关系。 简单来说:Table是仓库,View是窗口。

Table与View的核心区别

特性TableView
定义数据库中存储数据的基本单元基于SQL查询语句创建的虚拟表
物理存储占用物理空间。数据真实地保存在硬盘中不存储数据(除物化视图外)。只保存查询逻辑(Definition)
数据来源数据由用户直接插入(Insert)数据是动态生成的,来源于底层的Table
性能直接读取,速度通常较快(取决于索引)每次查询都需要实时运行背后的SQL,可能稍慢
主要用途存储原始数据简化复杂查询、限制数据访问权限(安全)、格式化数据

为什么更新了Table,View也要修改?

情况A:更新了Table的数据,比如增加了一行数据,View不需要修改代码,它会自动展示最新数据 情况B:更新了Table的结构,比如修改了列名,或者删除了某一列,View可能会报错,因为View的定义是写死的

View的依赖性(Dependency)

View和Table之间存在强依赖关系。

  • 上游(Upstream):Table(被依赖方)
  • 下游(Downstream):View(依赖方) 如果上游的table发生了结构性的改变,下游的view往往因为找不到对应的引用而失效。这在数据库维护中被称为“Breaking Changes”。