Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Поле типа массив, или что-то другое? Нужен совет. / 12 сообщений из 12, страница 1 из 1
24.11.2005, 12:05
    #33396809
Арбайтер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле типа массив, или что-то другое? Нужен совет.
Возникла идея хранить в базе некоторые свойства компонентов клиентской части приложения. Например: ширина, высота, цвет, фонт, etc.

Как лучше это реализовать на постгри? Хорошо ли в данном случае использовать поля типа массив, где в массиве будут храниться все свойства одного компонента? Просто я пока даже не представляю, как я буду читать эти данные из массива.

П.С. Приложение на делфи.
...
Рейтинг: 0 / 0
24.11.2005, 12:45
    #33397008
4321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле типа массив, или что-то другое? Нужен совет.
свойства компонентов клиентской _значения_ свойств, или собсно _сфойства_?

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

(Правда если у вас в приложении будут прошиты в коде (константами или еще как-то) свои "таблицы" соответсвия номера элемента массива и св-ва, то раскрутить "слепой" массив св-в внутри приложения станет возможно (т.е. выяснить, какой именно элемент массива задает значение какого именно св-ва контрола)).
...
Рейтинг: 0 / 0
24.11.2005, 13:34
    #33397231
Арбайтер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле типа массив, или что-то другое? Нужен совет.
Пардон, неточно выразился.
Значения свойств компонентов.

Сейчас я храню их в ini файле. Просто использую компоненту FormStorage.
Но если хранить эти данные в базе, то открываются бОльшие возможности. Например, каждый пользователь на одном компе сможет настроить интерфейс под себя.

Итак, что есть:
Компонент 1 - Компонент n. Их конечное количество. Задается на этапе проектирования.

Свойство 1 компонента - Свойство n компонента. Тоже конечное количество.

Пользователь 1 - Пользователь n. И для каждого из пользователей могут быть разные значения свойств компонент.

Как лучше всего реализовать такое?
...
Рейтинг: 0 / 0
24.11.2005, 13:39
    #33397261
4321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле типа массив, или что-то другое? Нужен совет.
Хотя наблюдаю трабел с попыткой запихнуть Null в какой-нито элемент массива text[] :
Код: plaintext
1.
UPDATE testarray SET textarray[ 2 ] = Null
 WHERE id= 4 
"отрабатывает", но ничего не меняет

Код: plaintext
1.
2.
3.
SELECT textarray[ 2 ] IS NULL,textarray[ 2 ] = 'Null',id ,textarray[ 2 ]
FROM testarray  WHERE id= 4 ;
===========
f;f; 4 ;"assa"
т.е. придется Null задавать некой строковой непустой загогулиной и писать интерпретатор значения этой загогулины (если надо отличать пустую строку "" от Null).

Буду рад, ежли гуру меня поправят и наставят на путь истинный.
...
Рейтинг: 0 / 0
24.11.2005, 13:53
    #33397333
XM
XM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле типа массив, или что-то другое? Нужен совет.
4321 wrote:
> Хотя наблюдаю трабел с попыткой запихнуть Null в какой-нито элемент
> массива text[]

Хранение NULL в массивах не поддерживаются.
В postgresql.devel.general недавно было обсуждение.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
24.11.2005, 13:55
    #33397346
4321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле типа массив, или что-то другое? Нужен совет.
XMХранение NULL в массивах не поддерживаются.
В postgresql.devel.general недавно было обсуждение.
Posted via ActualForum NNTP Server 1.3
дзенькую! (хотя, казалось бы, '{"1",,"3"}' - вот и
...
Рейтинг: 0 / 0
24.11.2005, 13:57
    #33397358
XM
XM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле типа массив, или что-то другое? Нужен совет.
4321 wrote:
> XM
> Хранение NULL в массивах не поддерживаются.
> В postgresql.devel.general недавно было обсуждение.
> Posted via ActualForum NNTP Server 1.3
>
>
> дзенькую! (хотя, казалось бы, '{"1",,"3"}' - вот и

Гм, не все там так просто.
Но работа вроде ведется:
http://archives.postgresql.org/pgsql-committers/2005-11/msg00385.php
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
24.11.2005, 15:49
    #33397797
domanix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле типа массив, или что-то другое? Нужен совет.
Ну и зачем тебе изобретать велосипед?
у тебя же есть уже готовая подсистема-
расширь ее просто и все...
храни INI файл не на файловой системе а в базе...
т.е. все останется как раньше- просто добваиться метод загрузки INI на клиента..
и выгрузки обратно на сервер...
и это решение ты сделаешь за пару часов , а если начнешь мудохаться с массивами - то просто потратишь массу времени на то - что у тебя уже реализованно.. Задай себе вопрос - что ты реально выграешь применив в данной задаче массивы?
...
Рейтинг: 0 / 0
24.11.2005, 16:11
    #33397849
Арбайтер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле типа массив, или что-то другое? Нужен совет.
авторdomanix
, т.е. ты предлагаешь просто создать табличку типа

id serial
name varchar(20)
image
и загонять туда ини файлы, а потом грузить их на диск клиента в момент запуска программы?
...
Рейтинг: 0 / 0
24.11.2005, 18:57
    #33398451
domanix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле типа массив, или что-то другое? Нужен совет.
>и загонять туда ини файлы, а потом грузить их на диск клиента в момент запуска программы?

А почему нет?
это потребует минимальной переделки механизма хранения настроек уже реализовнных в твоем приложении.
Иначе придется потрудиться- и не факт что в итоге родится лучшее решение.

В идеале - конечно можно переделать механизм сериализации форм - и сохранять в базу непосредственно DFM. Но это тоже достаточно тернистый путь.
...
Рейтинг: 0 / 0
24.11.2005, 18:58
    #33398458
domanix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле типа массив, или что-то другое? Нужен совет.
И кто тебе сказал что ini файл должен быть сохранен на диске?
кто тебе мешает применить класс TMemIniFile ? И держать Ini в памяти?
...
Рейтинг: 0 / 0
25.11.2005, 13:12
    #33399864
teza
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле типа массив, или что-то другое? Нужен совет.
Если я правильно поняла, то вам нужно построить четвертую таблицу по имеющимся трем: Компонент, Свойства_компонента, Пользователь, при условии, что таблица Свойства_компонента ссылается на таблицу Компонент?
В этом ваш вопрос?
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Поле типа массив, или что-то другое? Нужен совет. / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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