数据库设计规范

数据仓库设计规范文档 数据仓库设计规范文档 版本 更新内容 备注 v1.0 创建文档 2020-08-11 一. 数仓建设 1.1. 数据模型架构规范 分层是为了解决 ETL 任务及工作流的组织、数据的流向、读写权限的控制、不同需求的满足等各类问题。 总体来说,数仓划分为操作数据层、数据仓库层和数据集市层三部分 数据层次的划分 ODS:Operational Data Store,操作数据层,在结构上其与源系统的增量或者全量数据基本保持一致。它相当于一个数据准备区,同时又承担着基础数据的记录以及历史变化。 阅读详情

Mysql数据库设计规范

  1. 数据库名、表名和字段名使用小写字母和阿拉伯数字,单词不能以数字开头,所有单词不使用复数名词,单词间用下划线(_)连接,禁用数据库保留字作为表中的字段名,如:desc,name,time,datetime,password等。
  2. 主键命名为id,若无主键必须添加id自增字段,数据类型为bigint(20) unsigned,其它字段如created_at,expired_at,updated_at根据需求选用,数据类型为int(10) unsigned,保存UTC时间。
  3. 如果主键在业务上需要暴露,则需要添加uuid字段,类型为char(36),必须建唯一索引,代替id暴露在外,不允许自增id暴露在外。
  4. 外键命名规则为{表名_id},例如关联表foo的id字段,则字段名为foo_id,禁止使用mysql的外键关联声明foreign key,关联关系请在业务层处理。
  5. 任何时候不使用软删除代替物理删除,如果某张表A需要物理删除记录,先SELECT后编码(json、序列化等)保存到指定备份表,再DELETE。
  6. 保存时间值的字段只允许使用int(10) unsigned类型,IP保存为bigint(20),手机号码保存为char(11),保存手机最好同时添加手机地域字段(+86等)。
  7. 保存bool值的字段使用(is_)作为字段前缀,0代表false,1代表true,数据类型为tinyint(1) unsigned。
  8. 除了id,uuid,created_at,expired_at,updated_at等约定的字段可以不用添加注释外,要有表注释和字段注释。
  9. 每个字段属性都为NOT NULL,使用默认0值或空字符串值填充代表null。
  10. enum使用tinyint(4)代替,float、double使用decimal代替。
  11. char,varchar字段,保存表情要用utf8mb4编码,用户名之类的字段不区分大小写,定长字符串使用char(例如uuid,哈希值,手机号码等)。
数据仓库设计规范 ○ 指标相关: 区分是否可累加指标,比如pv 为可累加指标「尽量控制在15个以内」,uv不可累加指标「尽量控制在5个以内,因为不可累加的指标需要按cube来组合运算」,不算衍生指标。○ 该层为维度数据,维度是对具体分析对象的分析角度,维度要具备丰富的属性,历史信息的可追溯性,对通用的维表要保持一致性,避免维度二义性。○ 按业务主题组织高度汇总数据,产出通用的指标数据,统一指标计算口径和方法,避免指标冗余计算导致数据不一致。○ 该层接收来源不同源的数据,主要分流量日志,业务日志,业务数据,API第三方数据。 阅读详情

相关推荐

逆向实战:我是如何一步步解开美团外卖App的mtgsig3.0签名(附关键代码片段)

本文详细记录了逆向分析美团外卖App的mtgsig3.0签名算法的全过程,从抓包到算法还原,包括Java层和Native层的深度分析。通过Frida、IDA Pro等工具,揭示了签名生成的多层加密流程,并提供了关键代码片段。文章还探讨了逆向工程中的反调试对抗和签名时效性问题,为安全研究人员提供了宝贵的技术参考。

weixin_42530732的博客 873

Mysql中数据库表的名称可否为纯数字?

可以,举例建表如下: CREATE TABLE if not exists 111111 (Date date, High float, Low float, Open float,Close float, Volume int, AdjClose float) 注意:sql语句中提及该表的时候要用到键盘“!”前的“·”字符。

weixin_44754632的博客 5481

ABAP ALV编辑后触发事件

1.FUNCTION ALV在it_events的参数中,写入对应的事件。2.OO ALV和FUNCTION ALV都可以,注册当前ALV的事件,对应的事件需要创建对象去实现。下面代码中,实现的是第一种,在it_events中写入事件。下面的代码是通过创建对象去实现ALV事件。

a86632678的博客 3852

数据库表字段命名规范

数据库表字段命名规范 很好的一篇文章给出连接,大家多品味下:   数据库表字段命名规范   我需要的注意的点: 一. 数据库命名规范 采用大小写字母、0-9数字、_、三部分来建库 二. 表命名规范 采用大小写字母、0-9数字、_、三部分 全部小写,禁止大写 不要使用数据库关键字建表 如:order 用单数形式表示名称 如:使用employee 而不是employe...

厚积薄发 3747

Halcon 3D点云匹配实战:从预处理到模板创建的完整流程(附代码)

本文详细介绍了Halcon在3D点云匹配中的实战应用,涵盖从预处理到模板创建的完整流程。通过代码示例和实用技巧,帮助开发者掌握点云采样、降噪、三角化等关键技术,并优化匹配参数以提高精度和效率。适用于工业检测、机器人引导等领域。

weixin_33670786的博客 433

VS2022离线安装总闪退?可能是这个--noWeb参数没加对(完整参数指南)

本文深入解析了VS2022离线安装过程中常见的闪退问题,指出核心原因往往在于命令行参数使用不当,特别是`--noWeb`参数。文章提供了完整的参数使用指南和实战解决方案,包括证书处理、安装器文件修复及自动化脚本,帮助用户彻底解决离线部署中的验证失败与闪退难题。

weixin_28842269的博客 758

阿里巴巴JAVA编程规范之MYSQL规约

(一)建表规约 1.【强制】表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsignedtinyint (1表示是,0表示否),此规则同样适用于odps建表。 说明:任何字段如果为非负数,必须是unsigned。 2.【强制】表名、字段名必须使用小写字母或数字;禁止出现数字开头,禁止两个下划线中间只 出现数字。数据库字段名的修改代价很大,因为...

diaozhi9211的博客 778

AI赋能软件测试:从冒烟测试到全流程智能化的效率革命

软件测试是确保软件质量的关键环节,其核心原理是通过预设用例验证系统功能是否符合预期。传统测试方法依赖人工编写和维护脚本,面临维护成本高、适应性差等挑战。随着人工智能技术的发展,特别是自然语言处理和计算机视觉的成熟,AI为测试领域带来了新的技术价值。通过让AI理解应用界面和业务逻辑,可以实现测试用例的智能生成、自主执行和结果分析,显著提升测试效率和覆盖率。在实际应用场景中,AI驱动的冒烟测试能够动态适应UI变化,自动分析失败日志,将测试人员从重复劳动中解放出来,专注于更复杂的质量策略设计。本文基于AI在冒烟测

weixin_28841265的博客 308

mysql数据库中数据库、表、字段命名问题

mysql数据库中数据库、表、字段命名问题

weixin_42369566的博客 1933

AI Agent在保险行业落地:从智能客服到核保理赔的实践路径

AI Agent作为大模型技术的核心应用形态,正从通用对话走向垂直行业深度落地。其本质是让机器理解自然语言、处理非结构化文档,并在复杂业务流程中辅助人类完成信息抽取、内容生成与多轮交互。在保险这一强监管、高客单价的行业中,智能客服与销售助手率先验证了降本增效的价值,核保与理赔环节则进一步展示了AI在文档理解与风控辅助上的高价值潜力。从技术原理到商业闭环,垂直场景正在成为AI应用的主战场。本文以保险行业为样本,剖析AI Agent如何嵌入真实业务流程,梳理可复用的三阶段落地路径,为企业在医疗、金融等类似高文本

weixin_29039773的博客 366

软件测试面试题之易错题

(1)白盒测试:又称功能功能 测试、数据驱动测试和行为测试,是一种从用户观点出发的测试,被测程序为黑盒子, 通过测试来检测每个功能是否能够正常使用。(2)黑盒测试:又称结构测试和逻辑驱动 测试,是知道产品内部工作过程,通过测试来检测产品内部动作是否按照规格说明书 的规定去正常运行。(1)、测试需求分析;(2)动态白盒测试:需要对各个模块功能、模块间的接口、局部数据结构、主要执行路径、 错误处理等方面的测试。(2) 集成测试所测试的对象是模块间的接口,其目的是在找出在模块接口上面,包括整体体系结构上的问题;

m0_37449634的博客 679

数据库设计规范(详细)

数据规范化设计 一、数据规范化   仅有好的RDBMS并不足以避免数据冗余,必须在数据库的设计中创建好的表结构 Dr E.F.codd 最初定义了规范化的三个级别,范式是具有最小冗余的表结构 这些范式是: 1、第一范式(1st NF -First Normal Fromate) 2、第二范式(2nd NF-Second Normal Fromate) 3、 第三范式(3rd NF- Third Normal Fromate) 第一范式 (1st NF): 第一范式的目标是确保每列的原子性 如果每列都

大佬云集技术答疑交流群:743262921(进群暗号:222) 1万+

GEE:提取研究区 NDVI/LST/RVI 并进行时间序列线性插值填补缺失像素和Savitsky-Golay(SG)滤波平滑处理

养乐多_本文将介绍使用Landsat数据集,构建时间序列,并使用线性插值算法填补缺失数据,或者去云空洞,并进一步对完整的时间序列数据进行SG滤波处理。

养乐多的博客 3197

银行数据仓库数据模型设计规范:让数据管理更高效

银行数据仓库数据模型设计规范:让数据管理更高效 【下载地址】银行数据仓库数据模型设计规范 本开源项目深入解析银行数据仓库的数据模型设计规范,提供从概念模型到物理模型的完整设计指南。概念模型阶段聚焦主题划分,帮助清晰组织数据;逻辑模型阶段细化主题,归纳总结关键数据点;物理模型阶段则实现逻辑结构,涵盖表命名、字段类型等细节。...

gitblog_06761的博客 1165

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

数据结构(数据库)设计规范

为什么80%的码农都做不了架构师?>>> ...

weixin_34152820的博客 2135

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

银行数据仓库数据模型设计规范

银行数据仓库数据模型设计规范 【下载地址】银行数据仓库数据模型设计规范 本开源项目深入解析银行数据仓库的数据模型设计规范,提供从概念模型到物理模型的完整设计指南。概念模型阶段聚焦主题划分,帮助清晰组织数据;逻辑模型阶段细化主题,归纳总结关键数据点;物理模型阶段则实现逻辑结构,涵盖表命名、字段类型等细节。通过这份规范,您将...

gitblog_06775的博客 491

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

常用数据库设计规范总结

数据库设计规范: 一 命名规范: 1、所有数据库对象名称必须使用小写字母并用下划线分割 2、所有数据库对象名称禁止使用MySQL保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 3、数据库对象的命名要做到见名识意,并且最好不超过32个字符 4、临时表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀 5、所有存储相同数据的列名和列类型必须一致 二:数据库基本设计规范 1、所有表必须使用Innodb存储引擎(MySQL5.5之前默认使用MyIsam,5.6以

shassd的博客 3066

DB 设计规范汇总

数据库命名规范 1、数据库名称全部使用小写; 2、名称只允许使用a-z、0-9及下划线的组合,不允许出现其他字符; 3、使用有意义的名称,能做到观其名知其意,比如:order_db; 4、年份固定格式为YYYY四位;月份固定为MM两位; 5、如果按百库十表方案分库,则名称为标准库名+下划线+编号后缀,其中编号长度固定为2位,取值范围从00到99,如order_db_00……order_db_99; 6、如果按照月份分库,则库名为标准库名+下划线+年月编号,其中年月格式为YYYYMM,固定6位长度,如ord

闲狗的博客 1820

数据仓库设计规范(更新中)

文章目录设计规范逻辑架构技术架构分层设计主题划分分级管理命名规范层级任务表字段模型规范建模方法建模工具血缘关系维度退化元数据管理开发规范脚本注释字段别名脚本格式流程规范 设计规范 逻辑架构 数据采集 数据存储 数据计算 数据展现 技术架构 数据采集→Kafka→hdfs→Flink→HBase 分层设计 ods→dw→dws→sh→ 主题划分 面向主题域管理 为了提高指标管理的效率,你需要按照业务线,主题域,和业务过程三级目录方式来进行指标管理 划分原子指标和派生指标 原子指标+原子指标=派生指

数据飓风 1834

MongoDB数据库的设计规范

MongoDB是非关系型数据库的典型代表,DB-Engines Ranking 数据显示,近年来,MongoDB在NoSQL领域一直独占鳌头。MongoDB是为快速开发互联网应用 而设计的数据库系统,其数据模型和持久化策略就是为了构建高读/写的性能,并且可以方面的弹性拓展。

hongjian006的博客 967

数据库设计规范,我的数据库我做主

从数据库理论的抽象角度看,数据库设计是指对于一个给定的应用环境,构造出某种数据库管理系统支持的优化的数据库模式,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求(包括信息管理要求和数据处理要求)在数据库表设计中,虽然没有固定的规定,但可以根据广泛接受的数据库设计原则和最佳实践来总结出一些关键规定。这些规定涵盖了从命名约定到性能优化的各个方面,遵循这些规定可以帮助您创建一个结构良好、高效和易于维护的数据库。

我哎GIS博客 2559

【MySQL】数据库设计规范

范式和反范式

Yes_water的博客 448

1.数据仓库模型设计规范

从数据的时间跨度来说,通常是DWD层的一部分,主要的目的是为了满足用户分析的需求,而从分析的角度来说,用户通常只需要分析近几年(如近三年的数据)的即可。同时也可以用于少量的、且对刷新时间不是非常敏感的指标统计需要,比如交易的关闭和发货,在当前事务型事实表不支持,且只有少量的统计指标,可以基于累计快照事实表计算。事务事实表记录的事务层面的事实,保存的是最原子的数据,也称“原子事实表”。属于数据的公共层建设。周期快照事实表的粒度是每个时间段一条记录,通常比事务事实表的粒度要粗,是在事务事实表之上建立的聚集表。

HelloWowofei的博客 541
上一篇: 移动端web开发总结(自适应)
下一篇: CentOS7 安装composer
小Z笔记
博客等级 码龄9年 11粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值