第 13 章 数据库设计基础
学习目标
- 区分数据库、数据库管理系统和数据库系统。
- 阅读实体联系模型并转换为关系。
- 识别选择、投影、连接和集合运算。
- 按需求分析、概念设计、逻辑设计和物理设计描述数据库设计过程。
1. 三个基本概念
- 数据库:长期存储、有组织、可共享的数据集合。
- 数据库管理系统:定义、操作、管理和维护数据库的系统软件。
- 数据库系统:由数据库、数据库管理系统、应用系统、数据库管理员和用户组成。
数据库管理系统属于系统软件,数据库本身是被管理的数据集合。
2. E-R 图
实体联系模型用实体、属性和联系描述现实世界:
- 实体:客观存在并可区分的事物,例如学生、课程。
- 属性:实体的特征,例如学号、姓名。
- 联系:实体之间的关系,例如学生“选修”课程。
联系类型有一对一、一对多和多对多。矩形表示实体,椭圆表示属性,菱形表示联系。
把 E-R 图转换为关系时,一个实体转换为一张关系表。多对多联系通常单独转换为一张表,表中包含双方主键及联系自身的属性。
3. 关系运算
- 选择:按条件筛选行。
- 投影:选择指定列。
- 连接:按相关字段组合两张表中的行。
- 并、交、差:处理结构兼容的两个关系。
例如,从学生表中找出成绩不少于 60 的记录是选择;只显示姓名和成绩两列是投影。
4. 规范化
规范化减少数据冗余和更新异常。考试中重点识别:
- 第一范式:字段值不可再分。
- 第二范式:在第一范式基础上,非主属性完全依赖于全部主键。
- 第三范式:在第二范式基础上,非主属性不传递依赖于主键。
如果一个字段既依赖主键、又依赖另一个非主属性,就应检查是否违反第三范式。
5. 设计步骤
- 需求分析:收集用户需要保存和查询的数据。
- 概念设计:绘制 E-R 图,不依赖具体数据库产品。
- 逻辑设计:把 E-R 图转换为关系模式并规范化。
- 物理设计:确定存储结构、索引和访问方式。
概念设计先于逻辑设计,不能一开始就用某个数据库产品的存储参数代替用户需求。
本章练习
- 说明数据库和数据库管理系统的区别。
- 把“学生选修课程”的多对多联系转换为关系表。
- 判断筛选行和选择列分别属于哪种关系运算。
- 按正确顺序排列数据库设计的四个阶段。
本章小结
- 数据库是数据集合,数据库管理系统是管理软件,数据库系统是整体环境。
- E-R 图描述实体、属性和联系,再转换为关系表。
- 选择处理行,投影处理列,连接组合多张表。
- 数据库设计依次完成需求、概念、逻辑和物理四个阶段。