Schema
schema 通常指"结构定义"。
在数据库里,它可能有几层意思:
- 数据库里的命名空间
比如 PostgreSQL 里可以有:
sql
public.users
sales.orders
这里 public、sales 就是 schema,用来组织表。
- 表结构
比如一张users表有哪些字段:
text
users
- id: integer
- name: text
- email: text
- created_at: timestamp
这也可以叫这个表的 schema。
- 数据格式规范
比如 JSON Schema,定义一个 JSON 文件必须有哪些字段、字段类型是什么。
简单理解:schema = 数据长什么样、怎么组织、字段规则是什么。
Manifest
manifest 通常指"清单文件"或"声明文件"。
它不是数据本身,而是说明"有哪些东西、它们在哪里、怎么使用"。
比如一个数据集可能有:
json
{
"files": [
"users.csv",
"orders.csv"
],
"version": "2026-07-30",
"schema": "schema.json"
}
这个文件就可以叫 manifest。
简单理解:manifest = 说明包里/系统里有什么东西的清单。
常见场景:
- 数据集 manifest:列出数据文件
- 应用 manifest:声明应用名字、权限、入口文件
- 插件 manifest:描述插件名称、版本、能力
- 构建 manifest:记录打包后生成了哪些文件
Inventory
inventory 通常指"资产清单"或"盘点结果"。
在数据库或系统里,它可能是:
- 有哪些数据库
- 有哪些表
- 有哪些字段
- 有哪些数据源
- 有哪些文件
- 哪些资源属于哪个项目
比如:
text
Database inventory
- users table
- orders table
- payments table
- logs table
简单理解:inventory = 当前拥有的东西的盘点清单。
它和 manifest 有点像,但侧重点不同:
text
manifest 更像"声明这个包/项目应该包含什么"
inventory 更像"实际盘点现在有哪些东西"
Catalog
catalog 是"目录"。
在数据平台里,data catalog 指数据目录,帮助人查找和理解数据:
text
表名:orders
说明:订单数据
负责人:data-team
字段:order_id, user_id, amount
更新时间:每天凌晨
简单理解:catalog = 可搜索、可管理的数据目录。
Metadata
metadata 是"关于数据的数据"。
比如一张表里的订单记录是数据:
text
order_id = 123
amount = 99.9
而这些信息是 metadata:
text
表名:orders
字段类型:amount 是 decimal
创建时间:2026-07-01
负责人:Alice
数据更新时间:每天一次
简单理解:metadata = 描述数据的信息。
Model
model 在数据库里通常指"数据模型"。
它描述业务对象怎么变成数据结构。
比如电商系统里有:
text
User 用户
Order 订单
Product 商品
Payment 支付
这些对象之间的关系就是数据模型:
text
一个用户可以有多个订单
一个订单可以有多个商品
一个订单对应一次或多次支付
简单理解:model = 业务概念和数据结构之间的设计图。
Entity
entity 是"实体",也就是一个业务对象。
比如:
text
用户 User
订单 Order
商品 Product
公司 Company
发票 Invoice
简单理解:entity = 业务里真实关心的对象。
Table
table 是"表"。
数据库里真正存数据的地方,像 Excel 表格:
text
users 表
id | name | email
---|------|------
1 | Tom | tom@example.com
2 | Amy | amy@example.com
简单理解:table = 一类数据的存储表格。
Column / Field
column 是列,field 是字段。
比如 users 表:
text
id, name, email
这些就是字段/列。
简单理解:column/field = 表里的一个属性。
Record / Row
record 或 row 是一行数据。
text
1 | Tom | tom@example.com
这就是一条 record。
简单理解:record/row = 一条具体数据。
Index
index 是索引,用来加速查询。
比如经常按 email 查用户:
sql
SELECT * FROM users WHERE email = 'tom@example.com';
可以给 email 建索引,让数据库更快找到。
简单理解:index = 数据库的查询加速目录。
Constraint
constraint 是约束,也就是规则。
比如:
text
email 不能为空
id 必须唯一
age 必须大于 0
order.user_id 必须对应一个真实用户
简单理解:constraint = 数据必须遵守的规则。
Migration
migration 是数据库结构变更脚本。
比如你要给 users 表加一个 phone 字段:
sql
ALTER TABLE users ADD COLUMN phone TEXT;
这类变更记录就叫 migration。
简单理解:migration = 数据库结构升级记录。
一句话总结
text
schema = 数据结构和规则
manifest = 声明/清单文件,说明包含什么
inventory = 实际盘点出来的资源清单
catalog = 可查询的数据目录
metadata = 描述数据的数据
model = 数据设计模型
entity = 业务对象
table = 表
column = 字段/列
row = 一条记录
index = 查询加速目录
constraint= 数据规则
migration = 数据库结构变更脚本
如果你刚开始学,可以先记住三个核心关系:
text
schema 说明"数据应该长什么样"
manifest 说明"这个项目/数据包里有什么"
inventory 说明"系统里实际盘点到了什么"