Вопросы Эффективности и Быстродействия

alexhemp

Новичок
Lord Max

У тебя ПОКА один тип персонажей. А ты не думал над РАЗВИТИЕМ проекта? Как ты будешь ДОБАВЛЯТЬ новый тип?

Тип = стандартный набор атрибутов, если он у тебя один, таблицу типов просто не используем.
Тем не менее все равно таблица ШАБЛОНА атрибутов потребуется.
 

Lord Max

Guest
alexhemp
а я сделаю всё как Вы сказали, НО сделаю как раз таки таблицу с НЕ стандартными наборами атрибутов, то есть каждый юзер будет иметь набор стандартных атрибутов (в таблице USERS) + набор атрибутов связанных с его классом, классы - специализации персонажей (доктор, инженер и тд.)
Когда понадобится добавить новый атрибут, я просто добавлю его в таблицу USERS(или в шаблон класса - для классовых атрибутов) со значением по умолчанию, для всех пользователей. Я подумал, что можно будет так сделать, так как при добавлении нового атрибута, первоначально у всех игроков значения будут одинаковыми , например 0 - для целочисленных.
В чём я не заметил подвох ? или можно делать так ? :)
 

alexhemp

Новичок
Lord Max

Не нужно в таблицу "users" пихать атрибуты.
Один атрибут от другого ничем не отличается.

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

При выборках везде это учитываешь - можно прямо в запросе выбирать ISNULL-ом. С другой стороны если значение атрибута не отличается от дефолтного то его и хранить не надо.
 

Lord Max

Guest
alexhemp
нормализую до посинения, уже получилось около 30 таблиц, и сложно не запутаться :)
1
Названия атрибутов действительно ничем не отличаются, но отличаются их значения и все они уникальны, у всех разные.
2
Можно немного отойти от "шаблонов" и представить всё в абстракции?, допустим есть 2 класса-типа персонажей (доктор и сантехник) у них есть , скажем 5 общих атрибутов (lastlogin, logincount,lastactiontime, power, health) и ещё 3 у каждого разных. в таблице шаблонов будут храниться 8 строк для 1го и 8 строк для 2го, я правильно понимаю ??? а в таблице значений атрибутов все атрибуты каждого с ссылкой на класс и id пользователя ? то есть при создании нового перса следует селектать все поля из шаблона (соответствующих выбранному классу) и вставлять в таблицу значений соответствующие строки значений ?

-~{}~ 01.12.05 18:34:

получил ответы на все заданные вопросы, тема закрыта...
 

alexhemp

Новичок
Lord Max

Конечно у тебя получается 3 множества -

1. Множество предметов
2. Множество атрибутов
3. Множество значений атрибутов предметов - это декартово произведение множеств 1 и 2 + дополнительное значение в каждом векторе множества.
 
Сверху