数据模型基本概念及建模方法论ppt课件.ppt

上传人:小飞机 文档编号:1923255 上传时间:2022-12-26 格式:PPT 页数:51 大小:1.45MB
返回 下载 相关 举报
数据模型基本概念及建模方法论ppt课件.ppt_第1页
第1页 / 共51页
数据模型基本概念及建模方法论ppt课件.ppt_第2页
第2页 / 共51页
数据模型基本概念及建模方法论ppt课件.ppt_第3页
第3页 / 共51页
数据模型基本概念及建模方法论ppt课件.ppt_第4页
第4页 / 共51页
数据模型基本概念及建模方法论ppt课件.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《数据模型基本概念及建模方法论ppt课件.ppt》由会员分享,可在线阅读,更多相关《数据模型基本概念及建模方法论ppt课件.ppt(51页珍藏版)》请在三一办公上搜索。

1、数据模型的基本概念及建模方法论,NCR(中国)有限公司数据仓库事业部,崔大强技术经理,2,内容安排,数据模型相关术语,什么是数据模型,建模注意事项,数据模型方法论,3,什么是数据模型?,以数学的方式对现实事物的一种抽象表达, 特征:内容:描述了数据、及其之间的关系形式:反映了数据的组织与管理形式用途:(数据仓库)系统建设中的数据信息的蓝图(数据仓库)系统建设的核心业务人员与IT人员沟通的语言和工具,4,数据模型的分类,数据仓库项目中数据模型可以分为以下几种:Conceptual Data Model (CDM) 概念数据模型Logical Data Model (LDM) 逻辑数据模型Phys

2、ical Data Model(PDM)物理数据模型Application Data Model(ADM)应用数据模型,5,概念数据模型,Conceptual Data Model(CDM)概念数据模型从全局上、宏观上介绍模型设计思路、范围和内容。主要组成元素主题主题间关系主题中的重要实体实体间的相互关系目标与用途圈定建模的范围划分建设主题理清主要业务关系构造逻辑数据模型的框架,6,定义:使用逻辑建模语言定义数据与数据之间的逻辑关系以图形化的形式反映客户的业务规则达到数据组织的设计目标,逻辑数据模型,7,逻辑数据模型,Logical Data Model (LDM) 逻辑数据模型设计人员:业务

3、人员、IT人员设计目标设计蓝图,指导整个数据仓库系统的建设业务语言,业务人员与技术人员沟通的手段和方法业务视图,独立于数据库技术实现设计内容:实体、关系和属性建模方法:3NF的设计方法后续工作:物理数据模型的输入,8,物理数据模型,Physical Data Model(PDM)物理数据模型设计目标:面向物理实施的具体细节输入条件继承于逻辑数据模型依赖于所选择的数据库决定于业务需求和性能之间的平衡设计内容数据库、表和字段、索引需要作非正则化处理后续工作:ETL、元数据管理和前端应用输入,9,应用数据模型,Application Data Model(ADM)应用数据模型设计目标满足最终用户对数

4、据的访问(内容、形式要求)满足应用系统对数据的存取(性能、存储要求)主要特征面向Power User和业务人员与具体的应用相关多维分析时一般采用星型结构或者雪花状结构 的设计方法是事实表和维度表的组合,10,逻辑数据模型与物理数据模型比较,11,逻辑数据模型在数据仓库中的定位,存储和管理,采集,回答业务问题,析取,清洗,条件,剔除,家庭关系,加载,业务系统,业务系统,业务数据,外部数据,关系数据库管理系统,聚集,统计,人工智能,神经网络,多维,可视化,EIS/DSS,电子表,对象语言,开发,企业 数据仓库,从属数据集市,业务人员,IT 用户,数据导入,知识发现 数据挖掘,信息存取 工具,源数据

5、,逻辑数据模型,应用数据模型,12,内容安排,数据模型相关术语,什么是数据模型,建模注意事项,数据模型方法论,13,逻辑数据模型基本术语 (一),模型结构 第三范式(3NF)结构 星型结构(多星型结构)雪花型结构,模型分类概念数据模型逻辑数据模型物理数据模型应用数据模型,3NF基础数据模型,Star Schema,汇总数据/已知应用模型,Snowflake,星型结构的演变,14,实体 独立型实体 依赖型实体 子类实体,主题域层面,核心实体 关系实体 特征实体分类实体,逻辑数据模型基本术语 (二),15,属性: (描述真实或抽象事物相关联的特征或性质) 主键(识别实体实例唯一性的属性、属性组)

6、可选键 (能识别实体实例唯一性的其他属性、属性组)外键(通过父实体到子实体关系转移到子实体的属性)非键属性(不是实体主键属性的其他属性 ) 基础名(外键的原来名称 )角色名 (外键的新名称,表明取值是父实体属性的子集 )鉴别器 (取值决定父实体实例属于哪个子类的属性 ),逻辑数据模型基本术语 (三),16,关系二元关系父实体的一个实例严格关系子实体的0,1或多个实例的这种关系是二元关系 基数父、子实体实例的比例,如1:1,1:M识别(型)关系子实体实例唯一性的识别与父实体相关联,父实体的主键属性成为子实体的主键属性 非识别(型)关系子实体不需要与父实体的关系就可以确定实例唯一性,父实体的主键属

7、性成为子实体的非键属性,逻辑数据模型基本术语 (四),17,关系确定关系父实体的一个实例对应子实体的0、1或多个实例,并且子实体的一个实例对应0或1个父实体的实例 非确定关系多对多关系 子类关系子类实体和所属父实体的关系 完全子类群所属父实体的每个实例都能够与子类群的一个实体实例相关联 不完全子类群所属父实体的每个实例不一定都有子类相关联,逻辑数据模型基本术语 (五),18,Logical Data Model (LDM) Example,Entity,Key Attribute,Nonkey Attribute,Relationship,CardinalityOne-to-many1 : M

8、,Business Rule : one customer invoice at least contains one invoice item,逻辑数据模型基本术语 (示例),19,范式理论 Normal Form,关系数据库:原子性第一范式: 每个属性的值唯一第二范式:键值依赖 非键属性依赖所有的主键属性。(不存在部分键属性就决定的非键属性)第三范式:完全键值依赖 非键属性完全依赖且只依赖与键属性。(不存在非主键属性依赖其他非主键属性的情况)BCNF第四范式第五范式,关系数据库理论中对于实体划分、实例(记录)设计的规则,The KEY - 1st Normal Form (1NF)The

9、WHOLE Key - Second Normal Form (2NF)And NOTHING BUT the Key - Third Normal Form (3NF) - E. F. Codd,20,违反第一范式,如果数Quantity属性被定义为“不是与Order相关,就是与Part相关”,例如:在OLTP系统中常见的字段复用现象,属此类问题,110,152,21,违反第二范式,依赖了复合主键的一部分,客户经理/地域客户经理编号,22,违反第三范式,依赖了非主键属性(不参与主键的外键属性),23,正则化LDM对数据库物理实现的优势,保留了更多的业务关系 更多的主索引选择 最佳的数据分布

10、更少的全表扫描 更多的连接选择 增强优化器使用更有利于提高性能的合并、聚合连接方法 最佳的数据分离(耦合度) 最佳的底层模型与用户分离 最佳的数据控制 每行更少的字段 最佳的与应用分离 更小的行 最佳的数据块大小 减少临时与永久日志空间 减少物理 I/O,要考虑正则化对数据库性能的要求,24,内容安排,数据模型相关术语,什么是数据模型,建模注意事项,数据模型方法论,25,NCR数据仓库实施方法论,26,逻辑数据模型设计步骤,Step 1: 定义业务需求与范围Step 2: 定义实体Step 3: 定义关系Step 4: 定义非键属性Step 5: 确认模型,27,Step 1: 定义业务需求与

11、范围,确认已经理解全部业务需求什么困难或问题需要解决?一般情况下这些问题主要关系到增加收入或降低成本等模型必须能够回答哪些业务问题?有哪些业务功能必须处理?有哪些业务限制存在?是否每一个参与人员都可以共享他们的业务需求?决定搜集需求的方法回顾已经存在的资料(例如现存的报表)新的业务需求访谈以上两种混合的方法,28,Step 2: 定义实体,制定初始的实体池(不加区分的实体集合)为每一个实体进行定义删除超出项目范围的实体为剩下的每一个实体定义主键为可用的实体编写文档可选: 使用带样本数据的表格形式与用户进行确认必须: 使用ER图制定最终版本的交付材料,29,Step 3: 定义关系,识别实体间的

12、关系对于每一个关系删除超出项目范围的关系删除间接的关系为每一个剩余的关系进行定义识别每一个可用的关系的基数 (1:1, 1:M, M:M)参照完整性确保每一个关系(PK/FK参照)是完整的、有效的为模型中可用的关系编写文档,使用FK定义关系可选: 使用带样本数据的表格形式与用户进行确认必须: 使用ER图制定最终版本的交付材料,30,Step 4: 定义非键属性,识别并定义相关的非键属性删除超出项目范围的属性根据直觉或经验将剩余的可用属性放入一个表中逐一验证每一个可用属性的摆放位置为模型中的每一个可用属性编写文档可选: 使用带样本数据的表格形式与用户进行确认必须: 使用ER图制定最终版本的交付材

13、料在模型的最终交付文档中添加业务限制条件,31,Step 5: 确认模型 (1),根据需要重复以上步骤多次反复经常是必须的(需求、业务规则、操作的复杂性决定)模型中的任何变更都会带来连锁反应,因此需要非常认真的回顾与评审:实体的变更经常影响关系的定义和属性的位置摆放关系的变更经常影响属性的位置摆放属性的位置的变更可能影响其他属性的摆放,32,Step 5: 确认模型 (2),通过回答以下问题,持续地对模型的范围进行验证: 这一模型组件的含义、与业务的关系是什么?这一模型组件驱动的业务需求是什么?对模型是否已经满足所有业务需求、业务问题及限制条件等,进行验证绝对不要考虑任何与物理实施相关的问题!

14、当所有回答业务需求所必须的数据已经齐备时,停止对模型进行优化,33,主要任务:转换逻辑数据模型(LDM)为物理数据模型定义主索引、次索引非正规化处理(demoralizations)数据库建立设计优化数据库功能测试使用工具:ERWin交付项目: 物理数据模型(PDM)物理数据模型说明书数据库描述语言DDL,物理数据库设计,数据仓库管理,物理数据模型,数据转换,应用开发,数据挖掘服务,系统体系结构设计,元数据管理,解决方案集成,34,物理数据模型命名规范,35,内容安排,数据模型相关术语,什么是数据模型,建模注意事项,数据模型方法论,36,建模注意事项,划分相应的主题(客户、产品、账户、事件、行

15、销活动、渠道、地理区域)确定主题与主题之间的关系客户购买产品产生账户、使用产品触发事件运营商通过各种渠道、在不同地理区域进行个性化的行销活动确定每个主题中关键的实体和实体间的关系客户主题中:如参与人、个人、组织等实体、以及实体间的关 系,参与人由个人和组织组成进入逻辑数据模型,细化概念数据模型设计,37,建模注意事项,定义数据模型的命名规则命名规范意义统一命名,减少歧义防止冗余的实体或属性的产生良好的命名规范有助于业务人员与技术人员间的沟通便于使用 逻辑模型实体和属性命名方法实体名:PAR_Party:主题域大写实体描述词采用全称属性名:Account Nbr:词采用全称,首字母大写,词与词

16、之间使用空格连接,38,LDM与PDM的区别,逻辑数据模型 (LDM)内容业务模型记录业务规则和关系,与数据库无关用途:与业务人员进行沟通和理解的工具用来确认可以回答业务问题,物理数据模型 (PDM)内容数据库模型表现物理数据属性 数据类型, 长度, 索引与数据库相关用途:支持业务系统运行解决数据存储问题解决应用处理性能问题,39,LDM实现为PDM的条件,LDM业务规则,PDM,软、硬件平台特性,应用开发策略,进行PDM设计必须考虑的因素、缺一不可:,核心业务规则,软、硬件平台个性化,用户、开发商个性化,70%,10%,20%,主要考虑因素,输入内容,影响程度,40,LDM业务规则,PDM,

17、业务规则继承,PDM不应违反LDM中界定的业务规则包括:业务概念相同业务关系相同核心业务要素相同,LDMPDM,41,业务规则继承(举例 ),客户编码ABC,用户编码客户编码XY,业务规则:客户的定义是XXX(实体定义)鉴别客户唯一性的标识为客户编码(主键)客户核心属性包括:A,B,C(属性)一个客户可以拥有多个用户(关系)识别用户所属客户的标识为客户编码(外键),客户,用户,CUST_IDABC,USER_IDCUST_IDXY,CUST,USER,42,软、硬件平台特性,考虑平台特色,PDM应考虑实际数据库平台的特色包括:不同数据库的数据类型、长度不同不同数据库的索引机制不同不同的数据库处

18、理性能不同不同的硬件平台、配置处理性能不同,PDM,LDMPDM,43,考虑平台特色(举例 ),客户编码客户姓名BC,用户编码客户编码XY,客户,用户,CUST_ID Char(8)Cust _Name Char(8)BC ,USER_IDCUST_IDXY,CUST,USER,Cust_ID LongintGuest_Name Char (12)BC,USER_IDCUST_IDXY,CUST,USER,例如:数据类型、长度不同等,44,应用开发策略,考虑应用开发策略,PDM应考虑应用系统的实施策略包括:表的横向分割;表的纵向分割;创建汇总表、临时表;属性冗余;创建主索引(可能与LDM主键不

19、同);,PDM,LDMPDM,45,考虑应用开发策略(举例 ),客户编码客户姓名BC,用户编码客户编码XY,客户,用户,CUST_IDCust _NameB,USER_IDCUST_IDXY,CUST_B,USER,CUST_IDC,CUST_C,横向分表,CUST_IDABC,USER_IDCUST_IDXYA,CUST 1,USER,CUST_IDABC,CUST 2,CUST_IDABC,CUST 3,1类(前1000条),2类(中2000条),3类(后1000条),共3000条,例如:横向表、纵向分表、子类、属性冗余等,46,建模注意事项,设计逻辑数据模型按照ERA设计流程设计逻辑数据

20、模型确定实体Entity定义实体的主键KEY定义部分非键属性Non-Key Attribute定义非唯一属性组,Inversion Entry添加相应的注释内容,47,建模注意事项,设计逻辑数据模型确定实体与实体之间的关系Relationship确定实体间关系属于1:1,1:M还是M:M通过Foreign Key进行体现补充实体的非键值属性Attribute按照3NF的规则,判定每添加的一个属性是否符合3NF的设计原则增加的属性如果违反3NF,确定新的实体和关系添加中文注释部分,48,建模注意事项,物理数据模型设计物理数据模型的输入逻辑数据模型SDA源数据分析非正则化方面的需求,如性能和存储的

21、要求物理数据模型的输出物理数据模型物理数据模型设计说明书生成DDL建表语句作为SDM(源数据对应)的输入,SDM将提供ETL数据转换规则,49,建模注意事项,物理数据模型设计以逻辑数据模型作为输入按照RDBMS的要求对于相应的表和字段进行简写依照物理数据模型命名规范非正则化处理定义索引定义是否允许NULL定义是否可以压缩定义是否大小写敏感定义是否需要分区,50,模型设计的后续工作,模型的验证工作软验证业务案例硬验证业务数据模型设计维护和扩展工作数据模型是不断增强的,可扩展的,但要保证其相对的稳定性前端应用中的多维模型的设计前端应用以及ETL从性能和使用上对于PDM的修改要求业务规则的变化以及新的产品的产生也会对LDM和PDM有修改或者扩展的要求模型设计要考虑今后的可扩展性,以适应新的业务规则和业务需求。,51,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号