Структура базы данных для результатов спортивных соревнований - PullRequest
0 голосов
/ 20 сентября 2011

Я хочу создать базу данных SQL.В основном пользователь входит в систему и может просматривать свои события, которые он сделал, и в каком году результат был.Например, пользователь участвовал в соревнованиях по горному велоспорту в 2008, 2009 и 2011 годах. А в 2006, 2008 и 2010 годах он проводил соревнования по дорожному марафону. Пользователь заходит на сайт и может просматривать свои результаты из различных событий.и годы он сделал.Мне нужно составить структуру SQL для этого.

Буду признателен за любую помощь


Да, спасибо за ответ.Я придумал похожую структуру.Но проблема в том, что каждое событие будет происходить в течение нескольких лет с разными результатами.Например, событие Mountain Cycling Event происходит ежегодно с разными пользователями и разными результатами.Мне нужна структура, где все динамично.Например, Боб входит в систему.Он выбирает, чтобы увидеть все события, которые он совершил в прошлом году (2010), Горный велосипед, Марафон, и результаты, которые он получил от тех событий, которые он сделал в 2010 году. В таблице событий, если у вас есть событие дорожного цикла на имя сдата 2010 и событие Горного Цикла с годом также в 2010 году будут дублироваться.Извините за путаницу.Но чтобы сделать систему динамичной, и пользователь мог видеть, например, только просмотреть результаты, которые он получил от события Горного цикла за разные годы, или увидеть все события, которые он совершил в конкретном году, и результаты.

1 Ответ

2 голосов
/ 20 сентября 2011

Вы можете использовать 3 таблицы:

Событие

  • EventID
  • EventName
  • Дата

Пользователь

  • Идентификатор_пользователь
  • Имя пользователя
  • Пароль

Результаты

  • ResultID
  • EventID
  • Идентификатор_пользователь
  • Результат (затраченное время или что-то еще)

Вам может не понадобиться поле ResultID в таблице «Результаты», вы можете обойтись без составного ключа, используя EventID и UserID, но я лично предпочитаю использовать Первичные ключи.

Мое решение также предполагает, что результаты всех этих событий имеют временную сортировку (поэтому все они «вы сделали это за x минут», а не «вы выиграли 2 ноль»).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...