数据库设计案例
下面介绍某学院“教学管理”数据库模型的设计。
(1)设计“系和教师关系”的分E-R图。
①该学院下设4个系:管理工程系、会计系、市场营销系和信息管理系。每个系有一个系主任主管该系工作。则将“系”设为一个实体,该实体具有以下属性:系代号、系名称、系主任姓名、办公地点、电话。其中系代号是主关键字,如图6-12(a)所示。
②该学院聘请了一定数量的专职教师。则将“教师”设为一个实体,该实体具有以下属性:教师编号、教师姓名、专业特长。其中教师编号是主关键字,如图6-12(b)所示。
③学院聘请教师后,分配到各系。一个系有多个教师;一个教师只能属于一个系。“系”实体与“教师”实体之间发生一对多(1:m)的“分配”联系,如图6-12(c)所示。
(2)设计“学生和课程关系”的分E-R图。
①学院每年招收新生,分配到各个专业。则将“学生”设为一个实体,该实体具有如下属性:学号、姓名、性别、年龄、系代号。其中学号是主关键字。
②学院制定了教学计划,设置多项课程。则将“课程”设为一个实体,该实体具有如下属性:课程号、课程名、学分。其中课程号为主关键字。
③学生根据专业要求,每年学习多门课程,每门课程被多个学生选读。学生必须参加考试,获取成绩。因此,成绩属于学生和课程发生联系后产生的属性。
(3)设计“教师与课程关系”的分E-R图。教师在教学活动中与课程发生联系。一个教师可以教授多门课程;一门课程可以由多个教师讲授。教师授课任务完成后,将被学生与院方评估。
(4)将上述三个分E-R图综合,建立学院教学管理总E-R图。由于学院教学管理各分E-R图中,教师与课程是重名实体,根据综合分E-R图的原则:消除同名实体,则教学管理总E-R图,如图6-13所示。
(5)将学院“教学管理”E-R图所描述的信息(概念)世界中的概念模型转化为计算机由关系型DBMS支持的关系数据模型。
数据库设计原则中有两条:一是将所有的实体转化为关系;二是根据不同的联系方式,将联系方式反应在关系中或将联系转换成关系。
①对于1:m的联系方式,如系与教师的分配联系,则可将1方(系实体)的主关键
字—系代号,加入到多方(教师实体)中,作为多方(教师实体)的一个属性,以此表达系和教师之间的联系。因此对于图6-12(c)“系和教师关系”分ER图的关系模型表达如下。
系(系代号,系名称,系主任姓名,办公地点,电话)教师(教师编号,教师姓名,专业特长,系代号,住址,电话)
②对于m:n的联系方式,如“学生和课程”的联系,则可以将联系转化为一个关系。
该关系的关键字由两个实体的关键字组合在一起,成为组合关键字,并附上联系的属性。
“学生和课程关系”分E-R图的关系模型表达如下。
学生(学号,姓名,性别,年龄,系代号)
课程(课程号,课程名,学分)
学习(学号,课程号,成绩)
③“教学管理”数据库的关系数据模型如下。
根据图6-13转化成:
(实体)系(系代号,系名称,系主任姓名,办公地点,电话)
(实体)教师(教师编号,教师姓名,专业特长,系代号)
(实体)学生(学号,姓名,性别,年龄,系代号)
(实体)课程(课程号,课程名,学分)
(联系)学习(学号,课程号,成绩)
(联系)教学(教师编号,课程号,授课班评估,学院评估)
根据关系模型的设计,可以在计算机上实现数据库的建立。