對不起,我對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很大並且我想從特定的人「我」查詢表格(例如,爲什麼必須通過所有條目,如果我只想要條目第一個元素是「我」) –