这篇文章上次修改于 816 天前,可能其部分内容已经发生变化,如有疑问可询问作者。 > dama bok2 第五章的摘要笔记 #### 建模方案 * 关系建模方案Schema---三层模型(逻辑/概念/物理) 可以用与RDBMS和多维数据库,其他类型的库,只能用概念和逻辑模型 * 基于事实方案Schema---同上 * 维度建模方案Schema---三层模型(逻辑/概念/物理) 可以用于关系数据库和多维数据库。 * 面向对象方案Schema---关系数据库/对象数据库 * 基于时间的建模方案schema--属于物理数据建模技术,主要用于关系型数据 库环境中的数据仓库。 * NOSQL方案Schema---严重依赖底层存储。document, column, graph, or key-value ###### 一、关系建模方案Schena (Relational) - 关系来自于数学的集合理论(set theory) ,是指二维关系(two-dimensional) ###### 二、维度建模方案Schema - axis notation 轴表示法 - 关系连线表示得是业务规则,而维度模型中连线表示业务问题得导航路径。 - 事实表 ,对应特定得数值型 度量值。 + 对于计算得到得结果,元数据很重要, + 事实表应该占据了数据库大部分空间,90%是一个合理得经验法则 - 维度表 + 描述业务得重要对象,重要包含文字描述(区分数值) + 高度反范式,占总数居得10% + 主要约束query by 和report by + 必须有一个唯一键,一般是代理键,或者自然键 + 维度也有一些属性,根据变化得速率和类型来管理它得变化。3种变化类型成为ORC 1. Overwrite。覆盖,新值覆盖旧值。 2. New Row,新值写在新行,旧值标记为非当前 3. New Column,新值写入同一行得前front列,最后一个值被丢弃 - 雪花模型 将星型模式中的平面、 单表、 维度结构规范为相应的组件层次结构或网络结构。 - 粒度,维度的范围。如果一个维度模型用于度量学生注册过程, 粒度可能为学生、 日期和班级 - 一致性维度,组织内使用相同的一致性维度,才能共享使用 - 一致性事实,概念和术语要相同 ###### 三、面像对象Schema(UML 统一建模语言) - 和ER图类似,但是ER没有方法部分(或者可以类比成存储过程) - 数据类型用程序语言表示 ###### 四、基于事实的建模Schema - 是一种概念建模语言。用于自然语言的自动检查,不设计属性Attribute。 + 使用最多的是ORM,object role modeling这些语言仅包含对象和对象类型(事物的种类),事实和事实类型(个体事物之间的关系)和约束(关于事物和关系可能存在的规则)。 + Fully Communication Oriented Modeling 面像 通信建模 ###### 五、基于时间 Time-Based的数据模型Schema - 数据拱顶 Data Vault + 数据拱顶模型专门为满足企业数据仓库的需求而设计的,面像详细信息detail的建模。综合了第三范式(3NF, 将会在后面章节中讨论) 和星型模式的优 点。 https://www.talend.com/resources/what-is-the-data-vault/ + 由中心表(HUB),链接(LNK)和卫星(SAT),其中卫星是随着时间变化的。 + 如学生/课程是中心表,参加Attendence是链接,联系方式/课程描述就是卫星表,随着时间变化产生历史。 - 锚建模Anchor Model + 适合信息的结构和内容都随时间发生变化的情况。 + 锚、 属性、 连接、 节点.锚模拟的是实体和事件, 属性模拟了锚的特征, 连接表示了锚之间的关系, 节点用来模拟共享的属性。 ###### 六、Nosql Schema 非关系型数据库 - 文档数据库例如, 不是将学生(Student) 、 课程(Course) 和注册信息(Registration) 存储在3种不同的关系结构中, 而是将这3种结构的属性存储在一个称为注册信息(Registration) 的文档中 - 键值数据库 仅有两列,key和value - 列数据库,和关系数据库最像。但是每一列使用自己的结构(Structure)存储,每一列独立存储,而不是以行为单位,把几个列的值放入一行存储起来。 - 图数据库,三元存储和索引,{?s, ?p, ?o}. 主(subject )谓 predict 宾 object,如 bob loves mary . #### 模型的细节级别 Data Model Levels of Detail 概念模型,体现 外模式(external schema) 内模式(internal schema) - 关系型逻辑数据模型捕获业务流程的规则,而维度型逻辑数据模型捕获业务问题以确定业务流程的运行状况和性能。 - 概念模型---不包含属性 - 逻辑模型---从概念模型扩展而来 - 物理模型 * combined (denormalized) 逆范式化,为了olap * Canonical 规范模型 物理模型的一个变种,用于描述系统之间的数据移动 * view 视图用于简化查询、控制数据访问和重命名列,而不会由于逆规范化而导致引用完整性的冗余和丢失 * 分区(Partitioning)是指拆分表的过程。执行分区是为 了方便存档和提高检索性能。分区可以是垂直的(按列分组),也可以 是水平的(按行分组)。 * 逆规范化(Denormalization)是将符合范式规则的 逻辑数据模型经过慎重考虑后,转换成一些带冗余数据的物理表。通常,非规范化只是为了提高数据库查询性能或促进用户安全的实施。在维度数据建模中,逆规范化被称为折叠(Collapsing)或合并 (Combining)。如果每个维度都被折叠成一个结构,生成的数据模型 被称为星型模式(Star Schema)(见图5-23)。如果维度没有折叠,则生成的数据模型被称为雪花(Snowflake) - 规范化(Normalization)5范式是递增关系,满足2nf肯定满足1nf,5nf是完美范式。但是一般要求满足到3范式 * 1NF强调属性值的原子性 * 2NF从属性依赖唯一的主属性。 * 3NF从属性之间没有依赖 - 抽象 Abstraction * 超类--泛化generation,子类特化 Specialization #### 活动 一、建模计划:evaluating organizational requirements 评估组织需求, creating standards 确定建模标准, and determining data model storage 确定建模存储管理方案 二、建模的交付成果:图表(Diagram)、定义(Definitions)、争议和悬而未决的问题(Issues and Outstanding Questions)、血缘关系(Lineage) - 血缘关系之所以在数据建模过程中很重要:一是有助于数据建模人员深入理解数据需求,准确定位属性来源;二是确定属性在源系统中的情况,这是验证模型和映射关系准确性的有效工具 三、构建模型: - tobe continue 423/427
没有评论