mysqlとデータベースについて無知で申し訳ありませんが、私はそれを学んでいます。
したがって、次の状況を想定します。
さまざまな色のボールの定義(ball_definitions)を含むテーブルがあります。
id color
1 red
2 blue
3 green
...
N
ここで、idはプライマリ値です。
そして、私は人の定義を持つ2番目のテーブル(人)を持っています:
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
人の数やボールの数が変わると、ちょっとした努力のように思えました。
より良い解決策はありますか?
乾杯、ホルヘ