数据分类与数据模型
最近几年太忙了,一直没时间写博客,希望开始写,主要是数据方面的,今天先说说数据分类和数据模型。
主数据:主数据是指组织里的人,地点和事务。比如:客户,供应商,产品,设备等。一般这种数据会跨越多个业务流程多信息系统共享。
参考数据:就是我们常说的代码表,编程里的枚举,比如国家代码,性别,会计科目,订单的状态,像国家代码,会计,性别这些是非组织所特有,而像订单状态,可能每个组织都不一样,和自己业务相关。
交易数据:组织用来记录主数据之间发生的业务事件,比如客户购买产品行为,是发生在客户和产品之间的购买业务事件,典型的交易数据,比如订单,货运单,采购订单,申请单等。
元数据:元数据又称“数据的数据”,一种是技术元数据,比如表名,字段,长度,类型,用来描述数据模型;一种是业务元数据,用来描述数据处理过程,比如ETL过程,用来描述有哪些报表可以使用的报表元数据。
下面说说数据模型,什么是数据模型呢?人们习惯于依赖模型获取对事物的直观的理解。常见的对数据模型按照描述详细程度分为三种,分别是概念数据模型,逻辑数据模型,以及物理数据模型。
概念数据模型:粗粒度的描述概念和概念之间的关系。一个普通电子商务网站的核心概念,就是客户,商品,订单,物流商。概念数据模型并不包含字段。
逻辑数据模型:逻辑数据模型不仅包含概念,而且细化了数据,要详细描述实体的字段。逻辑模型是严格三范式以上的,逻辑数据模型能将数据的本质关联关系表达清楚。
物理数据模型:这个时候,物理数据模型就是特定平台了,比如oracle,mysql,字段类型是什么,逻辑模型里的字段都会在物理模型中找到,物理模型也会添加和业务本身没关,但跟应用处理相关的,比如创建时间,修改时间。同样物理模型也要考虑性能问题,考虑所以该如何建立。
概念理解不清楚,可能会导致逻辑模型不清晰,业务发展时,物理模型会发生很大的改动,比如“渠道”这个概念,一开始理解:“渠道就是订单从哪里创建的”,设计的时候就在订单表里加了一个渠道字段,后来发现,一个订单可能来自多个渠道,因为渠道可能有多级代理商,这个时候一个渠道字段就无法记录了,导致模型扩展非常困难。