一、数据库设计的主要阶段
1.数据库概念结构设计
——需求分析得到的用户需求抽象为反映用户观点的概念模型,常用的是E-R(Entity-Relationship)模型。
2.数据库逻辑结构设计
——逻辑结构设计的任务就是把概念模型结构(E-R图)转换成某个具体的DBMS所支持的数据模型(关系模型),并将其性能进行优化。
3.数据库物理结构设计
——是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。
二、数据库概念结构设计
1. 术语
l实体:客观存在并可相互区别的事物称为实体。
l实体集:同型实体的集合称为实体集。
l属性(值):实体所具有的某一特性称为属性(值)。
l(主)码:码有时也称关键字。能唯一标识实体集中每个实体的属性或属性集,称为该实体的“码”。码可能有多个,可指定一个为主码(键)。
l外码: 如果实体的主键或属性(组)的取值依赖于其它实体的主键,那么该主键或属性(组)称为外码(键)。
l联系:实体集之间或实体集内部存在各种关系。
lE-R(实体-联系)图。
2. E-R图的表示

三要素:
实体——用矩形表示,框内写明实体名
属性——用椭圆或圆角矩形表示,框内写明属性名
联系——用菱形表示,框内写明联系名,并标明联系的类型
2. E-R图联系的类型
l一对一的联系(1∶1)
——A中的一个实体至多与B中的一个实体相联系,B中的一个实体也至多与A中的一个实体相联系。
l一对多的联系(1∶n)
——A中的一个实体可以与B中的多个实体相联系,而B中的一个实体至多与A中的一个实体相联系。
l多对多的联系(m∶n)
——A中的一个实体可以与B中的多个实体相联系,而B中的一个实体也可与A中的多个实体相联系。
三、数据库逻辑结构设计
1. 目前成熟地应用在DBMS中的数据模型有层次模型、网状模型和关系模型。
注意:本书使用的DBMS的数据模型为关系模型。
2. 关系模型是用二维表格结构来表示实体和实体之间联系的数据模型。

注:表中行表示实体,列表示属性。
3. 关系模型的表示
关系名(属性1,属性2,属性3,......)
如上表中的学生关系可以用关系模式表示为:学生(借书证号,姓名,专业名,......)
4. E-R图转换成关系模式
①1:1联系的E-R图到关系模式的转换
l每个实体集各对应一个关系模式;
l对于(1:1)的联系既可单独对应一个关系模式,也可以不单独对应一个关系模式。
Ø如果联系单独对应一个关系模式,则由联系属性、参与联系的各实体集的主码属性构成关系模式,其主码可选参与联系的实体集的任一方的主码。
Ø如果联系不单独对应一个关系模式,联系的属性及一方的主码加入另一方实体集对应的关系模式中。
②1:n联系的E-R图到关系模式的转换
l每个实体集各对应一个关系模式;
l对于(1:n)的联系既可单独对应一个关系模式,也可以不单独对应一个关系模式。
Ø如果联系单独对应一个关系模式,则由联系的属性、参与联系的各实体集的主码属性构成关系模式,n端的主码作为该关系模式的主码。
Ø如果联系不单独对应一个关系模式,则将联系的属性及1端的主码加入n端实体集对应的关系模式中,主码仍为n端的主码。
③ m:n联系的E-R图到关系模式的转换
l每个实体集各对应一个关系模式;
l对于(m∶n)的联系,单独对应一个关系模式,该关系模式包括联系的属性、参与联系的各实体集的主码属性,该关系模式的主码由各实体集的主码属性共同组成。
5. 关系模式得到数据表
四、数据库物理结构设计
每一种逻辑数据模型在实现时都有起对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作由系统自动完成,而设计者只设计索引、聚集等特殊结构。

