对不起,我对mysql和数据库一无所知,但我有点了解它。Mysql数据库设计了多个值的多个值
因此,假设以下情况:
我有一个定义(ball_definitions)表的不同颜色的球:
id color
1 red
2 blue
3 green
...
N
其中id是首要价值。
和我有第二个表(人)与人的定义:
id name
1 John
2 Peter
3 Michel
...
M
(其中id是主键)
现在,我想涉及到每个人,量拥有球由人,在概念上,是这样的:
john: 1 red ball, 3 green ball, 0 blue ball
peter: 3 red ball, 2 green ball, 1 blue ball.
...
以这种方式,无论是M和N可以(为可移植性原因)而有所不同。
我的第一个难题是让人的桌子有N列,其中每列指的是每种颜色,但这不是可移植的(需要每次更改ball_definitions更改的触发器,而且看起来很难查询) 。
在另一方面,创建一个新表与“多对多”的关系:
persons_id ball_definitions_id amount
1 1 1
1 2 3
1 3 0
2 1 3
2 2 2
2 3 1
在我看来,一点点的努力,当人的数量或球的数量变化。
有没有更好的解决方案?
干杯, 豪尔赫
第二个解决方案又是什么问题?我真的不明白你在说什么,这对我来说这样做很有意义。 – Jasper
@Jasper如果我添加一个新球,我必须为该表创建M个新条目。也许我不习惯这个,但是如果N和M很大并且我想从特定的人“我”查询表格(例如,为什么必须通过所有条目,如果我只想要条目第一个元素是“我”) –