数据库2-数据模型

数据模型

概念

数据模型用来抽象、表示和处理现实世界的数据和信息;

数据模型就是现实世界的模拟:

  • 真实地模拟现实世界;
  • 能为人工所理解;
  • 易于在计算机实现;

现实世界中的客观对象抽象为概念,把概念模型转换为某一DBMS支持的数据模型,概念模型是现实世界到机器世界的一个中间层次;

层次

  1. 概念模型CDM
    • 面向现实世界建模
    • 主要用来描述现实世界的概念化结构,与具体的DBMS无关;
    • 常用E-R模型表达
  2. 逻辑模型LDM
    • 面向用户建模
    • 是具体的DBMS所支持的数据模型(网状/层次/关系/面向对象)
  3. 物理模型PDM
    • 面向具体的DBMS,也面向机器
    • 描述数据在存储介质上的组织结构

三要素

  1. 数据结构
    • 与数据类型、内容、性质有关的对象,如关系模型中的域、属性、关系等
    • 与数据之间联系有关的对象
    • 数据结构是对系统静态特征的描述
  2. 数据操作
    • 数据操作是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则
    • 数据库主要有检索和更新(插入、删除、修改)两大类操作
    • 数据模型必须定义这些操作的含义、符号、规则及实现操作的语言
    • 数据操作是对系统动态特性的描述
  3. 数据的约束条件
    • 数据的约束条件是一组完整性规则的集合。
    • 完整性规则是指给定的数据模型中的数据及其联系所具有的制约和依存规则,以保证数据的正确、有效、相容。
    • 提供定义完整性约束条件的机制

类型

  1. 层次模型:用树来表示实体和实体间的联系;
  2. 网状模型:一个联系可以被称为一个系,每个系至少由两种记录类型组成:一种等同于层次模型中父节点的首记录另一种等同于层次模型中子节点的属记录
  3. 关系模型:关系模型是目前应用最广泛的数据模型,采用关系模型作为数据的组织方式,常用表描述;
  4. 半结构化模型:包括XML模型,
  5. 键值对型:如Redis;
  6. 文档型:如MongoDB;
  7. 列存:如Habse;
  8. 图型:如NEO4J;