mysql中n*m表和n个表的差异,每个表有m列
我想在mysql中创建一个表,其中每行的第一列包含一个问题,下一列包含答案。因为每行可能包含不同数量的答案,所以每行中的列可能不匹配。因此,我创建了n个不同的表,其中包含所需的列数。所以我想知道这是否是处理问题的好方法。mysql中n*m表和n个表的差异,每个表有m列,mysql,Mysql,我想在mysql中创建一个表,其中每行的第一列包含一个问题,下一列包含答案。因为每行可能包含不同数量的答案,所以每行中的列可能不匹配。因此,我创建了n个不同的表,其中包含所需的列数。所以我想知道这是否是处理问题的好方法。 谢谢这不是一个好主意,标准方法如下: 问题是一个实体,具有ID的最小属性(auto increment、PK、INT)和文字问题(text或varchar) Answer是一个实体,其属性ID和Answer也是一个字符串 一个问题可以有许多答案,一个答案也可以是不同问题的答案(
谢谢这不是一个好主意,标准方法如下: 问题是一个实体,具有ID的最小属性(
auto increment
、PK
、INT
)和文字问题(text
或varchar
)
Answer是一个实体,其属性ID和Answer也是一个字符串
一个问题可以有许多答案,一个答案也可以是不同问题的答案(=许多问题可以有许多答案(mtm
或m2m
关系))(如果没有,两个表就足够了,但我会通过这种方式减少冗余)。这是你的亲戚。在关系表中,在两列问题id
和答案id
上使用PK
您需要3个表格,问题
,答案
和问题_有答案
谷歌的有用关键词:“规范化”、“实体关系”其实不然。创建两个表怎么样?一个用于提问,一个用于回答,然后使用外键将它们连接起来?请阅读所写内容。我写了两张表格。一个用来提问,一个用来回答。你可以问“你多大年纪?”和3个可能的答案。将问题存储为1行,将答案存储为3行。你可以有一个没有答案的问题。或者有一百万个答案的问题。将行添加到数据库中。不是列。