|
|
|
| Что лучше, правильней, быстрей, удобней и т. д. (интересует со всех точек зрений)
1
Таблица - users
Поля - id, login, password, date, fizika, skill_sila, skill_skorost, skill_uroven и т. д. около 20 полей с приставкой skill
2
Таблица - users
Поля - id, login, password, date, fizika
Таблица - skill
Поля - users_id, skill_sila, skill_skorost, skill_uroven и т. д. около 20 полей с приставкой skill
? | |
|
|
|
|
|
|
|
для: Sergeous
(03.06.2010 в 03:10)
| | Для начала не плохо бы описать задачу, но на мой взгляд оба варианта " ни в буфет, ни в красную армию" | |
|
|
|
|
|
|
|
для: Valick
(03.06.2010 в 07:52)
| | Задача простая. Онлайн игра. Пользователи регистрируется и тренирует свои скиллы. | |
|
|
|
|
|
|
|
для: Sergeous
(03.06.2010 в 13:37)
| | Задача простая
вообще то по идее нужно написать ноу комментс...
1) в таблице с регистрационными данными не должно быть никакой физики.
2) у Вас будет не одна и даже не две таблицы, счет пойдет на десятки.
| |
|
|
|
|
|
|
|
для: Valick
(03.06.2010 в 14:28)
| | а зачем тут десятки таблиц? | |
|
|
|
|
|
|
|
для: Sergeous
(03.06.2010 в 13:37)
| | - | |
|
|
|
|
|
|
|
для: Sergeous
(03.06.2010 в 03:10)
| | Я думаю, нет никакого смысла выделять вторую таблицу.
Просто нужно навесить индексы (я так понимаю skill будет целочисленным) и при выборках явно указывать те поля которые нужны в каждом конкретном случае (не использовать *). Тогда будет шустро работать. | |
|
|
|
|
|
|
|
для: Sergeous
(03.06.2010 в 03:10)
| | второй вариант однозначно.
Приставку skill - можно убрать.
Почему вам сказали про 20 таблиц - потому что у вас наверное будет не только skill, но и другие объекты в игре, связанные с пользователем. | |
|
|
|
|
|
|
|
для: HaJIuBauKa
(04.06.2010 в 10:12)
| | совершенно верно, а вот что бы не гадать на кофейной гуще автору топика нужно подробно изучить нормализацию таблиц и БД, там все подробно описано, что как и почему, а также в каких случаях можно пожертвовать нормализацией. | |
|
|
|
|
|
|
|
для: HaJIuBauKa
(04.06.2010 в 10:12)
| | Если с точки зоения нормализации подходить к вопросу, то, помимо таблицы с пользователями, нужно сделать ещё 2 таблицы:
1. таблицу справочник
skill_id | skill_name
2. Таблицу связи пользователей с этим справочником
user_id | skill_id | skill_value
Теперь всё канонически, только с точки зрения скорости будет работать медленнее в выборках из-за неизбежного объединения таблиц (можно правда объединение заменить несколькими запросами, может дать выигрыш, особенно на больших массивах).
Поэтому, если число skill-ов фиксированное и не будет слишком часто меняться, то можно плюнуть на нормализацию и сделать одну таблицу.
P.S. А тупо выделять n-ое число полей одной таблицы в отдельную - занятие бессмысленное | |
|
|
|
|
|
|
|
для: Axxil
(04.06.2010 в 12:24)
| | Сам ты ёлка :) | |
|
|
|