俗话说,无规矩不成方圆,在数据开发领域同样也是适用的。
是不是经常听到这样的抱怨:
我擦,这张表怎么特么的注释都没有?
我日,这个字段命名怎么是拼音全称?
怎么这张表的订单id是string类型,那张表的是订单id是bigint类型?
这是谁开发的任务,库名/项目名都没写,我这去其他项目下跑还得一个个加上。
这代码谁写的?2张表join获取相关字段,也不写一下表的别名,我哪知道这是这是取自哪张表的 ?还要老子一个个去查?
运维任务又报错了?这是谁写的select * ,union all呀,害死人,上游表加字段了,这搞的,sql boy连sql都写不好吗?

一 词根
词根的作用就是大家在对字段,表,指标等命名的时候作为查询使用,需要陆续完善
中文名 | 英文 | 评审时间 | 负责人 |
数量 | cnt | 20210816 | 数据研发工程师 |
二 词典
词典比词根更近一步,大家在对字段命名的时候,首先可以参考词典,以及可以参考其字段类型,使各个开发对同一个中文的字段命名及类型全部一致,需要陆续完善。
中文名 | 英文名 | 字段类型 | 评审时间 | 负责人 |
订单id | order_id | String | 20210816 | 数据研发工程师 |
三 命名规范
表命名
ods层
dwd层
dim层
dws层
ads层
临时表
手工表
表命名一般需要加入一及数据域,二级数据域,所以最开始需要划分数据域/主题域
然后详细的命名方式,根据每家公司有所不同
任务命名
一般情况下,任务名与输出表名一致
字段命名
参考 词根,词典
指标命名
略,之后讲指标平台的时候详细讲
四 ddl规范
需不需要加生命周期
需不需要加创建人,创建时间
ddl语句需不需要单独维护
五 sql编写规范
关于缩进,大小写,空格,注释啥的细节就不说了,讲一下重点
多表关联时,需要使用别名来引用列 如:t1.user_id
表名前面需要加上库名/项目名,如 ods.test
不要出现select * 操作

点个关注,防止迷路




