DB-06 数据库设计
DB-06 数据库设计
一、数据库设计的六个阶段
数据库设计是一个系统的工程,通常分为六个阶段:
1. 需求分析阶段:了解用户需要存储什么数据、支持什么操作。这是最困难、最耗费时间的一步。输出结果是需求说明书和数据字典。数据字典包括数据项、数据结构、数据流、数据存储和处理过程五部分。
2. 概念结构设计阶段:将需求分析的结果抽象为概念模型(通常用E-R图表示)。这个阶段独立于任何具体的DBMS,是最能体现设计水平的一步。
3. 逻辑结构设计阶段:将E-R图转换为DBMS支持的关系模式(即表结构)。在这个阶段开始需要考虑具体的DBMS特性。
4. 物理设计阶段:确定数据的存储结构和存取方法,如选择索引类型、决定文件的存放位置等。
5. 数据库实施阶段:使用DDL语句创建数据库和表,编写应用程序,加载初始数据。
6. 数据库运行与维护阶段:对数据库进行日常维护,包括性能优化、备份恢复、结构修改等。
二、E-R图向关系模式的转换规则
这是考试中极易出大题的部分,五条转换规则必须熟记:
规则1:一个实体型转换为一个关系模式。实体的属性成为关系的属性,实体的码成为关系的码。
规则2:一个1:n联系不转换为独立的关系模式,而是将"1端"的主码加入"n端"作为外码。
规则3:一个1:1联系的处理方式与1:n类似,可以选择任一端的主码加入另一端作为外码。
规则4:一个m:n联系必须转换为一个独立的关系模式。该关系模式的属性包括两端实体的码和联系本身的属性,码是两端码的组合。
规则5:三个或三个以上实体的多元联系也转换为一个独立的关系模式。
三、综合举例
题目:为仓库管理系统设计E-R图并转换为关系模式。
实体:仓库(仓库号,面积,电话)、零件(零件号,名称,规格,单价)、供应商(供应商号,姓名,地址,电话)、项目(项目号,预算,开工日期)、职工(职工号,姓名,年龄,职称)
联系:
- 仓库和零件之间的"存放"联系,m:n,有属性"库存量"
- 仓库和职工之间的"工作"联系,1:n
- 职工之间的"领导"联系,1:n(自联系)
- 供应商、项目、零件之间的"供应"联系,三元m:n联系,有属性"供应量"
转换结果:
仓库(仓库号, 面积, 电话) → PK: 仓库号
零件(零件号, 名称, 规格, 单价) → PK: 零件号
供应商(供应商号, 姓名, 地址, 电话) → PK: 供应商号
项目(项目号, 预算, 开工日期) → PK: 项目号
职工(职工号, 姓名, 年龄, 职称, 仓库号, 领导工号)
→ PK: 职工号, FK: 仓库号→仓库, FK: 领导工号→职工
存放(仓库号, 零件号, 库存量)
→ PK: (仓库号, 零件号), FK: 仓库号→仓库, FK: 零件号→零件
供应(供应商号, 项目号, 零件号, 供应量)
→ PK: (供应商号, 项目号, 零件号), FK: 供应商号→供应商, FK: 项目号→项目, FK: 零件号→零件
这个例子涵盖了E-R图转换的所有典型情况:普通实体、1:n联系、m:n联系、自联系和多元联系。