Database 不符合表格的第四标准形式
下面是一个数据库的图表,该数据库将用于管理跨多个年份的大学生入学率和成绩。下面列出了数据库的要求Database 不符合表格的第四标准形式,database,database-design,Database,Database Design,下面是一个数据库的图表,该数据库将用于管理跨多个年份的大学生入学率和成绩。下面列出了数据库的要求 学生必须能够成为班级的一部分 班级必须教授一门学科 每个班级可能有0个或更多的课程作业 每节课有一次考试 每节课可以由一位以上的讲师讲授 课程只能由一名讲师设置 课程作业和考试可以由不同的工作人员进行评分,而不是由设置这些作业和考试的人员进行评分,评分的工作人员必须能够识别和记录 有必要说明参加的考试是第一次还是重新考试 我认为数据库现在处于第四范式,如下表所示 该键表示该表的主键,绿色箭头表
- 学生必须能够成为班级的一部分
- 班级必须教授一门学科
- 每个班级可能有0个或更多的课程作业
- 每节课有一次考试
- 每节课可以由一位以上的讲师讲授
- 课程只能由一名讲师设置
- 课程作业和考试可以由不同的工作人员进行评分,而不是由设置这些作业和考试的人员进行评分,评分的工作人员必须能够识别和记录
- 有必要说明参加的考试是第一次还是重新考试
有人能发现任何错误或提出改进方法吗?这里没有足够的信息来说明您是否满足任何标准形式的要求。我们只能猜测一些依赖关系 例如,“每堂课都有一次考试”似乎是在说那堂课→考试另一方面,您的检查表满足依赖项examID→classID,这不是您的要求之一。我无法从图表中判断classID是否是考试表中的候选键。如果classID→examID是需要满足的依赖项之一
从实际数据建模的角度来看,4NF不是很重要。5NF更重要。这是家庭作业吗?如果是这样,我建议您在开始绘制图表之前写下属性和依赖项。您创建的属性似乎比需求声明中建议的要多得多。显然,课程作业和课程作业之间的基数不能是1:1 (为什么有些线是虚线,有些线不是?)