问题 问答题

阅读下列说明,根据要求回答下列问题。

[说明]

某学校为实现无纸化、网络化的教材管理,拟开发一套教材管理系统。该系统主要负责统计全校的教学用书的需求信息,以便进行教材的统一购买。

[需求分析结果]

(1)教学计划。各学院的教学计划是教材需求的来源,各学院的教学管理人员为本学院的各个专业方向制订教学计划。教学计划主要描述每个专业方向不同学期所开设的课程信息,教学计划的示例如表1所示。

表1 “教学计划”示例
院系名称专业名称学期课程编号课程名教材编号
计算机系软件工程4C0101软件开发B001
计算机系软件工程4C0103数据库技术B003
计算机系网络通信5C0103数据库技术B003
电子工程系网络通信6C020l数据库技术B005

(2)课程信息。课程信息包括课程编号、课程名和教材编号,由课程编号唯一标识。如表1所示,《数据库技术》课程因其使用的教材不同而分别编号。

(3)专业方向和班级。学校根据学院和专业方向将学生划分班级。一个学院可有多个专业方向,不同学院可以有相同名称的专业方向。一个专业方向可有多个班级,班级包含入学年份和人数。

(4)教材信息。教材信息记录教材的基本信息,包括教材编号、教材名称、ISBN号、出版社名称、作者和版本号。同一种教材版本不同,编号也不同,一种教材可以有多个作者。

(5)教材需求。根据各学院的教学计划和对应的班级人数,统计全校各系各专业各班级的教材需求情况。教材需求量是根据现有的教学计划和班级人数计算得到的。

[逻辑结构设计]

根据需求阶段收集的信息,设计的关系模式如图所示。

关系模式的主要属性、含义及约束如表2所示。

表2 主要属性含义及约束
属性含义及约束属性含义及约束
班级号唯一标识每个班级的编号教材编号唯一标识每本教材的编号
院系名称唯一标识每个院系的名称ISBN教材图书的ISBN号,唯一标识一本图书
专业名称唯一标识某个院系中某个专业方向的名称  

根据如图所示的关系模式,给出班级和教材的函数依赖(不完整)如下。

(1)班级关系函数依赖FD1。

班级号→入学年份,人数,院系名称,专业名称

(2)教材关系函数依赖FD2。

教材编号→教材名称,ISBN,出版社,版本号(不完整)

分析以上各关系模式,请回答以下问题。
(1)“教学计划”关系是否存在冗余请简要说明。
(2)根据现有关系模式,能否获得学校每学期各种教材的需求总量请简要说明。
(3)考虑到任选课只有部分学生选修,需要增加或修改哪些关系模式请给出修改结果并简要说明。

答案

参考答案:

这是一道要求读者掌握数据库逻辑结构设计的综合应用题,本题的解答思路如下。

(1)教学计划主要是描述每个专业方向不同学期所开设的课程信息,它是教材需求的来源。在如图所示的关系模式中,“课程”关系模式已经记录了课程的课程名和教材编号等信息,在教学计划中只需记录每条教学计划与课程的对应关系即可。因此,图中“教学计划”关系模式存在数据冗余,即没有必要再在教学计划中记录课程名和教材编号。

(2)在“教学计划”关系模式中,存放着每学期不同专业班级所应开设的课程。根据教学计划确定每学期需开设的课程总数,进而确定所需的教材种类。再根据不同学期每门课程对应多少个班级,确定每种教材对应的班级总数,再分别乘以班级人数,得到不同学期每种教材的需求量。这一计算过程符合题干中的关键信息“教材需求量是根据现有的教学计划和班级人数计算得到的”,因此根据现有关系模式,可以求解得到学校每学期各种教材的需求总量。

(3)考虑到任选课只有部分学生选修,即所开设的课程分为必修课程和选修课程。必修是教学计划中对应班级的每个同学都必须学习的,选修课程是教学计划中对应班级的一部分同学任选的,因此为了满足这一需求,需要修改“课程”关系模式,增加“选修必修”属性,用来说明该门课程是必修课还是任选课。对“课程”关系模式具体修改如下。

课程(课程编号,课程名,教材编号,选修必修)

同时,为了了解某一选修课程的选修人数,以便统计教材需求量,还需要增加“选修情况”关系模式,即:

选修情况(班级号,选修课程号,选修人数) 或者 选修情况(选修课程号,选修人数)

在统计教材需求信息时,需要对课程的“选修必修”属性值进行判断。如果是任选课程,则根据教学计划对应的专业方向,找出对应的班级,再根据班级和选修课程号,从“选修情况”关系模式中获取具体的选修人数,进而得出选修课教材的需求量;如果是必修课程,则仍从专业方向对应的班级关系中获得班级人数,进而得出必修课教材的需求量,最后进行相关的分类统计。

判断题
问答题 简答题