对不起,我对 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 更改的每个更改,而且似乎很难查询)。
另一方面,创建一个具有“ManyToMany”关系的新表:
persons_id ball_definitions_id amount
1 1 1
1 2 3
1 3 0
2 1 3
2 2 2
2 3 1
当人数或球数发生变化时,我觉得有点费力。
有没有更好的解决方案?
干杯,豪尔赫