|
|
|
Проектирование БД
|
|||
|---|---|---|---|
|
#18+
Никак мне в голову не придёт разумное решение. Описывать целиком задачу, я думаю, будет излишне, так как проблема у меня только в одной части. В общем, есть некоторый список пользователей. Помимо прочей информации есть несколько однотипных числовых полей. Плюс ещё одно поле, где будет храниться их сумма. Проблема в том, что число этих полей может меняться. Сама база будет под MySQL и вся работа с ней из PHP-скриптов. Изменять каждый раз одну-единственную таблицу, добавляя в неё новые поля мне кажется не очень разумным. Особенно, если потребуется их удалить. А эти процессы должны выполняться хоть и редко, но автоматически. Пока единственное решение, которое пришло в голову - держать все эти поля в отдельных таблицах, в каждой из которых будет поле с ID пользователя и поле с соотвествующем ему значением. Плюс табличка, где будет храниться информация о кол-ве этих таблиц и их именах. Я, честно говоря, не уверен, но по-моему, задал вопрос в правильном разделе. А вопрос в том, можно ли сделать это как-то иначе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 19:11 |
|
||
|
Проектирование БД
|
|||
|---|---|---|---|
|
#18+
Можно создать таблицу UserDetails, подчинённую таблице Users, с полями UserId, LineNum, Value. Причём (UserId, LineNum) будет уникальным индексом, LineNum - это номер параметра, Value - значение параметра. Сумму в базе хранить не обязательно, её можно вычислять: select sum(Value) from UserDetails where UserId = ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 19:26 |
|
||
|
Проектирование БД
|
|||
|---|---|---|---|
|
#18+
То есть короче говоря это будет только одна дополнительная таблица с такими полями: UserID | НомерПараметра | Значение Я правильно понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 19:30 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33767211&tid=1545225]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
458ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 785ms |

| 0 / 0 |
