Skip to main content

任务二 数据模型

一、数据模型的组成要素

1. 数据模型的定义

  • 现实世界特征的模拟和抽象
  • 数据对象及其相互关系的描述
  • 严格定义的一组概念的集合

2. 三大组成要素

要素描述作用/内容
数据结构描述数据库组成对象及对象间联系• 数据模型最重要的方面• 决定数据模型的命名(如层次、网状、关系模型)
数据操作对数据库对象实例允许的操作集合查询更新(插入、删除、修改)两大类• 包括操作含义、规则、实现语言
完整性约束保证数据正确有效的规则集合• 数据及其联系的固有制约规则• 限定数据库状态及状态变化

二、概念模型(信息模型)

1. 概念模型定位

  • 目的:信息世界的建模
  • 视角:按用户观点对数据和信息建模
  • 作用:数据库设计工具,设计人员与用户的交流语言
  • 别名:信息模型

2. 信息世界基本概念

概念定义示例
实体客观存在并可相互区别的事物学生、课程、球赛
属性实体具有的某一特性学号、姓名、性别
唯一标识实体的属性集学号是学生实体的码
实体型实体名+属性名集合(描述同类实体)学生(学号,姓名,性别,出生年月)
实体集同一类型实体的集合全体学生
联系实体(型)内部及之间的联系三种类型(见下)

3. 实体间联系的三种类型

类型定义示例
一对一 (1:1)A中一个实体 ↔ B中至多一个实体学生 ↔ 学号
一对多 (1:n)A中一个实体 ↔ B中n个实体B中一个实体 ↔ A中至多一个实体班级 ↔ 学生
多对多 (m:n)A中每个实体 ↔ B中n个实体B中每个实体 ↔ A中m个实体课程 ↔ 学生

三、逻辑模型

1. 逻辑模型定位

  • 与前序关系:概念模型的进一步细化和划分
  • 视角:按计算机系统观点对数据建模
  • 作用:架起用户与系统的桥梁
  • 目标:详细描述数据,但不涉及具体物理实现

2. 主要采用的模型类型

  • 层次模型
  • 网状模型
  • 关系模型最常用(对应关系型数据库,如MySQL)

3. 逻辑模型内容

  • 所有实体及其属性
  • 实体间关系
  • 每个实体的主键
  • 实体的外键(用于维护数据完整性)

四、物理模型

1. 物理模型定位

  • 与前序关系:概念模型和逻辑模型在计算机中的具体表示
  • 视角:最底层抽象,面向计算机系统
  • 实现者:DBMS(大部分工作自动完成)
  • 用户关注度:设计人员需了解,最终用户不必考虑

2. 物理模型特征

  • 描述数据在物理存储介质上的具体组织
  • 与具体DBMS、操作系统、硬件相关
  • 描述数据在系统内部的表示方式、存储和存取方法

3. 主要工作

  • 将逻辑模型中的实体、属性、联系转换为物理模型元素
  • 定义所有的表和列
  • 定义外键以维持表间关联

五、层次模型

1. 历史地位

  • 数据库系统最早出现的数据模型
  • 典型代表:IBM公司的IMS系统(1968年推出)

2. 结构特点

  • 树形结构表示实体及联系
  • 像一棵倒置的树,包含结点:
    • 根结点:有且仅有一个,无双亲
    • 其他结点:有且仅有一个双亲
    • 兄弟结点:同一双亲的结点
    • 叶结点:没有子结点的结点
  • 适用场景:自然层次关系(行政机构、家族关系)

六、网状模型

1. 历史背景

  • 典型代表:DBTG系统(CODASYL系统)
  • 20世纪70年代提出

2. 结构特点

  • 比层次模型更具普遍性
  • 结构特点:
    • 可以有一个以上无双亲的结点
    • 至少有一个结点有一个以上的双亲
    • 结点之间平等,不分层次
  • 与层次模型关系:层次模型是网状模型的一个特例
  • 适用场景:非树型结构、复杂关系(教师-学生-课程联系)

七、关系模型

1. 重要地位

  • 最重要的一种数据模型
  • 建立在严格的数学概念基础上
  • 关系数据库系统采用此模型组织数据

2. 关系模型术语(核心八概念)

术语定义对应概念
关系一个关系对应一张表
元组表中的一行(从第二行开始)行/记录
属性表中的一列,有属性名列/字段
属性的取值范围值域(如成绩0-100,性别男/女)
关键字能唯一标识实体的属性或属性集如学号(姓名一般不作为关键字)
主关键字从多个关键字中选定一个作为主键主键
外部关键字非本实体主键,但是另一实体的主键外键
候选关键字能唯一标识表中元组的属性候选键/候选码

知识体系总览

数据模型
├─ 组成三要素:数据结构 + 数据操作 + 完整性约束
├─ 三种抽象层次
│ ├─ 概念模型:用户视角,设计工具(实体、属性、联系)
│ ├─ 逻辑模型:系统视角,实现基础(层次/网状/关系)
│ └─ 物理模型:存储视角,DBMS实现
├─ 三种逻辑模型
│ ├─ 层次模型:树形结构(IMS系统)
│ ├─ 网状模型:普遍结构(DBTG系统)
│ └─ 关系模型:二维表(最常用,MySQL等)
└─ 关系模型术语:关系/元组/属性/域/关键字/主键/外键/候选键

关键对比

  1. 概念vs逻辑vs物理:用户视角→系统视角→存储视角
  2. 层次vs网状vs关系:树形→网络→表格
  3. 关系模型八术语:从表结构到键约束的完整体系

任务二构建了数据模型的完整理论框架,从抽象层次到具体实现,是理解数据库设计原理的核心内容。