文章

DBMS笔记 10 关系数据库设计理论

关系数据库设计通过函数依赖分析和范式规范(1NF→BCNF),逐步消除部分依赖和传递依赖,以减少数据冗余并保证数据一致性。 其核心流程包括需求分析到物理设计的六个阶段,并通过 E-R 模型向关系模式转换实现结构化设计与优化。

DBMS笔记 10 关系数据库设计理论

第十章 关系数据库设计理论

一、函数依赖

  • 完全函数依赖:X→Y,若 X 的任何真子集都不能决定 Y。
  • 部分函数依赖:X→Y,但 X 的真子集也能决定 Y。
  • 传递函数依赖:X→Y,Y→Z,则 X→Z。
  • 候选码:能唯一标识元组的最小属性集。
  • 主属性:属于某个候选码的属性。
  • 外键:参照另一关系主码的属性。

二、范式 (NF)

  1. 1NF:属性不可再分。
  2. 2NF:在 1NF 基础上,每个非主属性完全依赖于候选码
    • 消除 部分依赖
  3. 3NF:在 2NF 基础上,非主属性不传递依赖于候选码
    • 消除 传递依赖
  4. BCNF:在 3NF 基础上,要求 所有决定因素都是候选码
    • 消除特殊依赖。

层次关系:BCNF ⊆ 3NF ⊆ 2NF ⊆ 1NF。


三、数据库设计方法

  1. 设计步骤
    • 需求分析 → 概念结构设计(ER图) → 逻辑结构设计(关系模式) → 物理结构设计 → 数据库实施 → 运行维护。
  2. 需求分析
    • 难点:确定用户需求、缺少知识、沟通不足。
    • 方法:跟班作业、开调查会、请专家介绍、问卷/访谈。
  3. 概念结构设计
    • 常用工具:E-R图
    • 三类联系:分类(is-a)、聚集(组成)、泛化(继承)
  4. 逻辑结构设计
    • E-R 图 → 关系模式转换:
      • 1:1 → 一个关系模式
      • 1:n → “n”端加入“1”端主码
      • m:n → 新建关系模式,含两个实体主码 + 自身属性
      • 多元联系 → 新关系模式
  5. 物理设计
    • 存取方法(顺序、索引、哈希)。
    • 存储结构(聚簇、分区等)。
  6. 数据库实施
    • 建立数据库 → 装入数据 → 编程 → 系统测试。
  7. 运行与维护
    • DBA负责,保证数据完整性、安全性、备份与恢复。

四、重点

  • 函数依赖:完全依赖 vs 部分依赖 vs 传递依赖。
  • 范式考点
    • 2NF 消除部分依赖。
    • 3NF 消除传递依赖。
    • BCNF 要求决定因素是候选码。
  • E-R 图转关系模式
    • 1:1 → 合并成一个表 or 任选一个成为另一个的外键
    • 1:n → 在 n 端加 1 端主码。
    • m:n → 建立新关系模式,加上m和n一共就有三个了
  • 数据库设计阶段:需求分析 → 概念设计 → 逻辑设计 → 物理设计 → 实施 → 运行维护。
  • DBA 职责:数据库安全、完整性、恢复与备份。

五、速记

  • 函数依赖:完全/部分/传递。
  • 范式口诀:1NF 原子性;2NF 消部分;3NF 去传递;BCNF 再严格。
  • E-R 转换:1:1 合并;1:n 加码;m:n 新表。
  • 设计六步:需求 → 概念 → 逻辑 → 物理 → 实施 → 维护。
  • DBA三职能:完整性、安全性、恢复。
本文由作者按照 CC BY-NC 4.0. 进行授权
...

Comments

评论区

碎片之中

正在加载中...