理解数据库

存储数据的仓库

(数据项(记录)都是有编号的,我们去找数据通过编号)

  • 数据库:现实世界一些事物,抽象出来信息的世界,用计算机去表达真实世界
  • 学习材料:左神(算法课是由左神设计的,基于python语言的,内容简介明了,可以通俗易懂的去学习)

    数据库的发展史

    image.png

    数据库设计分为几个阶段

    现实世界 —-> 信息世界(概念模型)—-> 数据模型 —-> 物化模型
    总结:

  • 概念模型:通过分析和归纳把业务划分成几个主题,并且要确定主题与主题之间的关系,

即确定主键和外键的关系

  • 数据模型(逻辑模型):逻辑模型是在概念模型基础之上,确定各种属性与实体(主题)关系

范式建模(关系型数据库)
1NF:原子性,数据不可分割
2NF:唯一性,每一行的数据具有唯一性
3NF:独立性,消除传递依赖

  • 物化模型(物理模型):

字段命名规范, 字段类型确定, 是否需要建立索引, 分区设置, 存储设置
小贴士:
维度建模(数据仓库)
image.png

架构对比

数据库:

  • 索引
  • 支持和用户交互式查询的
  • 支持单条记录修改

数据仓库:

  • 索引0.8简单索引
  • 适用场景:海量数据查询,不支持和用户交互式查询
  • 不支持单条记录修改,文件追加,文件覆盖