数据表处理规范
增量表
增量表只包含自上次导出后新增的数据,记录每次增加的量,而不是总量。这种表格只报告发生变化的数据,如果没有变化则不需要报告。通常,增量表每天会划分一个分区。
表结构:
订单ID | 客户ID | 商品名称 | 数量 | 订单日期 |
---|
示意数据:
订单ID | 客户ID | 商品名称 | 数量 | 订单日期 |
---|---|---|---|---|
1003 | C001 | 商品C | 3 | 2023-08-02 |
1004 | C003 | 商品D | 2 | 2023-08-02 |
1005 | C002 | 商品E | 1 | 2023-08-03 |
快照表
快照表按日分区,记录截止数据日期的全量数据。
表结构:
订单ID | 客户ID | 商品名称 | 数量 | 订单日期 |
---|
示意数据:
订单ID | 客户ID | 商品名称 | 数量 | 订单日期 |
---|---|---|---|---|
1001 | C001 | 商品A | 2 | 2023-08-01 |
1002 | C002 | 商品B | 1 | 2023-08-01 |
1003 | C001 | 商品C | 3 | 2023-08-02 |
拉链表
在电商的场景中,拉链表常常用于记录客户维度或商品维度的历史变化情况。下面举例说明两种情况:
- 客户维度的拉链表:
假设我们有一个电商平台,记录了客户的基本信息,包括客户ID、姓名、注册日期、和会员等级。客户信息在一段时间内可能发生变化,例如客户可以升级为高级会员或更新个人信息。
客户拉链表结构:
客户ID | 姓名 | 注册日期 | 会员等级 | 生效日期 | 失效日期 |
---|
示意数据:
客户ID | 姓名 | 注册日期 | 会员等级 | 生效日期 | 失效日期 |
---|---|---|---|---|---|
C001 | 张三 | 2023-08-01 | 普通会员 | 2023-08-01 | 2023-08-05 |
C001 | 张三 | 2023-08-01 | 高级会员 | 2023-08-06 | 9999-12-31 |
C002 | 李四 | 2023-08-02 | 普通会员 | 2023-08-02 | 9999-12-31 |
当客户张三从普通会员升级为高级会员时,会新增一条记录,更新之前记录的失效日期为升级发生的前一天。这样就可以记录客户会员等级的历史变化情况。
- 商品维度的拉链表:
假设我们有一个电商平台,记录了商品的基本信息,包括商品ID、商品名称、价格、和上架日期。商品的价格可能会在一段时间内发生变化。
商品拉链表结构:
商品ID | 商品名称 | 价格 | 上架日期 | 生效日期 | 失效日期 |
---|
示意数据:
商品ID | 商品名称 | 价格 | 上架日期 | 生效日期 | 失效日期 |
---|---|---|---|---|---|
1001 | 商品A | 50 | 2023-08-01 | 2023-08-01 | 2023-08-05 |
1001 | 商品A | 55 | 2023-08-06 | 9999-12-31 | |
1002 | 商品B | 60 | 2023-08-01 | 2023-08-01 | 2023-08-03 |
1002 | 商品B | 65 | 2023-08-04 | 9999-12-31 |
当商品A的价格从50变为55时,会新增一条记录,更新之前记录的失效日期为价格变化发生的前一天。这样就可以记录商品价格的历史变化情况。
在电商场景中,拉链表有助于跟踪维度数据的历史变化,方便进行数据分析和报告。