良好的数据库模型设计可以保证数据资产的持久性,可读性,有效性和完整性。

该从哪些方面规范数据模型,提高数据库设计的质量呢?

根据Steve Hoberman的《Data Model Scorecard》,主要几个方面:

1. 模型正确性(模型是否清晰表达了业务逻辑)How well does the model capture the requirements?

由于需求调研不完备,需求理解不充分,项目前期缺乏足够的沟通,以及数据调研准备不足、后期测试不充分等原因。数据模型(尤其是逻辑模型)与实际业务逻辑脱节,在后期使用数据时,需要在数仓或数据中台的数据架构上进行大幅调整。这是为什么标杆企业在企业级数据模型上投入很大。

2. 模型完整度 How complete is the model?

元数据定义和描述不完整,

例如字段constraints限制,参照完整性的定义,是否为空。某个字段的default值,是否有设置。

另外就是表的描述,字段含义的描述等信息,是否提供。

你很难想象下游数据开发和数据应用去理解一个完全没有表定义,字段含义定义有多痛苦。

3. 模型的命名标准遵从度 How well does the model follow naming standards? 表/字段的命名词素必须易于理解的,经典的做法是将企业常用的业务术语及其缩写放在命名词典中(Naming Standard),表/字段的命名必须由命名词典的词素组合而成。很多系统用汉语拼音命名的都比比皆是,下游数据开发和数据应用常常要花80%的时间在翻数据,猜数据,理解和定位可信数据上。Datablau DDM数据建模工具内置4000多条行业通用命名词典。

4. 模型的可读性How well has the model been arranged for readability?

有的团队直接用DDL脚本管理数据字典,也有用Excel,Word管理,基本没有可读性,也无法管理。有ER图的,定义也基本为空的,这种例子比比皆是。另一方面模型管理工具不一致,从PowerDesigner、ERWin,没有统一集中的数据模型库,数据字典散落在各个团队,建模工具也没有版权,存在一定法律风险。

5. 模型里中文名、业务定义的质量 How good are the definitions?

很多项目数据模型和实际数据库schema就是俩东西,字段的含义、表的含义基本靠猜,如果命名规范也没有,那更是猜无可猜。所以,表、字段的中文名称,业务定义是必须有的。

6. 模型的元数据准确性,元数据与实际数据是否匹配 How well does the metadata match the data?

例如,最开始某表/某字段具备一种含义,而开发过程中发现用这表/字段还能干点别的类似的事,然后为了程序不修改,表名和字段名也不改了,直接应用。再例如,原来的表是客户,起名叫CUSTOMER, 里面记录CUSTOMER ID,Name,地址,电话等等,然后发现有的时候,我们的供应商需要的字段差不多,本来应该建个表叫VENDOR,结果为了图省事直接用CUSTOMER表,并且模型里面也不加解释。

7. 模型与企业级数据模型/标准的一致性 How consistent is the model with the enterprise? 企业存在大量存量系统,但却无法知道系统的表/字段与企业级数据模型与标准的映射关系。后面有机会做数据标准化改造,也无法定位和评估。

低质量数据模型的后果

由于企业缺乏对数据模型的管控,造成整个企业都是各个项目有各个项目的标准,但缺乏企业级的标准,这也是数据质量问题最主要的根源。

低质量的数据模型会给企业带来哪些影响呢?

1.  大量修改和重构

尤其是我们提到的没有准确捕获到需求的这种错误。

2.  重复建设

由于低质量的数据模型,造成系统很难可持续的发展,当需要添加新功能时,很难在原有系统基础上添加,只能重做。

3.  知识丢失

模型文档不完备,比如前面提到的缺乏定义之类的问题。这些知识都当时封存在Data Modeler的脑子里,有个经典的段子:三个月之内只有我知道,三个月之后只有上帝知道。而数据仓库项目又经常是经年累月的长期的过程,项目里面的人来的来走的走,知识没法传承。

4.  模型难以理解,下游开发困难

假设你弄一套千八百张表的数据库,然后还不给说明书,你让下游的Data Mart的设计者,报表等应用的设计者怎么进行开发?

5.  高成本

上面说的这些,都会带来高成本,包括项目周期的延长,包括人员的培训,包括开发的周期,错误的增加等等。

6.  数据质量低下

比如你数据仓库这一层模型做的质量低下,你就很难保证下游的Data Mart会正确的使用。也就难保证基于其的报表的数据是正确的。

7.  新业务无法展开

比如你新建一个数据应用,基于主数据的,而主数据的数据质量一塌糊涂,是不是你这个新应用就没法做起来啊。

Datablau DDM模型设计工具内置数据模型设计规范

实时检查和提示不规范的数据模型设计

申请试用,请访问www.datablau.cn 或联系

邮箱:sale@datablau.com

电话:400-6033-738

Datablau Data Modeler简介

DDM(Datablau Data Modeler)是国内首创的专业建模工具,是数据治理体系的重要组成部分。数据模型是“所有系统、文档和流程中包含的所有数据的语境。是生数据的知识。”换句话说,如果没有数据模型,组织IT系统中收集和存储的所有数据都会失去意义,也就没有业务价值。

Datablau简介

北京数语科技有限公司(以下简称“数语科技”)成立于2016年,是专注于数据治理领域的国内自主知识产权的专业软件产品提供商,主要业务是数据治理软件产品的研发与销售。数语科技的创始团队全部来自CA erwin,天然具有世界级水准的软件产品开发能力。

创始人兼CEO王琤:曾任职erwin全球研发总监,拥有超过十年以上数据建模和数据管理的从业经验。

CTO朱金宝:曾任职erwin首席架构师,先后服务多家全球知名企业,并曾全程参与中国建设银行数据治理项目,目前全面负责Datablau软件平台的研发工作和关键项目的实施工作。

数语科技根据DAMA理论和中国国情独立研发Datablau新一代数据治理平台,平台由Datablau DDM数据建模产品和Datablau DAM数据资产管理平台两大部分组成,全部拥有软件著作权和知识产权,一站式全面满足中国企业的数据治理需求。其中数据建模产品DDM是Datablau填补国内空白的重量级产品,帮助中国客户摆脱国外产品的垄断现状。2018年,Datablau数据治理平台通过了中国信息通信研究院严格苛刻的产品评测并获得的“最佳大数据产品”奖。

更多渠道了解我们
官网:www.datablau.cn
关注我们,及时了解数据治理干货

如何规范化数据库模型设计相关推荐

  1. 数据库模型设计PowerDesigner

    Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程.利用Power Designer可以制作数据流程图.概 ...

  2. 学校信息管理系统数据库模型设计

    学校信息管理系统数据库模型设计 一.PD的使用请参考<PowerDesigner的使用> 二.学校表(School) 字段名 数据类型 说明 schoolID int 主键 schoolN ...

  3. 互联网产品初期需求确定与数据库模型设计——基于Visio和Xmind

    很多互联网产品有个共性,就是其业务核心在数据库中,各种客户端包括网页.桌面.手机App,本质上只是将数据库中的数据,按照一定的结构和组织呈现在用户面前. 因此对于一款互联网产品的初期开发,数据库模型的 ...

  4. mysql 多表关联建模_(四)多对多模式 - 数据库模型设计专栏 - CSDN博客

    连载之5 原创:胖子刘(转载请注明出处及作者,谢谢.)(四)多对多模式 多对多模式,也是比较常见的一种数据库设计模式,它所描述的两个对象不分主次.地位对等.互为一对多的关系.对于A表来说,一条记录对应 ...

  5. 数据库模型设计——主键的设计

    在数据库设计时,主要就是对实体和关系的设计,实体表现出来就是表,关系表现出来就是外键.而对于一个表,由两部分组成:主键和属性.主键的简单定义就是表中为每一行数据的唯一标识.其实更准确的说法,每一行数据 ...

  6. 可动态扩展的数据库模型设计

    在通常的数据库设计中,我们定义了每个实体有多少个属性,每个属性的数据类型是什么,有多长,是否允许为空,有什么约束条件等,这些定义是完全静态的,系统创建时就全部定义好,不能动态修改.但是对于实体的属性变 ...

  7. 数据库模型设计——历史表与版本号设计

    在企业数据库设计中,经常会遇到一个需求,就是希望把操作之前的数据保留下来,能够看到操作之前是什么数据,操作之后是什么数据.对于这种需求,我们可以使用保留历史数据或者使用版本来实现. 为了能够保留历史数 ...

  8. 软件工程文档中的数据库模型设计

    背景:软件工程文档之<数据库设计说明书>的结构设计部分要明确规划出数据库的概念结构设计.逻辑结构设计.物理结构设计,就是设计数据库的概念模型.逻辑模型.物理模型,那么,何为数据库的概念模型 ...

  9. java数据库规范化,数据库关系模式规范化

    在教学中,大多实例都是主键由一列构成,所以也可以简单地说主属性与主键没有什么区别. 第三范式的定义:如果关系模式R中的所有非主属性对任何候选关键字都不存在传递依赖,则称关系R是属于第三范式的.记作R ...

  10. [导入]数据库物理模型设计的其他模式之继承模式

    连载之7 原创:胖子刘(转载请注明作者和出处,谢谢) 数据库物理模型设计的其他模式 除了上面提到的四种主要设计模式,还有一些其他模式,在某些项目中可能会用到,在这里先简单做个说明,暂不做深入讨论,等到 ...

最新文章

  1. Linux环境变量说明与配置
  2. 拼音开头有什么字_excel查找函数应用:如何提取姓名的拼音首字母
  3. Linux下清空用户登录记录和命令历史的方法
  4. windows链接Linux的pgsql,postgreSQL在CMD里怎么连接
  5. 业界首发|阿里云重磅发布云原生架构白皮书
  6. 你了解 Assembly.Load 吗?
  7. Android之Toolbar的三个问题:修改左边箭头颜色、怎样修改右边以及子activity中的toolbar添加返回箭头
  8. 用scikit-learn进行LDA降维
  9. 从Mysql中读取数据绑定Grid,然后在全部绑定sql
  10. 记住,TCP是一种流协议
  11. ad18 bell封装_Altium 中异形焊盘异形封装的创建图文教程
  12. curl源码编译安装
  13. RFID入门学习(三次更改)
  14. NameNode作用
  15. 人工智能基础:人工智能云服务(Alaas)介绍
  16. C++中文件后缀的区别:cxx、cpp和txx,c、cc和cpp、hpp和h等
  17. unity通过鼠标滑轮控制物体大小
  18. 【嵌入式开发教程6】手把手教你做平板电脑-触摸屏驱动实验教程
  19. 整车订单管理业务学习(一)
  20. JS手机号码检验正则表达式

热门文章

  1. 360文件管理器android,360文件管理器
  2. centerOS7开启网络服务
  3. Altuim Designer 21学习笔记
  4. GO 语言的GOROOT 和GOPATH
  5. Java学习-32(Java高级特性知识总结)
  6. VDN元宇宙游戏公会|Cool Metaverse首个开放共享式元宇宙平台
  7. 设计系统测试用例时应考虑的类型
  8. 自媒体内容采集工具,采集多个自媒体平台内容
  9. 安川机器人仿真软件安装
  10. MemTest和Memtest86+使用教程