数据库设计

数据库设计

Lis Sulmont

Curriculum Manager

什么是数据库设计?

  • 决定数据的逻辑存储方式
    • 数据将如何读取和更新?
  • 使用数据库模型: 数据库结构的高层规范
    • 最常用:关系模型
    • 其他选项:NoSQL 模型、面向对象模型、网络模型
  • 使用架构(schema): 数据库蓝图
    • 定义表、字段、关系、索引和视图
    • 在关系型数据库插入数据时,必须遵循架构
数据库设计

数据建模

为待存储数据创建数据模型的过程

1. 概念数据模型:描述实体、关系与属性

  • 工具: 数据结构图,如实体关系图、UML 图

2. 逻辑数据模型:定义表、列、关系

  • 工具: 数据库模型与架构,如关系模型、星型模式

3. 物理数据模型:描述物理存储

  • 工具: 分区、CPU、索引、备份系统、表空间
1 https://en.wikipedia.org/wiki/Data_model
数据库设计

概念层 - ER 图

歌曲示例的 ER 图

实体、关系与属性

逻辑层 - 架构

歌曲示例的逻辑架构

最快转换:实体变为表

数据库设计

其他数据库设计选项

歌曲示例的另一种 ER 图

确定表

歌曲示例的另一种 ER 图

数据库设计

超越关系模型

维度建模

为数据仓库设计改编的关系模型

  • OLAP 查询优化:聚合数据,非更新(OLTP)
  • 采用星型模式构建
  • 架构易于理解与扩展
数据库设计

维度建模要素

歌曲示例的事实表与维度表

按以下方式组织:

  • 分析什么?
  • 实体变更频率?

事实表

  • 由业务用例决定
  • 存放度量记录
  • 频繁变化
  • 通过外键关联维度

维度表

  • 存放属性描述
  • 变更不频繁
数据库设计

开始练习!

数据库设计

Preparing Video For Download...