IIWAB

数据库三大数据模型:层次、网状、关系模型

IIWAB 6天前 ⋅ 26 阅读

数据库三大数据模型:层次、网状、关系模型

一、层次模型(Hierarchical Model)

1. 结构特征

树形结构组织数据,类似目录树。

  • 节点:实体记录;连线:一对多联系;
  • 一个父节点可以有多个子节点,一个子节点只能有一个父节点
  • 有且仅有一个根节点(顶层无父节点)。

2. 存储与访问

按树的层级顺序存储,查询必须从根节点自上而下遍历。

3. 优点

结构简单、层次清晰;查询路径固定,早期查询速度快。

4. 缺点

  1. 只能表达一对多,无法直接表示多对多;
  2. 多对多场景需要冗余复制记录,数据冗余大;
  3. 增删改复杂,子节点依赖父节点,修改层级成本高;
  4. 查找必须按固定路径,操作不灵活。

5. 代表系统

IBM IMS(最早商用数据库)

二、网状模型(Network Model)

1. 结构特征

有向图(网络) 存储实体与联系,是层次模型的升级。

  • 允许一个节点拥有多个父节点
  • 实体之间可直接建立多对多联系;
  • 记录之间通过指针关联。

2. 优点

  1. 支持一对多、多对多,表达现实关系能力强;
  2. 相比层次模型冗余更少;
  3. 存取效率较高。

3. 缺点

  1. 结构极其复杂,关联指针繁多;
  2. 查询、更新必须手动处理指针,操作门槛高;
  3. 用户需要记忆数据存储路径,独立性差;
  4. 不利于开发、维护。

4. 代表系统

DBTG 系统

三、关系模型(Relational Model,当前主流)

由埃德加·科德E.F.Codd提出,现在所有MySQL、Oracle、SQL Server都基于该模型。

1. 结构特征

二维表(关系) 统一描述实体和实体间联系。

  • 一行 = 元组(记录);一列 = 属性(字段);
  • 主键唯一标识一行,外键关联多张表实现多表联系;
  • 不依靠指针,依靠逻辑值关联,完全屏蔽底层存储。

2. 三大完整性约束(核心)

  1. 实体完整性:主键非空、唯一;
  2. 参照完整性:外键取值匹配主表主键或为空;
  3. 用户自定义完整性:业务自定义约束。

3. 数据操作

统一使用关系代数 / SQL:选择、投影、连接、除运算等,面向集合操作,不用关心物理存储位置。

4. 优点

  1. 结构简单统一,全部是二维表,容易理解;
  2. 数据物理独立性高,用户不用关心存储路径;
  3. 支持一对一、一对多、多对多所有关系;
  4. 标准化SQL语言,易学、通用,开发便捷;
  5. 支持范式优化,可控冗余,减少更新异常。

5. 缺点

同等数据量下,查询速度略低于层次、网状(需要连接多张表),可通过索引优化弥补。

四、三者核心对比速记

模型结构联系表达核心缺点时代
层次模型树形仅一对多多对多冗余、操作死板第一代数据库
网状模型图网络一对多、多对多结构复杂、指针难维护第二代数据库
关系模型二维表全部关系均可表达多表连接查询开销第三代,目前主流

要点

  1. 层次模型:树形结构,一对多,代表IMS;
  2. 网状模型:有向图,允许多父节点,支持多对多,结构复杂;
  3. 关系模型:二维表格,使用SQL操作,依靠主键外键关联,数据独立性强,现代数据库标准。

全部评论: 0

    我有话说: