Изменение и хранение исходных хар-тик вещей.

Opik

Новичок
Изменение и хранение исходных хар-тик вещей.

Есть некоторая база вещей, стандартных. У пользователя должна быть возможность изменять вещи. Например, пользователь изменил какую то характеристику вещи, поднялась цена и т.д. Вопрос в том, как и где хранить эти изменения? Сейчас всё хранится в 2 таблицах:

items: id, name, cost (упрощенно)
equip: id, itemId.

У меня есть 2 варианта:
1) Хранить все вариации вещей так же в базе. Но база получится очень огромной, вообщем способ мне не нравится вообще.
2) Добавить в таблицу equip, параметры вещей из таблицы items, и если надо - уже в ней менять значение исходных характеристик. (пока оптимальный вариант).

Есть у кого другие мысли на этот счет, советы?

Заранее спасибо.
 

kos

Новичок
по моему это в форум про db
тебе нужно хранить историю измененений?
 

Opik

Новичок
Фанат
нет, мне надо хранить результат.
нужно было написать сразу:
Пользователь в игре покупает шмотку. Тут всё понятно, но тут он над ней поизвращался, в кузницу сходил, и т.д. разные вариации. Вообщем изменил свойства и характеристики вещи. Вот и конечные изменения мне нужно где то хранить.
 

Acabar

Новичок
Автор оригинала: Opik
Фанат
нет, мне надо хранить результат.
нужно было написать сразу:
Пользователь в игре покупает шмотку. Тут всё понятно, но тут он над ней поизвращался, в кузницу сходил, и т.д. разные вариации. Вообщем изменил свойства и характеристики вещи. Вот и конечные изменения мне нужно где то хранить.
Если я всё правильно понял, то можно сделать таблицу "вещи пользователей", в ней будит id самого пользователя, а также имя, свойства, и цена новой вещи, созданной этим пользователем. Таблица может будит большой но с помощью индексов запросы будут быстро выполняться
 

Dreammaker

***=Ф=***
Как вариант, таблица "модификаторы вещей пользователей".
id_user id_vestch id_mod

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

Можно также сделать что будет храниться не новый модификатор, а величина изменений модификатора и затем в запросе их суммируем (умножаем/делим и т.д. в зависимости от реализации системы).
 

Фанат

oncle terrible
Команда форума
Dreammaker
зачем такие сложности?
выбрать из одной общей таблицы вещей по первичному индексу шмотку - это сотые доли секунды. Какого бы размера она ни была.
а ты пытаешься что-то там высосать из пальца, объединять, вычислять.

Opik
Храни в одной таблице.
 

Dreammaker

***=Ф=***
Фанат, для нормализации :) В случая увеличения количества модификаторов, например.
 

EugeneVC

Новичок
у меня в игре сделано так, есть база шмота, там хранятся базовые характеристики шмота

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

поэтому когда я работаю со шмотом, я работаю всегда с 2 таблицами, 1 базовая и таблица модификаторов!
 
Сверху