组织数据库的最佳方法?

时间:2013-09-18 18:17:44

标签: mysql sql database-design qsqlquery

更多细节:

你们都建议使用JOIN。但主要问题是如何在不使用多个重复值的情况下为每个CLASS分配多个SUBJECTS。我将有200个课程,每班约30个科目。这意味着如果2个类共享相同的20个主题,我将有40行,所有都有“class_id = 1”,但“subject_Id = 1,subject_id = 2,等等”它不是非常符合人体工程学。还有其他想法吗?谢谢你的时间!

所以,我在这里再次请你的时间和帮助朋友。

我有一个几乎可以的数据库。但我一直在尝试如何将表中的多个值链接到另一个表上的列。

让我更明确一点。

我有这张桌子:

    CLASSES
id | class_name | Matters   | 
-----------------------------
1  | Class1     | 13.4.2013 | 
2  | Class2     | 14.4.2013 | 

这张表:

受试者

mat_id | show title | 
-----------------
   1   | English    | 
   2   | French     |

现在的问题是这个。每个CLASS(例如CLASS1)应该能够一次研究更多的主题。例如,CLASS 1应与subject(mat_id)1,3,5,6相关联。

如何在不重复自己的情况下做到这一点,并优化数据库?我认为我应该这样做,但不方便:

创建一个名为

的新表

SUBJECTS_PER_CLASS

id | class_id   | mat_id    |
----------------------------
1  | 1          | 1         | 
2  | 1          | 3         | 

然后我不知道如何查询它。有任何想法吗?任何帮助将不胜感激!

谢谢!

2 个答案:

答案 0 :(得分:3)

SELECT 
 * 
FROM 
  CLASSES 
JOIN 
  SUBJECTS_PER_CLASS 
ON 
  CLASSES.ID = SUBJECTS_PER_CLASS.class_id
JOIN 
  Subjects 
ON 
  Subjects.id = SUBJECTS_PER_CLASS.mat_id

答案 1 :(得分:-1)

您可以使用join命令。

Reference 1

Reference 2