返回课程目录

第 13 章 数据库设计基础

学习目标

  • 区分数据库、数据库管理系统和数据库系统。
  • 阅读实体联系模型并转换为关系。
  • 识别选择、投影、连接和集合运算。
  • 按需求分析、概念设计、逻辑设计和物理设计描述数据库设计过程。

1. 三个基本概念

  • 数据库:长期存储、有组织、可共享的数据集合。
  • 数据库管理系统:定义、操作、管理和维护数据库的系统软件。
  • 数据库系统:由数据库、数据库管理系统、应用系统、数据库管理员和用户组成。

数据库管理系统属于系统软件,数据库本身是被管理的数据集合。

2. E-R 图

实体联系模型用实体、属性和联系描述现实世界:

  • 实体:客观存在并可区分的事物,例如学生、课程。
  • 属性:实体的特征,例如学号、姓名。
  • 联系:实体之间的关系,例如学生“选修”课程。

联系类型有一对一、一对多和多对多。矩形表示实体,椭圆表示属性,菱形表示联系。

把 E-R 图转换为关系时,一个实体转换为一张关系表。多对多联系通常单独转换为一张表,表中包含双方主键及联系自身的属性。

3. 关系运算

  • 选择:按条件筛选行。
  • 投影:选择指定列。
  • 连接:按相关字段组合两张表中的行。
  • 并、交、差:处理结构兼容的两个关系。

例如,从学生表中找出成绩不少于 60 的记录是选择;只显示姓名和成绩两列是投影。

4. 规范化

规范化减少数据冗余和更新异常。考试中重点识别:

  • 第一范式:字段值不可再分。
  • 第二范式:在第一范式基础上,非主属性完全依赖于全部主键。
  • 第三范式:在第二范式基础上,非主属性不传递依赖于主键。

如果一个字段既依赖主键、又依赖另一个非主属性,就应检查是否违反第三范式。

5. 设计步骤

  • 需求分析:收集用户需要保存和查询的数据。
  • 概念设计:绘制 E-R 图,不依赖具体数据库产品。
  • 逻辑设计:把 E-R 图转换为关系模式并规范化。
  • 物理设计:确定存储结构、索引和访问方式。

概念设计先于逻辑设计,不能一开始就用某个数据库产品的存储参数代替用户需求。

本章练习

  • 说明数据库和数据库管理系统的区别。
  • 把“学生选修课程”的多对多联系转换为关系表。
  • 判断筛选行和选择列分别属于哪种关系运算。
  • 按正确顺序排列数据库设计的四个阶段。

本章小结

  • 数据库是数据集合,数据库管理系统是管理软件,数据库系统是整体环境。
  • E-R 图描述实体、属性和联系,再转换为关系表。
  • 选择处理行,投影处理列,连接组合多张表。
  • 数据库设计依次完成需求、概念、逻辑和物理四个阶段。