Имеют 2 стола: «Команда и игра», где у команды есть название команды и идентификатор команды, а в игре 2 идентификатора команды (команда 1 и команда 2) и счет игры. Затем у вас есть внешние ключи (для целостности) между таблицами Game и Team. Это будет отражать, кто играл, кто и что получил, с минимальной схемой и очень простой структурой.
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
Затем вы также можете добавить дополнительную информацию, например, когда игра состоялась (дата), и любую другую информацию, такую как другие статистические данные об игре или команде.