我正在为一所小型学院规划一个数据库项目。我需要记录不同的课程和他们的必修课程要求。然后,我需要有不同机构提供的必修课程的记录。我需要能够搜索给定的必备课程是否满足特定课程的先决条件要求。
我还需要能够及时跟踪学院的课程和这些课程的先决条件。比如说,如果先决条件要求从一年变为下一年。同样,我需要能够及时跟踪特定的前提课程,因为特定课程的内容可能会发生变化,并可能使其符合条件或不符合先决条件。
所以这是我的问题。我认为多对多关系是组织这样一个数据库的最佳方式。它是否正确?或者有更好的方法来组织这样的数据库吗?我正在考虑创建一个包含程序(和需求)记录的表,第二个包含课程记录的表,以及显示给定程序和课程之间关系的第三个联结表。
我没有很多规划数据库的经验,并且在投入大量时间在这个项目之前会感激一些反馈。我打算使用MS-Access。提前谢谢。
答案 0 :(得分:1)
不是一个真正的答案(但是你的帖子实际上不是一个单一答案的问题),而是我在70年代作为RA写的类似系统的一些想法:
通过将外部机构课程翻译成大学相当的课程,简化外部机构课程,然后仅根据课程列表评估前提条件关系。
完全开发逻辑和需求第一,支持需求的数据结构将变得更加明显。
先决条件可以是OR和AND逻辑的复杂组合。
尽可能规范化数据 - 多个先决条件应该是数据中的单独行,而不是单独的列。
具体到你的问题,我想(但不确定)我会从一对多关系开始 - 一个独特课程代码的主表,然后是一个先决条件表,显示主人的每个(一个)课程列出了许多先决条件。但同样,要求&逻辑第一。