数据库设计规范 V2.0

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

                            数据库设计规范
1  目的

   规范数据库设计。

2  概述

   从数据库的设计原则  设计文档几方面论述数据库设计的规范思想及命名规则。

3  数据库应用结构
  
   根据对一般业务系统的分析,将数据库和程序系统统一进行整体描述,展示数据库的

表之间以及与程序模块间的关系。

   3.1 数据表和程序模块的分类

   根据“处理特点”,将数据表和程序模块进行分类如下:

   数据表分类:业务数据表、基本编码表、辅助编码表、系统信息表、累计数据表、结算数据表、决策数据表。
   程序模块分类:初始化、业务处理、完整性检测与修正、结算处理、统计处理。
   
       3.1.1 数据表分类说明
  
   业务数据表:记录业务发生的过程和结果。如,合同、出仓单、申请单、凭证。
   基本编码表:描述业务实体的基本信息和编码。如,产品、客户、供应商、雇员。
   辅助编码表:描述属性的列表值。如,合同类型、职称、民族、付款方式。
   系统信息表:存放与系统操作、业务控制有关的参数。如,用户信息、权限、用户配
置信息、成本核算方式。
   累计数据表:存放业务的当前值和累计值。如,当前库存、当前存款、累计销售、累
计支出、应收账款。
   结算数据表:存放各个时期末的结存数。如,月末库存、月末银行存款、应收账款月
结。
   决策数据表:存放各个时期内发生的统计值。如,月销售统计、月回款统计、出入库
统计。

       3.1.2 程序模块分类说明

   初始化:系统运行前对系统进行数据的初始化。如,库存初始化。
   业务处理:业务过程的控制和结果记录。如,合同录入、费用审批、出入库。
   完整性检测与修正:对累计数据表进行检查并自动修正。如对当前库存、当前存款、
累计销售的检查和重新计算。
   结算处理:计算并记录各个时期末的结存数。库存月结、应收账款月结。
   统计处理:计算并记录各个时期内发生的统计数。如,统计月销售、统计月回款、统
计出入库。

   3.2 数据表间的关系

   业务数据表<-->基本编码表 主-外键关系。如,合同表<-->客户编码表;
   业务数据表<-->辅助编码表 主-外键关系。如,合同表<-->付款方式;
   业务数据表、累计数据表、结算数据表:累计数据表=结算数据表(上期末) + 业务数
据表(本期内发生)。如当前库存=上月末库存数+(本月入库数-本月出库数);
   决策数据表<-->业务数据表 决策数据表的数据是由业务数据表中数据导出(统计)的;

   3.3 数据表与程序模块间的关系
     
   由一个例子(仓库管理)来说明数据表与程序模块之间的关系:
   . 系统使用前,由初始化模块对库存数(累计数据表)和上月末库存数(结存数据表)进
行初始化;
   . 当有入库业务发生时,由入库模块(业务处理)将入库单录入并保存到入库单明细帐(
业务数据表)中,同时将入库数累加到库存数(累计数据表)中;
   . 定期或不定期,库存数核算模块(检查完整性检测与修正)根据上月末的库存数(结存
数据表)、本月已发生数(业务数据表)检查当前的库存数(累计数据表)是否符合,不符合则给出提示,可手工或自动进行更正(当前库存数=上月末库存数+本月入库数-本月出库数);
   . 每月初,进行上月的月结处理。月结模块(结算处理)根据上月初的库存数(结存数据
表)、上月发生数(业务数据表)计算出上月末的库存数(累计数据表)。公式为:上月末库存数=上月初库存数+上月入库数-上月出库数;
   . 每个月月结后,库存业务月统计模块(统计处理)统计上月的各种库存商品的入库和
出库数,便于查询和生成报表,也作为决策支持的数据基础。

   3.4 数据表命名时对数据表分类的考虑

   . 业务数据表:t_d_<系统标识>_<表标识>。如销售系统的合同表 t_d_SH_Contract 或 t_d_SH_合同;
   . 基本编码表:t_b_[<系统标识>]_<表标识>。如客户编码表t_b_Customer 或 t_b_客
户;
   . 辅助编码表:t_a_[<系统标识>]_<表标识>。如合同类别t_a_ContType 或 t_a_合同
类别;
   . 系统信息表:t_s_[<系统标识>]_<表标识>。如用户表t_s_User 或 t_s_用户;
   . 累计数据表:t_t_<系统标识>_<表标识>。如当前库存表t_t_SO_Stock 或 t_t_SO_

库存;
   . 结算数据表:t_c_<系统标识>_<表标识>。如库存月结表t_c_SO_StockMonth 或
t_c_SO_库存月结;
   . 决策数据表:t_w_<系统标识>_<表标识>。如月销售统计表t_w_SH_SellMonth 或
t_w_SH_月销售统计;
   
   注:[]内的内容表示可选。如“t_s_[<系统标识>]_<表标识>”表示t_s_SH_User 和
t_s_User 都是符合规则的。

4  数据库结构原则
  
   规定除数据库设计所遵循的范式外的一些适用原则,在遵循数据库设计范式的基础上
,合理地划分表,添加状态和控制字段等。

   4.1 辅助编码表

   为了使辅助编码表能起到预期的效能,又不因过多的辅助编码表难以管理,故对辅助编码表的使用作如下规定:

   1. 当某辅助编码表的编码允许用户添加时,应设计成“独立”的数据表;否则,将不允许用户添加编码的各辅助编码表合并成一个“通用”的辅助编码表。
   2. “独立”的辅助编码表与主表的列采用主-外约束保证列数据完整性。
   3. “通用”的辅助编码表与各主表间没有约束关系,主表列的数据完整性由列说明的
“域”来保证。
   4. “通用”的辅助编码表除编码和名称列外,还有一个标识列,用来标识合并前的各
码表,该标识列+编码列作为该表的主键。
   5. 对于“独立”的辅助编码表,用户只可添加新的编码和改变名称,并且不能改变一
个编码所代表的意义;对于“通用”的辅助编码表,原则上不允许用户修改,或只有限地允许修改名称。
  
   4.2 基本编码表

   1. 基本编码表可以有如下的标识列:内编码、外编码、助记码、简称、全称。内编码(唯一编码)作为主键有程序自动生成,用户不可见;外编码(唯一编码)由用户按某种

规则自行定义,用户可见;助记码为拼音缩,方便录入,不唯一,重码时由列表选择;简称用于列表显示和报表,以便缩短行宽。以上的列在实现时可视情况和习惯加以删减。
   2. 当码表的列较多且也行较多时,可将上述的标识列和常用的信息存于一个表,将其
它的信息另表存储。

   4.3 业务数据表

   1. 设有‘录入人’和‘录入日期’列,由系统自动记录。
   2. 记录单据的表中设置“自动单据号”,由两个字符开始以区分单据类型,后跟一数
字序列表示序号。‘自动单据号’由系统自动生成,作为主表的主键,不允许用户修改。当有对应的纸质单据时,设置“单据号”用于记录纸质单据的单据号。
   3. 明细表中设有行序号,自动记录行的录入顺序。
   4. 设置“存档标记”列,用于抽取数据到决策数据库时的更新标记。插入新行或修改
已有行时设置该标记;数据抽取后清除该标记。
   5. 对于用于查询过滤条件的列,不可为空,以免行“丢失”。
   6. 对于数值列,不可为空,“0”作为默认值。
   7. 对于必要的“冗余”列,如客户名称,应有相应的程序保持各“冗余”列的同一性
,以免出现异议。
   8. 设置“过程状态”列和“记录状态”列。过程状态列用于记录如创建、审核、记账
、冲红等状态;记录状态用于记录如有效、删除等状态。
  
5  数据库命名原则

   5.1 表名

   . 业务数据表:t_d_<系统标识>_<表标识>。
   . 基本编码表:t_b_[<系统标识>]_<表标识>。
   . 辅助编码表:t_a_[<系统标识>]_<表标识>。
   . 系统信息表:t_s_[<系统标识>]_<表标识>。
   . 累计数据表:t_t_<系统标识>_<表标识>。
   . 结算数据表:t_c_<系统标识>_<表标识>。
   . 决策数据表:t_w_<系统标识>_<表标识>。

   5.2 视图

   v_<视图类型>_[<系统标识>]_<视图标识>。视图类型参见《表的分类》。

   5.3 存储过程

   p_[<系统标识>]_<存储过程标识>

   5.4 函数

   f_[<系统标识>]_<函数标识>

   5.5 触发器

   tr_<表名>_<i,u,d的任意组合>  (after)
   ti_<表名>_<i,u,d的任意组合>  (instead)

   5.6 自定义数据类型

   ud_<自定义数据类型标识>_<数据类型>

   5.7 Default

   df_<Default标识>

   5.8 Rule

   ru_<Rule标识>

   5.9 主键

   pk_<表名>_<主键标识>

   5.10 外键

   fk_<表名>_<主表名>_<外键标识>

附:

为了描述第一部分清楚,请下载浏览 《数据表分类描述图》

visio格式
http://218.242.185.84/bbs/update/20036/20221827优快云.vsd

图片格式
http://218.242.185.84/bbs/update/20036/20222035优快云.jpg

智能音箱设计规范V1.0 智能音箱设计规范V1.0功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 对Markdown编辑器进行了一些功能拓展与语... 阅读详情

相关推荐

数据库设计开发规范-阿里.pdf

数据库设计开发规范-阿里.pdf

【亲测免费】 数据库设计开发规范-阿里.pdf

数据库设计开发规范-阿里.pdf 【下载地址】数据库设计开发规范-阿里.pdf分享 数据库设计开发规范-阿里.pdf 项目地址: https://gitcode.com/Open-source-documentation-tuto...

gitblog_06607的博客 1046

数据库设计开发规范-阿里.pdf.zip

数据库设计开发规范-阿里.pdf.zip

数据库设计规范V2.0

1  目的   规范数据库设计。2  概述   从数据库的设计原则  设计文档几方面论述数据库设计的规范思想及命名规则。3  数据库应用结构      根据对一般业务系统的分析,将数据库和程序系统统一进行整体描述,展示数据库的表之间以及与程序模块间的关系。   3.1 数据表和程序模块的分类   根据“处理特点”,将数据表和程序模块进行分类如下:   数据表分类:业

辉煌天下 459

数据库设计pdf

数据库设计pdf

数据库设计.pdf

数据库设计 原理 pdf

[转]数据库设计规范V2.0

文章来源:网贝整理1  目的   规范数据库设计。2  概述   从数据库的设计原则  设计文档几方面论述数据库设计的规范思想及命名规则。3  数据库应用结构      根据对一般业务系统的分析,将数据库和程序系统统一进行整体描述,展示数据库的表之间以及与程序模块间的关系。   3.1 数据表和程序模块的分类   根据“处理特点”,将数据表和程序模块进行分类如下:   数据表分类:业务数据表、

支持开源,支持java,支持Linux 2260

数据使用规范-阿里手册

数据库优化高手进阶之路必备,建表规范 、索引规范、查询规范。阿里巴巴Java开发手册

数据库设计规范

数据库设计规范  版本:V2.0 修订文档历史记录:---日期--|---版本--|--说明----2003.6.5   V1.0      文档初搞2003.6.17  V2.0      对1.0 的内容重新整理                               数据库设计规范1  目的    规范数据库设计。 2  概述

1349

仿京东数据库设计v2.0

比较详细的设计文档,有表名,表结构都有详细的描述

数据库设计说明书规范文档

软件开发数据库设计规范文档,列出了文档设计上的大致框架,并有相关说明

蛙蛙推荐:数据库设计规范2.0.doc

标题:数据库设计规范 版本:V2.0 修订文档历史记录:---日期--|---版本--|--说明----2003.6.5   V1.0      文档初搞2003.6.17  V2.0      对1.0 的内容重新整理                               数据库设计规范1  目的    规范数据库设计。 2 

蛙蛙池塘 2335

在Docker中集成GPU监控体系

先上效果图 等文档整理出来再更

tamako0v0的博客 2472

全域电商生态综合服务平台 —— 数据库设计规范(完整版)

approval_status` VARCHAR(20) NOT NULL DEFAULT 'draft' COMMENT '审批状态,关联字典 approval_status。取值:draft-草稿,pending-审批中,approved-已通过,rejected-已驳回,recalled-已撤回',布尔字段 is_{状态} 或 {业务}_flag VARCHAR(10) NOT NULL DEFAULT 'false' 关联字典 yes_no,true-是,false-否。

zgscwxd的博客 231

具身智能ACT模型在lerobot机械臂上的实践与优化

本文详细介绍了如何在低成本lerobot机械臂上实践与优化具身智能ACT模型。从环境搭建、数据采集到模型原理与代码实战,提供了完整的入门指南。重点分享了通过数据增强、混合开源数据集及模型微调等策略,有效提升模型在抓取放置任务中的泛化能力与鲁棒性,为机器人学习爱好者提供了宝贵的实战经验。

weixin_29081703的博客 170

从权限对象到业务角色:把 SAP Authorization Object 讲清楚,并用 ABAP 写对一次 AUTHORITY-CHECK

摘要:SAP权限管理的核心在于Authorization Object(授权对象),它通过组合最多10个授权字段来精确控制用户访问权限。关键要点包括:1) 授权对象与ACTVT字段(如01创建/02修改/03显示)的配合使用;2) ABAP中AUTHORITY-CHECK语句的四种常见返回码(0通过/4字段不匹配/12无权限/40无效用户);3) 系统自动执行的S_TCODE事务码检查;4) 自定义授权对象时应遵循"最少且足够"原则,优先复用标准对象。在RAP和OData场景中,权限检查

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 272
上一篇: 获得当前数据库中对象的依赖关系的算法
下一篇: 从数据库中导出数据库文档
DigJim
博客等级 码龄24年 9粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值