|
|
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
Добрый вечер. Возник вопрос по проектированию БД. Сразу к вопросу: у каждого пользователя есть возможность в некоторых рамках настраивать внешний вид страницы (показывать ли картинки, количество строк на страницу, возможно цвет и прочее). Сначала я думал все эти настройки хранить в таблице user, т.е. там-же, где и вся остальная информация о пользователе. Но количество таких настроек может увеличиваться в будущем, поэтому думаю такой вариант не есть гут. Хранить в файах типа *.ini тоже считаю не приемлемым. Поэтому остановился на таком варианте: три таблицы - user, option, user_option. user - userid option - optionid user_option - userid, optionid, value Но тогда увеличивается сложность приложения (вместо одной - три таблицы). С другой стороны вроде как и не особо сложнее станут запросы. Собственно вопрос: такая схема имеет право на существование или такие вещи делаются по-другому? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2008, 19:23 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
WaldiComДобрый вечер. Возник вопрос по проектированию БД. Сразу к вопросу: у каждого пользователя есть возможность в некоторых рамках настраивать внешний вид страницы (показывать ли картинки, количество строк на страницу, возможно цвет и прочее). Сначала я думал все эти настройки хранить в таблице user, т.е. там-же, где и вся остальная информация о пользователе. Но количество таких настроек может увеличиваться в будущем, поэтому думаю такой вариант не есть гут. Хранить в файах типа *.ini тоже считаю не приемлемым. Поэтому остановился на таком варианте: три таблицы - user, option, user_option. user - userid option - optionid user_option - userid, optionid, value Но тогда увеличивается сложность приложения (вместо одной - три таблицы). С другой стороны вроде как и не особо сложнее станут запросы. Собственно вопрос: такая схема имеет право на существование или такие вещи делаются по-другому? Спасибо. Второй вариант (который Вы так подробно описали) явно предпочтительнее... Я так в свое время сделал для одной системы и не жалею - система выполняет свои функции на "все 110%" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 07:13 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
WaldiComтакая схема имеет право на существование или такие вещи делаются по-другомуПочему бы и нет. Но, как вариант, вполне можно хранить и в одной таблице с 2-мя полями, типа: Код: plaintext 1. 2. 3. КеуValue"User1\Option1" 12"User3\Option5" True...... Ищется и вычисляется легко, без особых проблем позволяет расширять структуру, добавляя новые уровни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 13:44 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
>> "User3\Option5" >> Ищется и вычисляется легко, без особых проблем позволяет расширять >> структуру, добавляя новые уровни. А при туевой хуче пользователей? Я бы, все-таки, User вынес бы в отдельное поле. А на счет уровней - хорошая идея! Стоит только, думаю, справочник по ключам сделать, чтобы от очепяток подстраховаться. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 14:18 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
Ваша схема более подходит для разовых параметров пользователя, а не табличек + неудобно будет в Вашем варианте заводить настройки,потому что они не заточены под специфику таблицы. Я бы сделал более специализированное решение под настройку именно свойств таблиц под пользователя (а тут уже вытекает набор таблиц-список форм, список полей форм, варианты раскрасски и прочее), а не путал бы с разовыми параметрами, уникальными для пользователя. У нас в системе например есть оба таких варианта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 16:31 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 20:24 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
Еще может быть уместно вместо поля Value сделать поля Number_Value, Text_Value, Long_Value (Link), Date_Value, Boolean_Value etc. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 23:55 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
>> Еще может быть уместно вместо поля Value сделать поля Number_Value, >> Text_Value, Long_Value (Link), Date_Value, Boolean_Value etc. +1 У меня именно так и сделано... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 11:17 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
Господа,повторяюсь-ваши варианты для общих настроек а-ля "Имя организации" или что-нибудь подобное,а для таблиц надо ваять свою настройку, потому как если в данной структуре будет 1000 записей, то понять в ней будет просто невозможно, ровно как и увидеть нормальные настройки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 12:39 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
>> Господа,повторяюсь-ваши варианты для общих настроек а-ля "Имя >> организации" или >> что-нибудь подобное,а для таблиц надо ваять свою настройку, потому как >> если в данной >> структуре будет 1000 записей, то понять в ней будет просто невозможно, >> ровно как >> и увидеть нормальные настройки. У меня сейчас 15 пользователей и около 800 записей в таблице. А "понять" и "увидеть" - не то же самое, что открыть эту таблицу "в лоб" на просмотр. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 13:18 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
Kirill Razuvaev >> Господа,повторяюсь-ваши варианты для общих настроек а-ля "Имя >> организации" или >> что-нибудь подобное,а для таблиц надо ваять свою настройку, потому как >> если в данной >> структуре будет 1000 записей, то понять в ней будет просто невозможно, >> ровно как >> и увидеть нормальные настройки. У меня сейчас 15 пользователей и около 800 записей в таблице. А "понять" и "увидеть" - не то же самое, что открыть эту таблицу "в лоб" на просмотр. Posted via ActualForum NNTP Server 1.4 А для чего народ черт знает скоко лет назад придумал XML??????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 13:22 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
>> А для чего народ черт знает скоко лет назад придумал XML??????? Любая задача подразумевает по меньшей мере два решения. Выбор за разработчиком. Мне было проще так решить, чем разбираться с XML и его парсингом. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 13:36 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
Тут еще многое зависит от средства разработки. Например можно эти данные уложить в таблицу, а можно и хранить одной строкой, которую просто вызывать в соответствующем методе визуального объекта. Например в PowerBuilder все фильтры и видимости лежат в строке, которую в ряде проектов мы просто храним в БД и применяем к визуальному объекту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 13:53 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
[quot Kirill Razuvaev] >> А для чего народ черт знает скоко лет назад придумал XML??????? Любая задача подразумевает по меньшей мере два решения. Выбор за разработчиком. Мне было проще так решить, чем разбираться с XML и его парсингом. Для парсинга XML уже достаточно штатных средств ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2008, 14:41 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
В текстовом файле определенного формата, который будет лежать там-же, где клиентская часть приложения - будь то exe-шник или mdb и т.п. При обновлении клиентской части (замене файлов) или переустановке системы txt всегда выживет, в отличии от реестра - настройки пользователя сохранятся в любом случае. Недостаток - надо написать парсер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2008, 14:45 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
Vladislav B. IvanovВ текстовом файле определенного формата ... Недостаток - надо написать парсер.Поздравляю, вы изобрели ini-файл :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2008, 15:02 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
И получили кучу гемороя с просьбами от Петровой а-ля А я А я хочу окошко от Ивановой (а комп ее выключен,а настройка на локальной машине,а пароль знает только она). Настройки должны лежать в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2008, 17:33 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
ShtockИ получили кучу гемороя с просьбами от Петровой а-ля А я А я хочу окошко от Ивановой (а комп ее выключен,а настройка на локальной машине,а пароль знает только она). Настройки должны лежать в БД. В ini есть секция login , если залогинится другой - настройки потянутся из другой секции. К тому, же, Петрову, равно как и Сидорову, в Дельту никто не пустит ибо настройки профиля Ивановой предполагают, что с хоста 10.10.1.121 можеть работать только она или админ :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2008, 10:17 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
Чо-то вы все мудрите. Отличная фраза была про xml. Создаёте структуру, там усе настройки и кидайте в бд. И получается, что один юзерь - одно поле, в таблице с двумя значениями |USERID|XMLOPTIONS| Что еще для жизни нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2008, 12:38 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
Vladislav B. Ivanov: т.е. всё-таки файл с настройками общий из Вашей фразы следует?т.е. храним его на неком серваке и все пользователи туда как-то из приложения ходят?добавили еще один уровень контроля доступа, один сервак для бэкапа,короче кучу гемороя. Ладно, пока до ценностей централизации сам не дойдешь, мнения других всё равно не помогут. Удачи с таким подходом. Абсолют Ага,причем так все таблицы в БД. и будет там одна таблица all_data, в которой будет 1 поле блок с хмл, в котором всё и будет лежать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2008, 12:57 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
С ходу мне назначение поля xml в таблицах (таких, как например IBM DB2 pureXML), молодой человек? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2008, 13:01 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
Меня добивает крайность некоторых юзверей sql.ru. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2008, 13:03 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
ShtockVladislav B. Ivanov: т.е. всё-таки файл с настройками общий из Вашей фразы следует?т.е. храним его на неком серваке и все пользователи туда как-то из приложения ходят?добавили еще один уровень контроля доступа, один сервак для бэкапа,короче кучу гемороя. Ладно, пока до ценностей централизации сам не дойдешь, мнения других всё равно не помогут. Удачи с таким подходом. Абсолют Ага,причем так все таблицы в БД. и будет там одна таблица all_data, в которой будет 1 поле блок с хмл, в котором всё и будет лежать :) ini файл лежит там-же, где клиентская часть - т.е. на рабочей станции. Файл секционирован - для Ивановой - один блок, для Сидоровой - другой. Если залогинится кто-то еще - создастся еще один блок. A cервак всего один - Microsoft SQL Server 2000. Разграничение прав осуществляется только средствами SQL сервера. Вообще, я категорически против всяких там "трехзвенок" и серверов приложений. Классический Клиент-Сервер для большинства задач более чем достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2008, 13:11 |
|
||
|
Способы хранения личных настроек пользователя
|
|||
|---|---|---|---|
|
#18+
Так, хорошо. У нас один сервак и 10 клиентов (т.е. 90 рабочих станций). И каждый сидит на своём месте, не мигрируя никуда. И иванова захотела, что бы было окошко, такое, же как у Козловой. Что будем делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2008, 13:14 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35559136&tid=1543629]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
181ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 490ms |

| 0 / 0 |
