一、为什么需要数据字典
在数据分析或数据仓库建设的过程中,我们常常会遇到这样的情况:
-
新人接手项目时,不清楚每个字段的含义;
-
各部门对同一个指标(如 GMV、活跃用户)定义不一致;
-
表结构复杂、字段命名不统一,导致分析时频繁出错。
这些问题最终会造成 数据口径不一致、分析结果不可靠。
而要解决这些痛点,「数据字典」正是最直接、最高效的工具。
二、什么是数据字典(概念与作用)
数据字典(Data Dictionary),顾名思义,就是一份对数据进行说明的“字典”。
它用于记录系统中所有 表、字段、指标及其含义 的详细信息,是理解数据库结构的“地图”。
例如
| 项目 | 说明 |
|---|---|
| 表名 | 用户表(user_info) |
| 字段名 | user_id |
| 字段类型 | INT |
| 含义 | 用户唯一标识 |
| 备注 | 主键,自增 |
一句话概括:
数据字典是数据世界的“说明书”,帮助团队快速理解数据结构与业务含义。
三、数据字典的核心组成
一份完善的数据字典,通常包含以下几个层次:
| 层次 | 内容 | 举例 |
|---|---|---|
| 表级信息 | 表名、业务含义、创建时间、负责人 | user_info 用户基本信息表 |
| 字段信息 | 字段名、类型、是否主键、是否为空、说明 | user_id, VARCHAR, 主键 |
| 指标定义 | 核心业务指标定义 | 日活跃用户 DAU:当天登录过的用户数 |
| 数据口径 | 指标的计算逻辑与口径说明 | GMV:下单金额,不含退款 |
| 维护信息 | 创建人、更新时间 | 张三,2025-10-30 |
四、如何创建数据字典(实战示例)
方法一:SQL 自动生成(适合数据库层)
以 MySQL 为例,我们可以直接通过 information_schema.columns 表生成:
SELECT
TABLE_NAME AS 表名,
COLUMN_NAME AS 字段名,
DATA_TYPE AS 数据类型,
COLUMN_COMMENT AS 字段说明
FROM information_schema.columns
-- 注意这里是数据库名,不是表名
WHERE table_schema = 'your_database_name'
ORDER BY TABLE_NAME;
运行结果导出为 Excel,即可生成一份基础版数据字典。
| 表名 | 字段名 | 数据类型 | 字段说明 |
|---|---|---|---|
| order_cus_sel_geo_wide | customer_city | varchar | |
| order_cus_sel_geo_wide | customer_state | varchar | |
| order_cus_sel_geo_wide | days | int | |
| order_cus_sel_geo_wide | distance_km | double | |
| order_cus_sel_geo_wide | order_id | varchar |
方法二:手动维护(适合分析团队)
在实际工作中,我们也可以使用 Excel / Notion / 飞书表格 来手动维护数据字典,方便灵活更新。
例如
| 表名 | 字段名 | 字段类型 | 含义 | 备注 |
|---|---|---|---|---|
| order_info | order_id | bigint | 订单编号 | 主键 |
| order_info | user_id | bigint | 用户编号 | 外键关联 user_info |
| order_info | gmv | decimal | 订单金额 | 含税金额 |
实例:Olist 电商数据集中的 GMV 数据字典
以我正在分析的 Olist 电商数据 为例,
当我要计算 GMV 时,可以先为相关表构建一份小型数据字典👇
| 表名 | 字段名 | 中文说明 | 数据类型 | 示例值 | 备注(关联/用途) |
|---|---|---|---|---|---|
| orders | order_id | 订单编号 | String | e481f51cbdc54678b7cc49136f2d6af7 | 主键 |
| orders | customer_id | 客户编号 | String | 9ef432eb6251297304e76186b10a928d | 客户分析 |
| orders | order_status | 订单状态 | String | delivered ✅ / shipped ⚠️ / canceled 🚫 ... | 成交口径 GMV(delivered)履约时效(shipped+delivered) |
| orders | order_purchase_timestamp | 购买时间 | date | 2017/10/2 10:56 | 时间维度口径 |
| order_items | order_id | 订单编号 | String | — | 主键,关联 orders |
| order_items | price | 商品价格 | float | 58.9 | GMV 计算用 |
| order_items | freight_value | 运费 | float | 13.29 | GMV 计算用 |
在同一个 Excel 中创建多个工作表(如 GMV 分析、履约分析、复购分析),
即可为不同主题建立独立的数据字典,结构清晰、定义明确。
五、数据字典在团队协作中的价值
数据字典不仅仅是文档,它是数据团队沟通与协作的基石:
-
统一口径:确保所有人对同一指标的定义一致
-
提升效率:新人可快速上手项目,减少沟通成本
-
数据治理基础:为后续的元数据管理、血缘分析打好基础
-
持续迭代:可根据业务变化定期更新,保持数据一致性
数据字典详解与实战指南
12万+

被折叠的 条评论
为什么被折叠?



