powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Способы хранения личных настроек пользователя
38 сообщений из 38, показаны все 2 страниц
Способы хранения личных настроек пользователя
    #35555283
WaldiCom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер.
Возник вопрос по проектированию БД.

Сразу к вопросу: у каждого пользователя есть возможность в некоторых рамках настраивать внешний вид страницы (показывать ли картинки, количество строк на страницу, возможно цвет и прочее). Сначала я думал все эти настройки хранить в таблице user, т.е. там-же, где и вся остальная информация о пользователе. Но количество таких настроек может увеличиваться в будущем, поэтому думаю такой вариант не есть гут. Хранить в файах типа *.ini тоже считаю не приемлемым.
Поэтому остановился на таком варианте:
три таблицы - user, option, user_option.
user - userid
option - optionid
user_option - userid, optionid, value

Но тогда увеличивается сложность приложения (вместо одной - три таблицы). С другой стороны вроде как и не особо сложнее станут запросы.

Собственно вопрос: такая схема имеет право на существование или такие вещи делаются по-другому?

Спасибо.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35555737
WaldiComДобрый вечер.
Возник вопрос по проектированию БД.

Сразу к вопросу: у каждого пользователя есть возможность в некоторых рамках настраивать внешний вид страницы (показывать ли картинки, количество строк на страницу, возможно цвет и прочее). Сначала я думал все эти настройки хранить в таблице user, т.е. там-же, где и вся остальная информация о пользователе. Но количество таких настроек может увеличиваться в будущем, поэтому думаю такой вариант не есть гут. Хранить в файах типа *.ini тоже считаю не приемлемым.
Поэтому остановился на таком варианте:
три таблицы - user, option, user_option.
user - userid
option - optionid
user_option - userid, optionid, value

Но тогда увеличивается сложность приложения (вместо одной - три таблицы). С другой стороны вроде как и не особо сложнее станут запросы.

Собственно вопрос: такая схема имеет право на существование или такие вещи делаются по-другому?

Спасибо.
Второй вариант (который Вы так подробно описали) явно предпочтительнее...
Я так в свое время сделал для одной системы и не жалею - система выполняет свои функции на "все 110%"
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35556719
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WaldiComтакая схема имеет право на существование или такие вещи делаются по-другомуПочему бы и нет. Но, как вариант, вполне можно хранить и в одной таблице с 2-мя полями, типа:
Код: plaintext
1.
2.
3.
CREATE TABLE UserOptions (
	Кеу varchar( 64 ) PRIMARY KEY
	Value varchar( 255 )
)
Содержимое поля Кеу может иметь следующий вид:
КеуValue"User1\Option1" 12"User3\Option5" True......
Ищется и вычисляется легко, без особых проблем позволяет расширять структуру, добавляя новые уровни.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35556856
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> "User3\Option5"
>> Ищется и вычисляется легко, без особых проблем позволяет расширять
>> структуру, добавляя новые уровни.
А при туевой хуче пользователей? Я бы, все-таки, User вынес бы в отдельное
поле. А на счет уровней - хорошая идея!
Стоит только, думаю, справочник по ключам сделать, чтобы от очепяток
подстраховаться.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35557433
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваша схема более подходит для разовых параметров пользователя, а не табличек + неудобно будет в Вашем варианте заводить настройки,потому что они не заточены под специфику таблицы. Я бы сделал более специализированное решение под настройку именно свойств таблиц под пользователя (а тут уже вытекает набор таблиц-список форм, список полей форм, варианты раскрасски и прочее), а не путал бы с разовыми параметрами, уникальными для пользователя.
У нас в системе например есть оба таких варианта.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35558093
Dmitriy Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
W> Автор: WaldiCom
W> Добрый вечер.
W> Возник вопрос по проектированию БД.
W>
W> Сразу к вопросу: у каждого пользователя есть возможность в некоторых
W> рамках настраивать внешний вид страницы (показывать ли картинки,
W> количество строк на страницу, возможно цвет и прочее). Сначала я
W> думал все эти настройки хранить в таблице user, т.е. там-же, где и
W> вся остальная информация о пользователе. Но количество таких
W> настроек может увеличиваться в будущем, поэтому думаю такой вариант
W> не есть гут. Хранить в файах типа *.ini тоже считаю не приемлемым.
W> Поэтому остановился на таком варианте: три таблицы - user, option,
W> user_option. user - userid
W> option - optionid
W> user_option - userid, optionid, value

Если речь о клиенте - настольном приложении Windows, подобные предпочтения
пользователей в отношении графического интервейса правильнее и проще хранить
в реестере Windows (если, конечно, не подразумевается, что пользователи
меняют рабочие места, как перчатки).

Другое дело - умолчания при вводе данных в документы и прочие формы. Здесь
может быть уместно хранить в таблице.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35558276
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще может быть уместно вместо поля Value сделать поля Number_Value, Text_Value, Long_Value (Link), Date_Value, Boolean_Value etc.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35558878
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Еще может быть уместно вместо поля Value сделать поля Number_Value,
>> Text_Value, Long_Value (Link), Date_Value, Boolean_Value etc.
+1
У меня именно так и сделано...


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35559136
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа,повторяюсь-ваши варианты для общих настроек а-ля "Имя организации" или что-нибудь подобное,а для таблиц надо ваять свою настройку, потому как если в данной структуре будет 1000 записей, то понять в ней будет просто невозможно, ровно как и увидеть нормальные настройки.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35559270
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Господа,повторяюсь-ваши варианты для общих настроек а-ля "Имя
>> организации" или
>> что-нибудь подобное,а для таблиц надо ваять свою настройку, потому как
>> если в данной
>> структуре будет 1000 записей, то понять в ней будет просто невозможно,
>> ровно как
>> и увидеть нормальные настройки.
У меня сейчас 15 пользователей и около 800 записей в таблице. А "понять" и
"увидеть" - не то же самое, что открыть эту таблицу "в лоб" на просмотр.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35559289
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill Razuvaev
>> Господа,повторяюсь-ваши варианты для общих настроек а-ля "Имя
>> организации" или
>> что-нибудь подобное,а для таблиц надо ваять свою настройку, потому как
>> если в данной
>> структуре будет 1000 записей, то понять в ней будет просто невозможно,
>> ровно как
>> и увидеть нормальные настройки.
У меня сейчас 15 пользователей и около 800 записей в таблице. А "понять" и
"увидеть" - не то же самое, что открыть эту таблицу "в лоб" на просмотр.


Posted via ActualForum NNTP Server 1.4

А для чего народ черт знает скоко лет назад придумал XML???????
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35559342
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> А для чего народ черт знает скоко лет назад придумал XML???????
Любая задача подразумевает по меньшей мере два решения. Выбор за
разработчиком.
Мне было проще так решить, чем разбираться с XML и его парсингом.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35559425
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут еще многое зависит от средства разработки. Например можно эти данные уложить в таблицу, а можно и хранить одной строкой, которую просто вызывать в соответствующем методе визуального объекта. Например в PowerBuilder все фильтры и видимости лежат в строке, которую в ряде проектов мы просто храним в БД и применяем к визуальному объекту.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35562309
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Kirill Razuvaev]
>> А для чего народ черт знает скоко лет назад придумал XML???????
Любая задача подразумевает по меньшей мере два решения. Выбор за
разработчиком.
Мне было проще так решить, чем разбираться с XML и его парсингом.


Для парсинга XML уже достаточно штатных средств
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35589450
Vladislav B. Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В текстовом файле определенного формата, который будет лежать там-же, где клиентская часть приложения - будь то exe-шник или mdb и т.п. При обновлении клиентской части (замене файлов) или переустановке системы txt всегда выживет, в отличии от реестра - настройки пользователя сохранятся в любом случае. Недостаток - надо написать парсер.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35589458
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladislav B. IvanovВ текстовом файле определенного формата
...
Недостаток - надо написать парсер.Поздравляю, вы изобрели ini-файл :)
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35591904
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И получили кучу гемороя с просьбами от Петровой а-ля А я А я хочу окошко от Ивановой (а комп ее выключен,а настройка на локальной машине,а пароль знает только она). Настройки должны лежать в БД.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35592702
Vladislav B. Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtockИ получили кучу гемороя с просьбами от Петровой а-ля А я А я хочу окошко от Ивановой (а комп ее выключен,а настройка на локальной машине,а пароль знает только она). Настройки должны лежать в БД.

В ini есть секция login , если залогинится другой - настройки потянутся из другой секции. К тому, же, Петрову, равно как и Сидорову, в Дельту никто не пустит ибо настройки профиля Ивановой предполагают, что с хоста 10.10.1.121 можеть работать только она или админ :)
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35593117
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чо-то вы все мудрите. Отличная фраза была про xml. Создаёте структуру, там усе настройки и кидайте в бд.

И получается, что один юзерь - одно поле, в таблице с двумя значениями |USERID|XMLOPTIONS|

Что еще для жизни нужно?
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35593195
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladislav B. Ivanov:
т.е. всё-таки файл с настройками общий из Вашей фразы следует?т.е. храним его на неком серваке и все пользователи туда как-то из приложения ходят?добавили еще один уровень контроля доступа, один сервак для бэкапа,короче кучу гемороя. Ладно, пока до ценностей централизации сам не дойдешь, мнения других всё равно не помогут. Удачи с таким подходом.

Абсолют
Ага,причем так все таблицы в БД. и будет там одна таблица all_data, в которой будет 1 поле блок с хмл, в котором всё и будет лежать :)
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35593215
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С ходу мне назначение поля xml в таблицах (таких, как например IBM DB2 pureXML), молодой человек?
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35593225
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня добивает крайность некоторых юзверей sql.ru.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35593255
Vladislav B. Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtockVladislav B. Ivanov:
т.е. всё-таки файл с настройками общий из Вашей фразы следует?т.е. храним его на неком серваке и все пользователи туда как-то из приложения ходят?добавили еще один уровень контроля доступа, один сервак для бэкапа,короче кучу гемороя. Ладно, пока до ценностей централизации сам не дойдешь, мнения других всё равно не помогут. Удачи с таким подходом.

Абсолют
Ага,причем так все таблицы в БД. и будет там одна таблица all_data, в которой будет 1 поле блок с хмл, в котором всё и будет лежать :)

ini файл лежит там-же, где клиентская часть - т.е. на рабочей станции. Файл секционирован - для Ивановой - один блок, для Сидоровой - другой. Если залогинится кто-то еще - создастся еще один блок. A cервак всего один - Microsoft SQL Server 2000. Разграничение прав осуществляется только средствами SQL сервера. Вообще, я категорически против всяких там "трехзвенок" и серверов приложений. Классический Клиент-Сервер для большинства задач более чем достаточно.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35593262
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, хорошо.
У нас один сервак и 10 клиентов (т.е. 90 рабочих станций). И каждый сидит на своём месте, не мигрируя никуда. И иванова захотела, что бы было окошко, такое, же как у Козловой. Что будем делать?
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35593450
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделаем Инсерт инто таблица с настройками (селект * from таблица с настройками ухере юзер_ид = Козловой). И всё. Никаких копирований ини-файлов и третьих звеньев. и записей ини-файлов.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35593519
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ммм, прикольно, однако.

И никаких трудностей в дальнейшем не видите, проектировщик?
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35593567
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слилися.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35593753
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет,не слился. Иногда работаю: не всё же время на форумах сидеть. И какие могут быть трудности, расскажите. За 3 года ни одной не увидели при кол-ве пользователей 80 штук и невменяемом количестве табличных форм и отчетов, сбацанных самими пользователями данными настройками.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35593988
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. ты хочешь сказать, что если у проперти есть две позиции, а может и три одновренно принятым - у тебя хранится это все в одной строке, или же в разных?
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35594002
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НУ во-первых я с незнакомыми людьми на Вы,во вторых у меня структура данных для хранения этого дела отдельная придумана.Заточенная под средство разработки (PowerBuilder).
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35594034
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странный подход. Велосипед.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35594095
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет,это называется централизованное сопровождение программного обеспечения.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35594144
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtockНет,это называется централизованное сопровождение программного обеспечения.
Неа. Это не центрилизированное, а неграмотное использование и сопровождение программного обеспеченья и не грамотное использование ресурсов, и трудовых часов.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35594214
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу без словоблудия,а конкретику. Завтра после работы с удовольствием отвечу на конструктивную критику без лозунгов.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35594222
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtockПрошу без словоблудия,а конкретику. Завтра после работы с удовольствием отвечу на конструктивную критику без лозунгов.
Окей, договорились. И давай все же на ты. Так конструктивней разговор будет.
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35594939
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок. Кстати еще один плюс настроек в БД придумался неоспоримый: если встанет вопрос о веб-приложении то как будет настройки в ини-шнике на машине клиента хранить?
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35595017
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtockОк. Кстати еще один плюс настроек в БД придумался неоспоримый: если встанет вопрос о веб-приложении то как будет настройки в ини-шнике на машине клиента хранить?Куки?
...
Рейтинг: 0 / 0
Способы хранения личных настроек пользователя
    #35595151
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант. тем более опять таки централизованное управление через куки не выйдет.
...
Рейтинг: 0 / 0
38 сообщений из 38, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Способы хранения личных настроек пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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