-2

我有点陷入困境,试图使两个独立的数据库表通过两列相互关联。

在我的网站上,我有一组课程以及一组属于每个课程的目标。类存储在它们自己的数据库表中,目标也存储在它们自己的表中。

我希望用户能够为活动课程的任何目标手动设置开始和结束日期,并且当发生这种情况时,它也需要在数据库中进行更新。我的麻烦来自试图想象这一切应该如何发生,以及数据库中的表应该如何处理这个问题。非常感谢所有帮助。谢谢

编辑:这是我目前的表设计。(我还不知道如何在这里制作一张合适的桌子,所以我将创建一个粗略的设计草图。)

Classes
class_id | instr_id | class_name | start_date | end_date   |
1        | 1        | Class1     | 2013-05-10 | 2013-05-30 |
2        | 2        | Class2     | 2013-05-10 | 2013-05-30 | 
3        | 3        | Class3     | 2013-05-10 | 2013-05-30 |
.. and so on for each class.

Objectives
class_id | objective_id | start_date | end_date   |
1        | 1            | 2013-05-10 | 2013-05-30 |
1        | 2            | 2013-05-10 | 2013-05-30 | 
1        | 3            | 2013-05-10 | 2013-05-30 | 
2        | 1            | 2013-05-10 | 2013-05-30 | 
2        | 2            | 2013-05-10 | 2013-05-30 | 
2        | 3            | 2013-05-10 | 2013-05-30 | 
... and so on so every class has every objective_id, assuming each 
class has only 3 objectives.

我真的希望这有助于澄清一些事情。

4

1 回答 1

0

如果两个关系表之间存在多对多关系(如此处所述 - 可以为多个类设置一个目标,并且每个类可以有多个目标),这通常应该由一个链接表表示,该表将具有与每个父表的多对一关系。

在这里,链接表可以称为objective_assigned(作为“Objective assignment to Class”的缩写形式) - 它可能具有如下结构:

class_id
objective_id
start_date
end_date

- 在class_id 和objective_id 上有一个复合主键。

我还希望存在一个目标表,其主键为objective_id,并且有一列用于保存目标标题/名称。

于 2013-05-10T18:06:36.313 回答