2015-11-01 2 views
2

У меня есть два варианта, чтобы связать команды и игры в моей базе данных; какой из них наиболее уместен?Как создать отношения между командой и игрой?

Я пытался сделать это простым, вот что я хочу. Teams имеют много games, и каждый game имеет home team и away team. Это отношения многих и многих.

Вот что я подумал:

enter image description here

Я не уверен, должен ли я поставить boolean поле под названием ishome в competes таблицы или добавить два поля под названием home_id и away_id, и установить их в качестве foreign ключа к ссылкам team.id, как на следующем рисунке.

enter image description here

+0

Использовать вариант 2 Вы упомянули –

+0

Спасибо, но можете ли вы дать мне какие-нибудь советы? Это потому, что в каждой игре есть только две фиксированные команды? Если в каждой игре есть динамическое количество команд, следует ли использовать вариант 1? –

+0

Точно. Используйте его, если у вас есть только фиксированное количество команд. –

ответ

1

Если у вас есть всегда две команды играют друг против друга вы можете использовать

competes table 
-------------- 
home_team_id 
away_team_id 
game_id 

как в вашей 2-й вариант. Но если у вас есть динамическое количество команд в игре, то используйте другую.

Смежные вопросы