Я хочу создать базу данных футбольных матчей.
Очевидно, что имеем:
- Страны (Нидерланды, Германия, (но также и Европа))
- Соревнования (Eredivisie, Бундеслига, Лига Европы УЕФА)
- Команды (ФК Твенте, Бавария Мюнхен, Атлетико Мадрид)
- Игроки (Луук де Йонг, Мануэль Нойер, Тьяго Мендес)
- Матчи (ФК Твенте - ПСВ, Бавария - Леверкузен и др.)
- События (Гол на 40-й минуте забил Луук де Йонг)
Я использую Dezign, в котором я создал следующую схему:
Очевидно, что соревнование связано со страной, игрок с командой и т. Д.
Но тогда возникают некоторые проблемы. Событие принадлежит Матчу и Игроку. Таким образом, Событие может получить match_id
и player_id
. Но тогда любой игрок любой команды мог «забить» в матче, к которому он не принадлежит (игрок команды C мог забить в матче между командой A и командой B). Как я могу ограничить это, например?
Кроме того, команда может участвовать как в обычном, так и в Лиге чемпионов. Таким образом, простого соревновательного идентификатора в сущности «Команда» будет недостаточно.
А вы предлагаете какие-нибудь другие мысли?
Редактировать в ответ на Филипп