Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql中n*m表和n个表的差异,每个表有m列_Mysql - Fatal编程技术网

mysql中n*m表和n个表的差异,每个表有m列

mysql中n*m表和n个表的差异,每个表有m列,mysql,Mysql,我想在mysql中创建一个表,其中每行的第一列包含一个问题,下一列包含答案。因为每行可能包含不同数量的答案,所以每行中的列可能不匹配。因此,我创建了n个不同的表,其中包含所需的列数。所以我想知道这是否是处理问题的好方法。 谢谢这不是一个好主意,标准方法如下: 问题是一个实体,具有ID的最小属性(auto increment、PK、INT)和文字问题(text或varchar) Answer是一个实体,其属性ID和Answer也是一个字符串 一个问题可以有许多答案,一个答案也可以是不同问题的答案(

我想在mysql中创建一个表,其中每行的第一列包含一个问题,下一列包含答案。因为每行可能包含不同数量的答案,所以每行中的列可能不匹配。因此,我创建了n个不同的表,其中包含所需的列数。所以我想知道这是否是处理问题的好方法。
谢谢

这不是一个好主意,标准方法如下:

问题是一个实体,具有ID的最小属性(
auto increment
PK
INT
)和文字问题(
text
varchar

Answer是一个实体,其属性ID和Answer也是一个字符串

一个问题可以有许多答案,一个答案也可以是不同问题的答案(=许多问题可以有许多答案(
mtm
m2m
关系))(如果没有,两个表就足够了,但我会通过这种方式减少冗余)。这是你的亲戚。在关系表中,在两列
问题id
答案id
上使用PK

您需要3个表格,
问题
答案
问题_有答案


谷歌的有用关键词:“规范化”、“实体关系”

其实不然。创建两个表怎么样?一个用于提问,一个用于回答,然后使用外键将它们连接起来?请阅读所写内容。我写了两张表格。一个用来提问,一个用来回答。你可以问“你多大年纪?”和3个可能的答案。将问题存储为1行,将答案存储为3行。你可以有一个没有答案的问题。或者有一百万个答案的问题。将行添加到数据库中。不是列。