Mysql 组织数据库的最佳方法?

Mysql 组织数据库的最佳方法?,mysql,sql,database-design,qsqlquery,Mysql,Sql,Database Design,Qsqlquery,更多详情: 双方都使用JOIN重新编译。但主要问题是如何在不使用多个重复值的情况下为每个类分配多个主题。我将有约200门de课程,每门课程约30门科目。这意味着,如果两个班共享相同的20个科目,我将有40行,所有行都带有“class_id=1”,但带有“subjects_id=1,subjects_id=2,等等”,这不是很符合人体工程学。还有其他想法吗?谢谢你的时间 所以,我再次在这里请求你的时间和帮助朋友 我有一个数据库,它几乎可以。但我一直在尝试如何将多个值从一个表链接到另一个表 让我更明

更多详情:

双方都使用JOIN重新编译。但主要问题是如何在不使用多个重复值的情况下为每个类分配多个主题。我将有约200门de课程,每门课程约30门科目。这意味着,如果两个班共享相同的20个科目,我将有40行,所有行都带有“class_id=1”,但带有“subjects_id=1,subjects_id=2,等等”,这不是很符合人体工程学。还有其他想法吗?谢谢你的时间

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

我有一个数据库,它几乎可以。但我一直在尝试如何将多个值从一个表链接到另一个表

让我更明确一点

我有这张桌子:

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

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

mat_id | show title | 
-----------------
   1   | English    | 
   2   | French     |
现在的问题是这个。每个班级(如1班)应能同时学习更多科目。例如,类1应该与主题(mat_id)1、3、5、6链接

如何做到这一点而不重复我自己,并优化数据库?我想我应该这样做,但这并不方便:

创建一个名为

每班科目

id | class_id   | mat_id    |
----------------------------
1  | 1          | 1         | 
2  | 1          | 3         | 
但是我不知道如何去质疑它。有什么想法吗?任何帮助都将不胜感激


谢谢

您可以使用
join
命令


您正在描述规范化数据库中的多对多关系。如果你不知道这意味着什么,我听说过这本书的好东西,为凡人设计数据库。这正是你所做的。有一个中间表来处理两个主表之间的链接。这就是所谓的多对多关系。是的,但我真的需要在“每个类的主题”中有多个相同的“类id”?我的意思是,没有其他方法可以为每个类分配更多的“mat_id”吗?谢谢你的时间!是的,同一个班级id在每班科目表中出现多次,每班学习一个科目一次。这是正确的结构,它允许您在类和subject.ok上的RDBMS级别强制唯一性,就是这样。谢谢大家抽出时间!