有2個表格,團隊和遊戲,其中團隊有團隊名稱和團隊ID,遊戲有2個團隊ID(團隊1和團隊2)以及遊戲的得分。然後,在遊戲和團隊表之間有外鍵(用於完整性)。這將反映誰以最小的模式和非常簡單的結構來扮演誰和誰的得分。
Team
|-------------------------|
| Primary (int)| id |
| (chr)| name |
|-------------------------|
Game
|-------------------------|
| Primary (int)| team1 |
| Primary (int)| team2 |
| (int)| score1 |
| (int)| score2 |
|-------------------------|
所以,有些樣本數據將如下所示:
Team
|------------------|
| id | name |
|------------------|
| 1 | Blue Devils |
| 2 | Cardinals |
| 3 | Fish |
| 4 | Lemmings |
|------------------|
Game
|---------------------------------|
| team1 | team2 | score1 | score2 |
|---------------------------------|
| 1 | 2 | 7 | 8 |
| 1 | 4 | 2 | 25 |
| 2 | 3 | 8 | 2 |
| 3 | 4 | 17 | 18 |
|---------------------------------|
該數據表明,球隊1(藍魔)播放隊2(紅雀)的得分爲7〜8的其餘部分數據是相似的。
如果你不需要跟蹤團隊名稱,你可以離開這個領域,但這往往是有用的信息。
所以,用這個模式,你會得到一個特定的團隊分數與像
SELECT * FROM Game g
INNER JOIN Team t on t.team1 = g.id
查詢,如果你需要,喜歡當比賽發生(日期然後,您可以還添加其他信息)以及其他任何信息,例如關於遊戲或團隊的其他統計信息。
0123在你的樣本分數數據庫中,你有第五支球隊打出自己瓦特/得分1 – cdeszaq 2010-01-13 17:56:13
我想要一個改進方法的幾個原因之一。 – 2010-01-13 18:11:23