第五章 数据建模与设计(重点)

1. 数据建模的定义
  • 定义:数据建模是发现、分析和确定数据需求的过程,用一种称为数据模型的精确形式表示和传递这些数据需求

  • 什么是建模:是指表结构的设计,表是用来存储数据的

1.1 建模的重要性
  • 建模好与坏直接影响存储成本

  • 直接影响性能

1.2 数据可以采用不同的模式来表示,常见的6中模式
  • 关系模式

  • 多维模式

  • 面向对象模式

  • 事实模式

  • 时间序列模式

  • NoSQL模式

1.3 每种模式分为三层模型
  • 概念模型 -- 偏向业务

  • 逻辑模型 -- 偏向业务

  • 物理模型 -- 技术(建表存储)

概念+逻辑 属于数据架构的产物, 物理模型数属于数据建模的产物

1.4 每种数据模型包含的组件:
  1. 实体

    • 实体的定义:比如 学生,老师 和业务相关的所有内容都可以为实体,具体有哪些实体必须由业务部门定义;

  2. 关系(由业务定义)

    • 关系的定义:老师和学生之间的关系(可以是多对多)

    • 关系有4种:

      1. 一对多(允许的)

      2. 多对一(允许的)

      3. 多对多(不允许的,违反三范式)

      4. 一对一(不允许的 需要中间表)

    如果考题问,实体与实体有几种对应关系,答案是4种

    关系的基数:

    • 对应基数而言,只能选择0,1,或者多(意思是超过1个)

  3. 属性

    • 定义:是一种定义、描述或度量实体某方面的性质(比如学生姓名,ID )依赖于实体

    标识符 也称为键,是唯一标识实体实列的一个或者多个属性的集合

  4. (高手必问)

    • 是一种定义、描述或度量实体某方面的性质

    • 是一种定义、描述或度量实体某方面的性质

    • 域可以用多种不同的方式定义:

      1. 数据类型

      2. 数据格式

      3. 列表,例如状态值

      4. 范围,例如订单时间范围

      5. 基于规则,例如物品价格高于物品成本

    简单的来说可以把许多个字段组合成一个域,可以通过这个域来统一修改类型,格式,状态,规则等

2. 业务驱动因素
  • 提供有关数据的通用词汇表

  • 获取、记录组织内数据和系统的详细信息

  • 在项目中作为主要的交流沟通工具

  • 提供了应用定制、整合,甚至替换的起点

数据模型对于有效的数据管理至关重要

3. 目标和原则
  • 目标:数据建模的目标是确认和记录不同视角对数据需求的理解,从而使应用程序与当前和未来的业务需求更加紧密地结合在一起,并为成功地 完成广泛的数据应用和管理活动奠定基础,如主数据管理和数据治理计划。良好的数据建模会降低支持成本,增加未来需求重复利用的可能性,从而降低构建新应用的成本

  • 原则:

  • 格式化。数据模型是对数据结构和数据关系的简洁定义。能够 评估当前或者理想情况下业务规则对数据的影响情况。格式化的定义赋 予数据规范的结构,减少在访问和保存数据时发生异常的概率。通过展 现数据中的结构和关系,数据模型使数据更容易被使用。

  • 范围定义。数据模型可以帮助解释数据上下文的边界,以及购 买的应用程序包、项目、方案或实施的现有系统。

  • 知识保留记录。数据模型通过以书面的形式获取知识来保存系 统或项目的企业信息。

4. 建模的数据类型
  • 类别信息。

    用于对事物进行分类和分配 事物类型的数据

  • 资源信息。

    实施操作流程所需资源的 基本数据

  • 业务事件信息。

    在操作过程中创 建的数据

  • 详细的交易信息。

    息通常通过销售系统(商店或在线应用)生成。它还可以通过社交媒体 系统、其他互联网交互(单〈双〉击流等)和机器上的传感器产生

5. 数据建模的方法

常见的6中数据建模方法:

  1. 关系建模

    表示法:

    • 信息工程IE

    • 信息建模集成定义(IDEF1X)

    • 巴克符号

    • 陈氏符号

  2. 维度建模

    • 事实表

    • 维度表

      • 雪花模型

        • 维度表是有层级的,维度表进行了规范化处理。 维度表分解成多个子表,结构类似雪花,每个子表只包含一个维度的具体信息,并通过外键连接。

        • 优点: 减少数据冗余,存储空间较小。 数据更新时的一致性更好。

        • 缺点: 查询性能较星型模型差,查询复杂度增加,因为需要更多的表连接。 结构相对复杂,不易于理解和实现。

      • 星型模型(事实表+维度表)

        • 特点:没有延展,只是扁平的维度表,中心是一个事实表(fact table),围绕着多个维度表(dimension tables)。

        • 优点: 查询性能好,结构简单,易于理解和实现。适合进行快速的查询和数据汇总分析。

        • 缺点: 数据冗余可能较高,因为维度表没有进行规范化。

        SCD 是渐变类的维度

  3. 面向对象建模

    统一建模语言(UML)

  4. 基于事实建模

    • 对象角色建模(ORM2)

    • 完全面向交流的信息建模?(FCO-IM)

  5. 基于时间建模

    • 数据拱顶模型(Data Vault)

    • 锚建模(Anchor Modeing)

  6. 非关系型(NoSQL)建模

    常见的4种NoSQL数据库:

    • 文档数据库

    • 列数据库

    • 图数据库

    • 键值数据库

6 数据模型级别
  1. 概念数据模型(数据架构师干的)

    • 只有实体的名称,没有属性,偏向业务

  2. 逻辑数据模型

    • 有实体的名称,也有属性;偏向业务

  3. 物理数据模型

    • 有表,遵循标准和规则,偏向技术

7 规范化和逆规范化
  • 规范化:

    • 第一范式(1NF)确保每个实体都有一个键,每个主键都依赖主键,消除冗余的分组,确保每个属性的原子性,不能有多个值的存在

    • 第二范式(2NF)确保每个实体都有最小的主键,每个属性都依赖于完整的主键

    • 第三范式 (3NF) 确保每一个实体都没有隐藏的主键。每个属性都不依赖于键值之外的任何属性(仅依赖于完整的主键。

    • 第四范式(4NF)。将所有三元关系分解成二元关系,直到这 些关系不能再分解成更小的部分。

    • 第五范式(5NF)。将实体内部的依赖关系分解成二元关系, 所有联结依赖部分主键。

  • 逆规范化

    逆规范化只会在OLAP中使用,不会在OLTP中使用

    逆规范化是牺牲空间换取时间

    原因有很多,最重要的是提高性能,如:

    1. 提前组合来自多个其他表的数据,以避免代价高昂的运行时连接

    2. 创建更小的、预先过滤的数据副本,以减少昂贵的运行时计算和/或大型表的扫描

    3. 预先计算和存储昂贵的数据计算结果,以避免运行时系统资源竞争

    8 建立数据模型
    1. 正向工程

      • 正向工程是指从需求开始构建新应用程序的过程。首先需要通过建立概念模型来理解需求的范围和核心的术语;然后建立逻辑模型来详细描述业务过程;最后是通过具体的建表语句来实现物理模型

        概念–>逻辑–>物理

        ER图到数据表的建立

        逆向工程

      • 逆向工程是记录现有数据库的过程。物理数据建模通常是第一步,以了解现有系统的技术设计;逻辑数据建模是第二步,以记录现有系统满足业务的解决方案;概念数据建模是第三步,用于记录现有系统中的范围和关键术语。

        逆向工程在元数据管理过程中起到了非常重要的作用

    9 工具
    1. 数据建模工具

    2. 数据血缘工具

    3. 数据分析工具

    4. 元数据资料库

    5. 数据模型模式

    6. 行业数据模型

      • 行业数据模型是为整个行业预建的数据模型,包括医疗保健、电信、保险、银行、制造业等行业。这些模型通常范围广泛且内容详细。一些行业的数据模型包含数千个实体和属性。可以通过供应商购买行业数据模型,也可以通过ARTS(零售)、SID(通信)或ACORD(保险)等行业组织获得。

    10 命名约定的最佳实践
    • 对每种类型建模对象和数据库对象发布数据模型和数据库命名标准。命名标准对于实体、表、属性、键、视图和索引尤为重要。

    • 名称应该是唯一的并且尽可能具有描述性。 逻辑名称对业务用户应具有意义,应尽可能使用完整的单词,并避免使用除最熟悉的缩写之外的单词。 物理名称必须符合DBMS允许的最大长度,因此必要时将使用缩写。

    • 逻辑名称通常情况下不允许使用任何的分隔符对单词进行分隔,但物理名称通常使用下划线作为单词分隔 符。

    • 命名标准应该尽量减少跨环境的名称变化。名称不应受其特定环境影响,如测试、QA或生产环境。

    11 数据库设计中的最佳实践?(PRISM)
    DBA应牢记以下PRISM设计原则
    • 1)性能和易用性(Performance and Ease of Use)

    • 2)可重用性(Reusability)

    • 3)完整性(Integrity)

    • 4)安全性(Security)

    • 5)可维护性(Maintainability)

12 度量指标

数据模型计分卡这个表是考试中会出现的,主要是问那一项是计分卡里没有的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值