Я создаю систему для хранения данных стата пользователя следующим образом:MySQL Запрос
Table Stats =========== id name ----------- 1 height 2 weight 3 eye_colour 4 etc...
Table Stat_Options ================== id stat_id name 1 1 170cm 2 1 172cm 3 1 174cm 4 2 60kg 5 2 65kg
И я храню идентификаторы stat_options в таблице пользователей следующим образом:
Table User_Stats ================ id user_id height weight eye_colour etc... --------------------------------------------------------- 1 10 3 5 7
Основой для хранения идентификаторов было то, что «имя» stat_option всегда можно изменить, и запись пользователя не требуется изменять.
Но, смотря на это, я думаю, что это может представлять проблему, особенно при поиске. Например, если я хочу искать всех пользователей между двумя конкретными высотами? Одно из решений, которое приходит на ум, - это вставить поле «значение» в таблицу Stat_Options, но я все еще не уверен, что это сработает. Какие-либо предложения?
`SELECT ... FROM STAT_OPTIONS WHERE stat_id = 1 И имя МЕЖДУ x И y` - что с этим сложно? Присоединитесь к таблице STATS, если вам нужно получить stat_id на основе значения имени ... – 2010-12-09 22:12:05