2014-02-01 3 views
0

Я создаю веб-rpg и хочу сохранить статистику пользователя в базе данных MYSQL.Схема DB для одного игрока web RPG

Я создал таблицу под названием users. Я помещаю их статистику в ту же самую таблицу? Значение, users стол с колонками playername, password, score, number of item a, number of item b. Или мне нужно разделить статистику на свою собственную таблицу stats и связать идентификатор пользователя со статистикой?

EDIT:

Это как я бы управлять статистики для каждого пользователя?

enter image description here

+0

Используйте отдельную таблицу статистики с идентификаторами пользователя. –

+0

@JohnMcMahon и настроить его как реляционный db? – Growler

+0

Несомненно, MySQL является реляционной базой данных, и если вы хотите пройти этот маршрут, имеет смысл разбить разные объекты игры на отдельные таблицы. Существует множество различных способов реализации вашей базы данных, как реляционных, так и нереляционных, деления данных на разные таблицы или нет, все зависит от вас и знания ваших данных. Если вы решите моделировать свои данные с реляционной базой данных, вам может быть полезно прочитать о нормализации. –

ответ

1

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

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

см http://www.databasejournal.com/features/mysql/article.php/3906761/Cardinality-in-MySQL-Data-Modeling.htm

UPDATE: дополняя из-за вашего редактирования.

Если вы хотите отслеживать разные моменты, когда у пользователя были разные уровни и опыт в вашей игре, да. Но если идея состоит в том, чтобы сохранить только текущий уровень и опыт для каждого игрока, тогда нет - они должны быть столбцами в пользовательской таблице.

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