|
Бд с "динамическими полями"
|
|||
---|---|---|---|
#18+
Название немного кривое, но и проблема в том, что я не знаю как грамотно сформулировать гугл вопрос, который меня интересует. Ответ там думаю есть, поэтому если кто-то просто ткнет грамотной фразой, как называется то что мне нужно будет отлично. Суть такова: у меня есть таблица пользователей, у каждого из них могут быть "особые параметры". Можно бы было сделать для каждого особого параметра просто свое "поле" и дело с концом. Но! Эти особые параметры я планирую добавлять со временем, да и у этих особых параметров могут быть свои какие-то параметры. Как я понимаю просто запрос на добавление нового поля не совсем грамотное решение и для них нужна новая таблица? или как подобное наиболее правильно оформить. Заранее спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2017, 16:41 |
|
Бд с "динамическими полями"
|
|||
---|---|---|---|
#18+
Всё зависит от того, что ты с этими параметрами хочешь потом делать. Диапазон решений - от EAV до CLOB с XML/JSON внутри. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2017, 17:39 |
|
Бд с "динамическими полями"
|
|||
---|---|---|---|
#18+
Вас выручит EAV. Достаточно добавить 2,3 таблицы. 1. Справочник параметров/настроек 2. таблица фактов: ссылка на п.1, на документ/справочник, значение факта XML/JSON в мемо-полях вам не подойдет, т.к. очень неудобно там вставлять/апдейтить и делать сложные выборки. А также плохая переносимость между СУБД. зы: Ща понабегут сюда любители этого подхода - не слушайте их. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2017, 10:43 |
|
Бд с "динамическими полями"
|
|||
---|---|---|---|
#18+
LSV, +1. Очень. Очень удобно делать сложные выборки и вставлять-апдейтить в EAV. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2017, 12:58 |
|
Бд с "динамическими полями"
|
|||
---|---|---|---|
#18+
Ну если инфраструктура уже есть и это РСУБД, однозначно, EAV . Можно, конечно и XML/JSON, но с изменением данных придется изначально помучиться - нетривиальное это дело. А если еще есть выбор - NoSQL ДСУБД и формат JSON. Они под такие задачи изначально "пилились". ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2017, 14:26 |
|
Бд с "динамическими полями"
|
|||
---|---|---|---|
#18+
ErrorrrНазвание немного кривое, но и проблема в том, что я не знаю как грамотно сформулировать гугл вопрос, который меня интересует. Ответ там думаю есть, поэтому если кто-то просто ткнет грамотной фразой, как называется то что мне нужно будет отлично. Суть такова: у меня есть таблица пользователей, у каждого из них могут быть "особые параметры". Можно бы было сделать для каждого особого параметра просто свое "поле" и дело с концом. Но! Эти особые параметры я планирую добавлять со временем, да и у этих особых параметров могут быть свои какие-то параметры. Как я понимаю просто запрос на добавление нового поля не совсем грамотное решение и для них нужна новая таблица? или как подобное наиболее правильно оформить. Заранее спасибо И кто же Вам мешает "добавлять эти особые параметры со временем"? "Скажи мне, кто тебя учил? И я ..."(С) :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2017, 16:18 |
|
Бд с "динамическими полями"
|
|||
---|---|---|---|
#18+
Errorrr, у каждого из них могут быть "особые параметры". https://docs.oracle.com/cd/E18727_01/doc.121/e12892/T354897T361274.htm ------ как вариант. дескриптивные гибкие поля - в таблице одно поле задает тип, а кучка других строковых интерпретируется системой в зависимости от поля типа. Ключевые - там посложнее немного, выносится в отдельную таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2017, 16:43 |
|
|
start [/forum/topic.php?fid=32&fpage=9&tid=1540103]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 246ms |
total: | 404ms |
0 / 0 |