数据模型是对现实世界数据特征的抽象,其可被分为:概念模型、逻辑模型和物理模型两类。本文主要介绍最为常用的一类数据模型——关系模型。

本文主要内容:

  • 关系模型数据结构
  • 关系模型的数据操纵
  • 关系模型的完整性约束

首先需要明确的是:关系数据库系统采用关系模型作为数据的组织方式

1. 关系模型的数据结构:

在用户观点下,关系模型中的逻辑结构是一张二维表

  • 关系(Relation):一张表;
  • 元组(Tuple):表中一行即为一个元组;
  • 属性(Attribute):表中一列即为一个属性;
  • 主键(Key):某个属性组,可用于确定一个元组;
  • 域(Domain):一组具有相同数据类型的值的集合;
  • 分量:元组中的一个属性值;
  • 关系模式:对关系的描述

P.s:关系必须是规范化的,最基本的规范条件——关系中的每个分量必须是一个不可分的数据项。具体参见后续关于范式的介绍。

2. 关系模型的数据操纵

数据操作是集合操作,操作对象与结果均为关系:

  • 查询
  • 插入
  • 删除
  • 更新

3. 关系模型的完整性约束

  • 实体完整性
  • 参照完整性
  • 用户定义完整性

3.1 实体完整性

主属性(候选码的诸项属性)不能为空值;
P.s:

  • 候选码——关系中某一属性组能唯一表示一个元组。
  • 现实世界中实体都是可区分的,若主属性为空值说明存在不可区分的实体。

3.2 参照完整性

即关系间的参照关系——外码。
P.s:外码可取空值。

4. 关系模型的优缺点

  • 优点:

    • 建立在严格的数学概念上;
    • 概念单一——实体和各类联系均用关系表示,检索结果也是关系;
    • 关系模型存取路径对用户透明
  • 缺点:

    • 查询效率往往不如格式化数据模型
    • 对用户给定的查询请求往往会进行优化,增加了开发难度