新闻资讯

如何规范化数据库模型设计

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


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


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

数据库设计.jpg



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多条行业通用命名词典。

数据库设计.jpg



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模型设计工具内置数据模型设计规范 

数据库设计.jpg

 


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


申请试用,请访问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

关注我们,及时了解数据治理干货

24.jpg

推荐阅读 查看更多