谈谈关于枚举类型数据的数据治理

一、背景

不知道大家在IT系统建设过程中,有没有遇到过类似情况。流量明细表,有一个字段是流量入口。这个字段的枚举类型曾经为:00表示app启动弹框,01表示顶部banner,02表示中通广告位。后来这个月重新发版之后,新增了枚举——03表示筛搜广告位。

我们有一张流量统计报表,该报表可能有以下字段,流量入口中文名称、入口点击pv、入口点击uv……

在写这个报表可能会有类似的sql:

select
case when utm_source='00' then 'app启动弹框'
case when utm_source='01' then '顶部banner'
……

sql里可能有一段很长的case when需要维护。一但开发新增了枚举,做为数据rd的你,需要手工维护sql,你的报表没法自动感知数据,你疲于奔命。

二、治理方案

我上面讲的是一个很简单的例子,相信很多开发朋友都知道,需要一张表来维护这个枚举,我们一般称之为码表。

简单聊聊这个码表吧。

这个码表最重要的两个字段是code、code_cn,code存的是“00”,code_cn存的是“app启动弹框”。(我只是举个例子,命名不很优雅)

开发人员在定义枚举之前(如写Java Enum前),需先维护这张码表(很多企业可能会有一个叫元数据管理的模块,在该模块事先维护好相关枚举,并有相关的审核及审批流程)。

如果开发人员提交了Ja

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值