База данных рейтинга легкой атлетики - Количество таблиц - PullRequest
0 голосов
/ 17 августа 2011

Я довольно новичок в этом, так что, возможно, вам придется терпеть меня. Я разрабатываю базу данных для веб-сайта с рейтингом по легкой атлетике, и мне было любопытно, сколько таблиц будет наиболее эффективным способом достижения этого.

В настоящее время у меня есть 2 таблицы, таблица под названием «спортсмены», в которой содержатся данные обо всех моих бегунах (потенциально около 600 человек / записи), которая содержит следующие поля:

mid (идентификатор участника - первичный ключ)
Имя
фамилия
пол
день рождения
национальности

И вторая таблица 'results', которая содержит все их показатели и имеет следующие поля:

средний
eid (идентификатор события - первичный ключ)
EVENTDATE
категория события (дорога, трасса, поле и т. д.)
описание события (100 м, 200 м, 400 м и т. д.)
часы
минут
секунд
расстояние
указывает
место

Во второй таблице уже содержится около 2000 записей, и, возможно, со временем она увеличится в четыре раза, главным образом потому, что имеется около 30 дорожек, 10 полей, 10 дорог, кросс-кантри, реле, мульти-события и т. Д., И если их 600 спортсменов в моей первой таблице, что соответствует большому количеству записей в моей второй таблице.

Так что мне было интересно, будет ли чище / эффективнее иметь несколько таблиц для разделения дорожек, полей, кросс-кантри и т. Д.?

Я хочу использовать базу данных, чтобы упорядочить результаты людей, основываясь на их производительности. Если вы хотите лучше понять, что я пытаюсь подражать, взгляните на этот сайт http://thepowerof10.info

Ответы [ 2 ]

1 голос
/ 17 августа 2011

Изменение схемы не изменит количество результатов. Даже если вы разделите место проведения в отдельную таблицу, у вас все равно будет один результат на каждого участника.

Потенциальная выгода от наличия отдельного стола для проведения мероприятий была бы лучшей нормализацией. У бегуна может быть много результатов, и у определенного места может быть много результатов в данную дату. Вам не нужно будет повторять информацию о месте проведения в каждой записи результатов.

Вы хотите обратить внимание на индексы. Каждая таблица должна иметь первичный ключ. При выборе добавьте дополнительные индексы для столбцов, которые вы используете в предложениях WHERE.

Вот дискуссия о нормализации и что это может означать для вас.

PS - Тысячи записей не будут проблемой. Большие базы данных имеют порядок гига- или терабайт.

0 голосов
/ 17 августа 2011

Моя мысль -

Не разбивайте свою таблицу событий на отдельные таблицы для каждого типа (дорожка, поле и т. Д.). Вам будет намного проще запрашивать данные обратно, если они находятся в одной таблице.

В противном случае ваши две таблицы выглядят хорошо - это хорошее начало.

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