Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Бд с "динамическими полями" / 7 сообщений из 7, страница 1 из 1
03.12.2017, 16:41
    #39563295
Errorrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бд с "динамическими полями"
Название немного кривое, но и проблема в том, что я не знаю как грамотно сформулировать гугл вопрос, который меня интересует.
Ответ там думаю есть, поэтому если кто-то просто ткнет грамотной фразой, как называется то что мне нужно будет отлично.
Суть такова:
у меня есть таблица пользователей, у каждого из них могут быть "особые параметры". Можно бы было сделать для каждого особого параметра просто свое "поле" и дело с концом. Но! Эти особые параметры я планирую добавлять со временем, да и у этих особых параметров могут быть свои какие-то параметры. Как я понимаю просто запрос на добавление нового поля не совсем грамотное решение и для них нужна новая таблица? или как подобное наиболее правильно оформить.
Заранее спасибо
...
Рейтинг: 0 / 0
03.12.2017, 17:39
    #39563315
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бд с "динамическими полями"
Всё зависит от того, что ты с этими параметрами хочешь потом делать. Диапазон решений -
от EAV до CLOB с XML/JSON внутри.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.12.2017, 10:43
    #39563505
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бд с "динамическими полями"
Вас выручит EAV. Достаточно добавить 2,3 таблицы.
1. Справочник параметров/настроек
2. таблица фактов: ссылка на п.1, на документ/справочник, значение факта

XML/JSON в мемо-полях вам не подойдет, т.к. очень неудобно там вставлять/апдейтить и делать сложные выборки. А также плохая переносимость между СУБД.
зы: Ща понабегут сюда любители этого подхода - не слушайте их. :)
...
Рейтинг: 0 / 0
04.12.2017, 12:58
    #39563629
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бд с "динамическими полями"
LSV,

+1.

Очень. Очень удобно делать сложные выборки и вставлять-апдейтить в EAV.
...
Рейтинг: 0 / 0
04.12.2017, 14:26
    #39563715
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бд с "динамическими полями"
Ну если инфраструктура уже есть и это РСУБД, однозначно, EAV .
Можно, конечно и XML/JSON, но с изменением данных придется изначально помучиться - нетривиальное это дело.
А если еще есть выбор - NoSQL ДСУБД и формат JSON. Они под такие задачи изначально "пилились".
...
Рейтинг: 0 / 0
04.12.2017, 16:18
    #39563865
Бредятина
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бд с "динамическими полями"
ErrorrrНазвание немного кривое, но и проблема в том, что я не знаю как грамотно сформулировать гугл вопрос, который меня интересует.
Ответ там думаю есть, поэтому если кто-то просто ткнет грамотной фразой, как называется то что мне нужно будет отлично.
Суть такова:
у меня есть таблица пользователей, у каждого из них могут быть "особые параметры". Можно бы было сделать для каждого особого параметра просто свое "поле" и дело с концом. Но! Эти особые параметры я планирую добавлять со временем, да и у этих особых параметров могут быть свои какие-то параметры. Как я понимаю просто запрос на добавление нового поля не совсем грамотное решение и для них нужна новая таблица? или как подобное наиболее правильно оформить.
Заранее спасибо
И кто же Вам мешает "добавлять эти особые параметры со временем"?
"Скажи мне, кто тебя учил? И я ..."(С) :)
...
Рейтинг: 0 / 0
04.12.2017, 16:43
    #39563895
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бд с "динамическими полями"
Errorrr, у каждого из них могут быть "особые параметры".

https://docs.oracle.com/cd/E18727_01/doc.121/e12892/T354897T361274.htm

------ как вариант. дескриптивные гибкие поля - в таблице одно поле задает тип, а кучка других строковых интерпретируется системой в зависимости от поля типа. Ключевые - там посложнее немного, выносится в отдельную таблицу.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Бд с "динамическими полями" / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]