模式(Schema)
Schema 表示数据库中的逻辑结构或命名空间,在不同数据库产品里既可能指整体结构,也可能指 database 内部的分层容器。
#type / concept
#status / growing
#tech / dev / backend
#resource / database
#resource / sql
[!info] related notes
模式(Schema)
一句话定义
Schema 是数据库里用来描述结构或划分命名空间的一层逻辑组织。
核心机制 / 工作原理
Schema 这个词有两层常见含义:
- 广义上,它可以指“一套数据结构定义”,例如表、列、类型和约束
- 在 PostgreSQL 里,它还是 database 内部的命名空间,例如
public.users、sales.orders
它的价值在于:
- 给对象分层,避免同名冲突
- 让权限、归属和组织边界更清晰
- 让数据库结构不只是散落的表,而是一套可管理的结构体系
最小例子 / 最小场景
在 PostgreSQL 中:
CREATE SCHEMA sales;
CREATE TABLE sales.orders (
id BIGINT PRIMARY KEY
);
这里 sales 是 schema,orders 是 schema 下面的一张表。
边界与易混淆点
- 在 PostgreSQL 中,schema 和 database 不是一回事;schema 是 database 内部的一层命名空间。
- 在 MySQL 的很多语境里,
SCHEMA和DATABASE常被近似等价使用。 - schema 不只是“建表 SQL 文件”的别名,它表达的是结构边界。