2014-01-23 3 views
1

Im работает на веб-сайте, который обрабатывает статистику, для спортивных соревнований. I.E мой сайт позволит пользователям быстро искать, какой игрок (ы) набрал наибольшее количество очков в игре/сезоне или то, что 1 игрок записывает против других игроков или команды.Нужна помощь в создании структуры базы данных

Мои данные за предыдущие игры отображаются как этот enter image description here

При нажатии на раунд. Пример round4 game1 (Что такое Hurricanes vs Crusaders) Статистика для этой игры и статистика всех игроков для этой игры (для обеих команд) отображается. Таким образом:

enter image description here

enter image description here

Кроме статистика игры также получает отображаться как это: enter image description here

Теперь им пытаются загрузить это в базу данных, так что пользователи могут:

  1. Сравнить 1 игрок записи против других игроков записи
  2. Сравнить 1 игрок записи против конкретной команды
  3. Сравнить запись команд против другой записи команд
  4. Дисплея лучшего и худшего игрок и команды статистики

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

Должен ли я создать таблицу для каждого отдельного матча? или Должен ли я создать 1 таблицу для всех матчей и 1 таблицу для всех игроков? Если да, с чем я работаю в качестве моих основных ключей?

Я знаю, что это длинный вопрос, так что кому-то потребовалось время, чтобы прочитать это, спасибо заранее, если кто-нибудь может указать мне в правильном направлении или просто дать мне мнение, что это было бы ВЕЛИКОЕ оценено. im просто полностью тупик на этом.

ответ

1

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

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

Рассмотрим следующую логическую модель данных:

ERD

+0

благодарим вас за то, что нашли время, чтобы составить для меня эту диаграмму, появилась лампочка (наконец), и я начал понимать дизайн, посмотрев на эту диаграмму. Еще раз спасибо – Marilee

0

Если надежда учит, как рыба ....

Выпишите какие объекты вы думаете, у вас есть, и какие атрибуты они владеют. Атрибутом может быть другой объект. Например, объект Team имеет атрибут Name и несколько атрибутов Player. Но Player также является атрибутом Entity с атрибутом Name и, возможно, некоторыми атрибутами статистики.

Это даст вам отправную точку для таблиц (объектов) и их столбцов (Атрибуты). Если атрибут также является сущностью, нарисуйте строку из атрибута в объект: это ваши отношения. Затем возьмите пример ввода данных в Третью нормальную форму (3NF) и следуйте примеру tghe, применяя шаги к вашей диаграмме. Когда вы это сделаете, у вас будет хороший дизайн базы данных.

Приветствия -

+0

Спасибо за ваш ответ, это отправная точка, и я обязательно воспользуюсь советом – Marilee

+0

Удачи! Если вы столкнетесь с проблемами на этом пути, отправьте конкретные вопросы вместе со структурой, которую вы получили до сих пор. Cheers - –

0

Вы должны присоединиться все таблицы «Игра» в одну таблицу. Просто добавьте необходимую дополнительную информацию:

Столбцы:

  • GameID - INT - игра И.Д., бывшая часть имени таблицы
  • scoreA - первые команды забивают
  • scoreB - вторая команда забивает
  • teamAId - Идентификатор первой команды, прежнее название колонки
  • teamBId - идентификатор второй команды, прежнее название колонки

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

+0

Я думаю, что я принял ваши опубликованные таблицы в качестве вашей структуры db. Если это так, это довольно несложное изменение. Если ваша структура db - это что-то другое, сообщение plz, и мы можем попытаться перейти оттуда. – ToBe

+0

Если вы можете начать с нуля, на других плакатах есть полезные советы здесь! – ToBe

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