学校信息管理系统:E-R模型与关系设计详解及3NF/BCNF分解

需积分: 0 0 下载量 15 浏览量 更新于2024-08-05 收藏 332KB PDF 举报
本资源提供了一个关于数据库设计的作业题目和部分解答,主要涉及E-R模型图和关系模型的转换,以及函数依赖集的分析与规范化设计。 首先,针对学校信息管理系统的数据库设计: 1. **E-R模型图设计**: 建立一个学校信息管理系统需要考虑三个实体:学生、教师和课程。学生实体包括学号、姓名、性别、院系和专业;教师实体包含工作证编号、姓名、职称和出生日期;课程实体则包括编号、名称、类别代码和学分。为了表示一门课程可以有多个班级和主讲教师,以及学生选课的信息,可以添加班(班号、年份、学期、课程编号、工作证编号)和选修(班号、学号、成绩)两个额外实体。E-R模型图会展示这些实体之间的关系,如学生与选修通过学号和班号关联,课程与班号和教师通过课程编号和工作证编号关联。 2. **关系模型及关键字**: - 课程表(课程)的关键字为编号。 - 教师表(教师)的关键字为工作证编号。 - 学生表(学生)的关键字为学号。 - 选修表(选修)的关键字为(学号,课程编号),这表示一条记录是一对多的关系,学生可以选修多个课程,而每个课程只能被多个学生选修。 接下来,针对函数依赖集的分析: 3. **最小函数依赖集计算**: F的最小覆盖为{A→BC, ABE→CDGF, C→GD, D→G, F→E},这是从原始函数依赖集中提取出的最简表达式,使得所有的函数依赖都能通过这些覆盖得到。 4. **候选关键字**: 关系模式R的候选关键字有两个:(A, E)和(A, F),这意味着这两个属性组合在每个记录中都是唯一的。 5. **规范化**: 要将R分解到3NF(第三范式),即消除非主属性对码的部分函数依赖。分解后的关系模式包括: - R1:仅包含(A, B, C)来消除了部分函数依赖。 - R2:保留(A, E, F)。 - R4:仅包含(C, D)。 - R5:仅包含(D, G)。 6. **BCNF检查与分解**: - R1, R4, R5已经满足BCNF(Boyce-Codd范式),因为它们没有传递函数依赖。 - R2不满足BCNF,因为它存在部分函数依赖(AE→F)和传递函数依赖(ABE→CDGF)。为了满足BCNF,可能需要进一步分解R2,例如可能需要添加一个新的关系来存储教师的主讲任务或班级信息,以消除部分函数依赖。 本作业主要涵盖了E-R模型的设计、关系模型的建立、函数依赖集的分析以及数据库规范化过程中的3NF和BCNF考虑。通过这个练习,学生可以深入理解数据库设计的基本原理和规范化的必要性。