MySQL数据库实用教程
上QQ阅读APP看书,第一时间看更新

1.4 概念结构设计和逻辑结构设计

通常将使用数据库的应用系统称为数据库应用系统,例如电子商务系统、电子政务系统、办公自动化系统、以数据库为基础的各类管理信息系统等。数据库应用系统的设计和开发本质上属于软件工程的范畴。

广义数据库设计指设计整个数据库的应用系统。狭义数据库设计指设计数据库的各级模式并建立数据库,它是数据库应用系统设计的一部分。本节主要介绍狭义数据库设计。

1.数据库设计的基本步骤

按照规范设计的方法,考虑数据库及其应用系统开发的全过程,将数据库设计分为以下6个阶段:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施阶段、数据库运行和维护阶段,如图1.9所示。

(1)需求分析阶段。需求分析是整个数据库设计的基础,在数据库设计中,首先需要准确了解与分析用户的需求,明确系统的目标和需要实现的功能。

(2)概念结构设计阶段。概念结构设计是整个数据库设计的关键,其任务是根据需求分析结果,形成一个独立于具体数据库管理系统的概念模型,即系统E-R图。

(3)逻辑结构设计阶段。逻辑结构设计是将概念模型转换为某个具体的数据库管理系统所支持的数据模型。

(4)物理结构设计阶段。物理结构设计是选取一个适合应用逻辑数据模型的物理结构(包括存储结构和存取方法等)。

(5)数据库实施阶段。数据库设计人员运用数据库管理系统所提供的数据库语言和宿主语言,根据逻辑结构和物理结构的设计结果建立数据库,编写和调试应用程序,并组织数据入库和试运行。

(6)数据库运行和维护阶段。数据库通过试运行后即可投入正式运行。在数据库运行过程中,还须不断地对其进行评估、调整和修改。

图1.9 数据库设计的基本步骤

下面仅介绍数据库设计基本步骤中的概念结构设计和逻辑结构设计。

2.概念结构设计

将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程就是概念结构设计。

需求分析阶段得到的数据,其描述是无结构的。概念设计是在需求分析的基础上将其描述转换为有结构的、易于理解的精确描述。概念结构设计阶段的目标是形成整个数据库的概念模型,它独立于数据库逻辑结构和具体的数据库管理系统。概念结构设计是整个数据库设计的关键。

概念结构设计的结果为系统E-R图。

【例1.4】设教学管理系统中专业、学生、课程、教师实体如下所示。

专业:专业代码,专业名称
学生:学号,姓名,性别,出生日期,总学分
课程:课程号,课程名,学分
教师:教师编号,姓名,性别,出生日期,职称,学院

上述实体中存在如下联系。

(1)一个学生可选修多门课程,一门课程可被多个学生选修。

(2)一个教师可讲授多门课程,一门课程可被多个教师讲授。

(3)一个专业可拥有多个学生,一个学生只属于一个专业。

(4)假设学生只能选修本专业的课程,教师只能为本学院的学生讲课。

要求设计该系统的E-R图。

设计的教学管理系统E-R图如图1.10所示。

图1.10 教学管理系统E-R图

3.逻辑结构设计

逻辑结构设计的任务是将概念结构设计阶段设计好的E-R图,转换为与选用的数据库管理系统所支持的数据模型相符合的逻辑结构,即由概念结构导出特定数据库管理系统可以处理的逻辑结构。

由于当前主流的数据库管理系统是关系数据库管理系统,所以逻辑结构设计是将E-R图转换为关系模型,即将E-R图转换为一组关系模式。

E-R图向关系模型转换有以下两个规则。

(1)一个实体转换为一个关系模式。

实体的属性就是关系的属性,实体的键就是关系的键。

(2)实体间的联系转换为关系模式有以下不同的情况。

① 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端所对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的各实体的键以及联系本身的属性都会转换为关系的属性,每个实体的键都是该关系的候选键。

如果与某一端实体对应的关系模式合并,则须在该关系模式的属性中加入另一个关系模式的键和联系本身的属性。

② 一个1:n联系可以转换为一个独立的关系模式,也可以与n端所对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的各实体的键以及联系本身的属性都会转换为关系的属性,且关系的键为n端实体的键。

如果与n端实体对应的关系模式合并,则须在该关系模式的属性中加入一端实体的键和联系本身的属性。

③ 一个m:n联系转换为一个独立的关系模式。

与该联系相连的各实体的键以及联系本身的属性都转换为关系的属性,各实体的键组成该关系的键或关系键的一部分。

④ 3个或3个以上实体间的一个多元联系可以转换为一个独立的关系模式。

与该多元联系相连的各实体的键以及联系本身的属性都转换为关系的属性,各实体的键组成该关系的键或关系键的一部分。

⑤ 具有相同键的关系模式可以合并。

【例1.5】将例1.4中教学管理系统E-R图转换为关系模式。

将“专业”实体、“学生”实体、“课程”实体、“教师”实体分别转换成关系模式,将“拥有”联系(1:n联系)合并到“学生”实体(n端实体)对应的关系模式中,将“选课”联系和“讲课”联系(m:n联系)转换为独立的关系模式。

专业:专业代码,专业名称

学生:学号,姓名,性别,出生日期,总学分,专业代码

课程:课程号,课程名,学分

教师:教师编号,姓名,性别,出生日期,职称,学院

选课:学生,课程号,成绩

讲课:教师编号,课程号,上课地点