引言
数据表示模式:
关系模式、
多为模式、
面向对象模式、
事实模式、
时间序列模式、
NoSQL模式。
按描述详细程度(每种模式):
概念模型、
逻辑模型、
物理模型。
每种模型包含组件:
实体、
关系、
事实、
键、
属性。
业务驱动因素
数据模型对数据管理的重要性:
1)提供有关数据的通用词汇表。
2)获取、记录组织内数据和系统的详细信息。
3)在项目中作为主要的交流沟通工具。
4)提供应用定制、整合、替换起点。
目标和原则
确认、记录不同视角的理解有助于:
1)格式化。
2)范围定义。
3)知识保留记录。
基本概念
1.数据建模和数据模型
数据建模,系统开发生命周期(SDLC):
1)最常用在系统开发、系统维护。
2)描述组织已经理解、未来需要的数据。
2.建模数据类型
主要类型数据,静态数据:
1)类别信息category information
2)资源信息resource information
3)业务事件信息business event information
4)详细交易信息detail transaction information
动态数据:系统方案
3.数据模型组件
(1)实体entity:有别于其他事物的一个事物。
高质量数据特征:
1)清晰clarity
2)准确accuracy
3)完整completeness
(2)关系relationship:实体之间的关联。
(3)属性attribute:定义、描述、度量实体某方面的性质。
1)属性的图形表示。
实体矩形内的列表。
2)标识符identifiers
键的结构类型:单一键simple key;组合键compound key;复合键composite key。
键的功能类型:超键super key;主键primary key;备用键alternate key。
(4)域domain:代表某一属性可被赋予的全部可能取值。
域,提供一种将属性特征标准化的方法。
定义方式:
1)数据类型data type
2)数据格式data format
3)列表list
4)范围range
5)基于规则rule-based
4.数据建模方法
六种常见数据建模方法:
(1)关系建模relational
表示法,表达实体间的关系:
信息工程法IE、
信息建模集成定义IDEF1X、
巴克表示法Barker、
陈氏表示法Chen。
(2)维度建模dimensional
1)事实表fact table
2)维度表dimension table
渐变类维度,根据变化的速率和类型。
3种主要变化类型,ORC:
覆盖overwrite,新值覆盖旧值。
新行new row,新值写在新行,旧行标记为非当前值。
新列new column。
3)雪花模型snowflaking
将星型模式中的平面、单表、维度结构规范为相应的组件层次/网络结构。
4)粒度grain
事实表中的单行数据的含义/描述,每行最详细信息。
维度建模关键步骤之一,定义一个事实表中的粒度。
5)一致性维度conformed dimensions
6)一致性 事实conformed facts
(3)面向对象建模object-oriented,统一建模语言UML
图形风格建模语言。
(4)基于事实建模fact-based modeling,FBM
(5)基于时间的数据模型time-based
1)数据拱顶data vault
2)锚建模anchor model
(6)非关系型数据库NoSQL
1)文档数据库document databases
2)键值数据库kay-value databases
3)列数据库column-oriented databases
4)图数据库graph databases
5.数据模型级别
(1)概念数据模型conceptual data model,CDM
(2)逻辑数据模型logical data model,LDM
(3)物理数据模型physical data model,PDM
一种详细技术解决方案。
以逻辑数据模型为基础 。
与某类系统硬件、软件、网络工具相匹配。
与特定技术相关。
1)规范模型canonical model
2)视图views
3)分区partitioning
垂直分割、
水平分割。
4)逆规范化denormalization
折叠collapsing、合并combining。
星型模式star schema:每个维度都被折叠成一个结构。
雪花snowflake:维度没有折叠。
6.规范化normalization 7.抽象化abstraction
活动
规划数据建模
数据建模工作交付成果:
1)图表diagram
2)定义definitions
3)争议、悬而未决的问题issues and outstanding questions
4)血缘关系lineage
建立数据模型
1.正向工程
(1)概念数据模型建模
(2)逻辑数据模型建模
1)分析信息需求
2)分析现有文档
3)添加关联实体
4)添加属性
5)指定域
6)指定键:分配给实体的属性,键属性
(3)物理数据建模:修改调整逻辑数据模型
1)解决逻辑抽象
1.子类型吸收subtype absorption
2.超类型分区supertype partition
2)添加属性细节
3)添加参考数据对象
4)指定代理键
5)逆规范化
6)建立索引:用于访问数据库数据的过程中优化查询
7)分区
8)创建视图:用于控制对某些数据元素的访问
2. 逆向工程
直接产物:物理模型
审核数据模型
维护数据模型
工具
数据建模工具
数据血缘工具
数据分析工具
元数据资料库
数据模型模式
行业数据模型
方法
命名约定的最佳实践
名称,唯一且具有描述性。
逻辑名称,对业务用户有意义,完成单词,避免使用除最熟悉的缩写之外的单词。
命名标准,减少跨环境的名称变化。
分类词class word,数量、名称、代码等属性名称中最后一个术语;用于从表名中区分实体、列名的属性;显示哪些属性、列是定量的,而不是定型的。
数据库设计中的最佳实践
PRISM设计原则:
1)性能、易用性performance and ease of use
2)可重用性reusability
3)完整性integrity
4)安全性security
5)可维护性maintainability