您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 数据模型基本概念及建模方法论
数据模型的基本概念及建模方法论NCR(中国)有限公司数据仓库事业部崔大强技术经理2内容安排数据模型相关术语什么是数据模型建模注意事项数据模型方法论3什么是数据模型?以数学的方式对现实事物的一种抽象表达,…特征:内容:描述了数据、及其之间的关系形式:反映了数据的组织与管理形式用途:(数据仓库)系统建设中的数据信息的蓝图(数据仓库)系统建设的核心业务人员与IT人员沟通的语言和工具4数据模型的分类数据仓库项目中数据模型可以分为以下几种:ConceptualDataModel(CDM)概念数据模型LogicalDataModel(LDM)逻辑数据模型PhysicalDataModel(PDM)物理数据模型ApplicationDataModel(ADM)应用数据模型5概念数据模型ConceptualDataModel(CDM)概念数据模型从全局上、宏观上介绍模型设计思路、范围和内容。主要组成元素主题主题间关系主题中的重要实体实体间的相互关系目标与用途圈定建模的范围划分建设主题理清主要业务关系构造逻辑数据模型的框架6定义:使用逻辑建模语言定义数据与数据之间的逻辑关系以图形化的形式反映客户的业务规则达到数据组织的设计目标逻辑数据模型符号体系设计内容表现形式反映内容设计目标7逻辑数据模型LogicalDataModel(LDM)逻辑数据模型设计人员:业务人员、IT人员设计目标设计蓝图,指导整个数据仓库系统的建设业务语言,业务人员与技术人员沟通的手段和方法业务视图,独立于数据库技术实现设计内容:实体、关系和属性建模方法:3NF的设计方法后续工作:物理数据模型的输入8物理数据模型PhysicalDataModel(PDM)物理数据模型设计目标:面向物理实施的具体细节输入条件继承于逻辑数据模型依赖于所选择的数据库决定于业务需求和性能之间的平衡设计内容数据库、表和字段、索引需要作非正则化处理后续工作:ETL、元数据管理和前端应用输入9应用数据模型ApplicationDataModel(ADM)应用数据模型设计目标满足最终用户对数据的访问(内容、形式要求)满足应用系统对数据的存取(性能、存储要求)主要特征面向PowerUser和业务人员与具体的应用相关多维分析时一般采用星型结构或者雪花状结构的设计方法是事实表和维度表的组合10逻辑数据模型与物理数据模型比较逻辑数据模型物理数据模型包含内容实体、属性表、字段定位记录主键主索引使用名称业务名称物理名称(受限于DBMS)正则化3NF建设可能会按照性能、空间要求进行非正则化冗余数据无冗余数据含冗余数据派生数据无派生数据包含派生数据开发人员业务人员与建模人员物理数据库设计人员11逻辑数据模型在数据仓库中的定位存储和管理采集回答业务问题析取清洗条件剔除家庭关系加载业务系统业务系统业务数据外部数据关系数据库管理系统聚集统计人工智能神经网络多维可视化EIS/DSS电子表对象语言开发企业数据仓库从属数据集市业务人员IT用户数据导入知识发现数据挖掘信息存取工具源数据逻辑数据模型应用数据模型12内容安排数据模型相关术语什么是数据模型建模注意事项数据模型方法论13逻辑数据模型基本术语(一)模型结构第三范式(3NF)结构星型结构(多星型结构)雪花型结构模型分类概念数据模型逻辑数据模型物理数据模型应用数据模型3NF基础数据模型StarSchema汇总数据/已知应用模型Snowflake星型结构的演变14实体独立型实体依赖型实体子类实体主题域层面核心实体关系实体特征实体分类实体逻辑数据模型基本术语(二)15属性:(描述真实或抽象事物相关联的特征或性质)主键(识别实体实例唯一性的属性、属性组)可选键(能识别实体实例唯一性的其他属性、属性组)外键(通过父实体到子实体关系转移到子实体的属性)非键属性(不是实体主键属性的其他属性)基础名(外键的原来名称)角色名(外键的新名称,表明取值是父实体属性的子集)鉴别器(取值决定父实体实例属于哪个子类的属性)逻辑数据模型基本术语(三)16关系二元关系父实体的一个实例严格关系子实体的0,1或多个实例的这种关系是二元关系基数父、子实体实例的比例,如1:1,1:M识别(型)关系子实体实例唯一性的识别与父实体相关联,父实体的主键属性成为子实体的主键属性非识别(型)关系子实体不需要与父实体的关系就可以确定实例唯一性,父实体的主键属性成为子实体的非键属性逻辑数据模型基本术语(四)17关系确定关系父实体的一个实例对应子实体的0、1或多个实例,并且子实体的一个实例对应0或1个父实体的实例非确定关系多对多关系子类关系子类实体和所属父实体的关系完全子类群所属父实体的每个实例都能够与子类群的一个实体实例相关联不完全子类群所属父实体的每个实例不一定都有子类相关联逻辑数据模型基本术语(五)18•LogicalDataModel(LDM)•ExampleEntityKeyAttributeNonkeyAttributeRelationshipCardinalityOne-to-many1:MBusinessRule:•onecustomerinvoiceatleastcontainsoneinvoiceitem逻辑数据模型基本术语(示例)19范式理论NormalForm•关系数据库:原子性•第一范式:•每个属性的值唯一•第二范式:键值依赖非键属性依赖所有的主键属性。(不存在部分键属性就决定的非键属性)•第三范式:完全键值依赖非键属性完全依赖且只依赖与键属性。(不存在非主键属性依赖其他非主键属性的情况)•BCNF•第四范式•第五范式关系数据库理论中对于实体划分、实例(记录)设计的规则TheKEY-1stNormalForm(1NF)TheWHOLEKey-SecondNormalForm(2NF)AndNOTHINGBUTtheKey-ThirdNormalForm(3NF)--E.F.Codd20违反第一范式如果数Quantity属性被定义为“不是与Order相关,就是与Part相关”例如:在OLTP系统中常见的字段复用现象,属此类问题11015221违反第二范式依赖了复合主键的一部分客户经理/地域客户经理编号22违反第三范式依赖了非主键属性(不参与主键的外键属性)23正则化LDM对数据库物理实现的优势•保留了更多的业务关系•更多的主索引选择•最佳的数据分布•更少的全表扫描•更多的连接选择•增强优化器使用更有利于提高性能的合并、聚合连接方法•最佳的数据分离(耦合度)•最佳的底层模型与用户分离•最佳的数据控制•每行更少的字段•最佳的与应用分离•更小的行•最佳的数据块大小•减少临时与永久日志空间•减少物理I/O要考虑正则化对数据库性能的要求24内容安排数据模型相关术语什么是数据模型建模注意事项数据模型方法论25NCR数据仓库实施方法论?规划解决方案支持数据仓库管理(处理流程与操作)物理数据库设计数据转换应用开发数据挖掘服务设计与实现支持与增强解决方案体系结构设计元数据管理数据仓库评估应用增强逻辑数据模型回顾物理数据库回顾性能调整容量规划解决方案集成定制解决方案规划详细数据分析解决方案准备就绪解决方案实施建议现成解决方案规划数据仓库策略开发业务探索业务探索解决方案定义逻辑数据模型设计修改逻辑数据模型验证解决方案数据仓库的循环过程26逻辑数据模型设计步骤Step1:定义业务需求与范围Step2:定义实体Step3:定义关系Step4:定义非键属性Step5:确认模型27Step1:定义业务需求与范围1.确认已经理解全部业务需求•什么困难或问题需要解决?一般情况下这些问题主要关系到增加收入或降低成本等•模型必须能够回答哪些业务问题?•有哪些业务功能必须处理?•有哪些业务限制存在?•是否每一个参与人员都可以共享他们的业务需求?2.决定搜集需求的方法•回顾已经存在的资料(例如现存的报表)•新的业务需求访谈•以上两种混合的方法28Step2:定义实体1.制定初始的实体池(不加区分的实体集合)2.为每一个实体进行定义3.删除超出项目范围的实体4.为剩下的每一个实体定义主键5.为可用的实体编写文档•可选:使用带样本数据的表格形式与用户进行确认•必须:使用ER图制定最终版本的交付材料29Step3:定义关系1.识别实体间的关系2.对于每一个关系•删除超出项目范围的关系•删除间接的关系•为每一个剩余的关系进行定义•识别每一个可用的关系的基数(1:1,1:M,M:M)3.参照完整性•确保每一个关系(PK/FK参照)是完整的、有效的4.为模型中可用的关系编写文档,使用FK定义关系•可选:使用带样本数据的表格形式与用户进行确认•必须:使用ER图制定最终版本的交付材料30Step4:定义非键属性1.识别并定义相关的非键属性2.删除超出项目范围的属性3.根据直觉或经验将剩余的可用属性放入一个表中4.逐一验证每一个可用属性的摆放位置5.为模型中的每一个可用属性编写文档•可选:使用带样本数据的表格形式与用户进行确认•必须:使用ER图制定最终版本的交付材料6.在模型的最终交付文档中添加业务限制条件31Step5:确认模型(1)根据需要重复以上步骤1.多次反复经常是必须的(需求、业务规则、操作的复杂性决定)2.模型中的任何变更都会带来连锁反应,因此需要非常认真的回顾与评审:•实体的变更经常影响关系的定义和属性的位置摆放•关系的变更经常影响属性的位置摆放•属性的位置的变更可能影响其他属性的摆放32Step5:确认模型(2)1.通过回答以下问题,持续地对模型的范围进行验证:•这一模型组件的含义、与业务的关系是什么?•这一模型组件驱动的业务需求是什么?2.对模型是否已经满足所有业务需求、业务问题及限制条件等,进行验证3.绝对不要考虑任何与物理实施相关的问题!4.当所有回答业务需求所必须的数据已经齐备时,停止对模型进行优化33主要任务:转换逻辑数据模型(LDM)为物理数据模型定义主索引、次索引非正规化处理(demoralizations)数据库建立设计优化数据库功能测试使用工具:ERWin交付项目:物理数据模型(PDM)《物理数据模型说明书》《数据库描述语言DDL》物理数据库设计数据仓库管理物理数据模型数据转换应用开发数据挖掘服务系统体系结构设计元数据管理解决方案集成34物理数据模型命名规范序号主题缩写中文1PARTYPAR参与人2OFFEROFR产品策划3FINANCEFIN账务4LOCATIONLOC地理区域5ADVERTISEMENTADT市场营销6EVENTEVT事件7NETWORKNET网络资源8REFERENCECODECDE代码表35内容安排数据模型相关术语什么是数据模型建模注意事项数据模型方法论36建模注意事项划分相应的主题(客户、产品、账户、事件、行销活动、渠道、地理区域)确定主题与主题之间的关系客户购买产品产生账户、使用产品触发事件运营商通过各种渠道、在不同地理区域进行个性化的行销活动确定每个主题中关键的实体和实体间的关系客户主题中:如参与人、个人、组织等实体、以及实体间的关系,参与人由个人和组织组成进入逻辑数据模型,细化概念数据模型设计37建模注意事项定义数据模型的命名规则命名规范意义统一命名,减少歧义防止冗余的实体或属性的产生良好的命名规范有助于业务人员与技术人员间的沟通便于使用逻辑模型实体和属性命名方法实体名:PAR_Party:主题域大写+实体描述词采用全称属性名:AccountNbr:词采用全称,首字母大写,词与词之间使用空格连接38LDM与PDM的区别逻辑数据模型(LDM)内容•业务模型•记录业务规则和关系,•与数据库无关用途:•与业务人员进行沟通和理解的工具•用来确认可以回答业务问题物理数据模型(PDM)内容•数据库模型•表现物理数据属性–数据类型,长度,索引•与数据库相关用途:•支持业务系统
本文标题:数据模型基本概念及建模方法论
链接地址:https://www.777doc.com/doc-5110147 .html