Форум: "Базы";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
Вниз
SQL + LookUp Найти похожие ветки
← →
Sozon (2005-11-27 22:29) [0]В моей базе данных все делается через SQL (создание, уделение, редактирование записей). Так вот, нужно ли в таком случае создавать LookUp поля или просто пользоваться запросом типа:
SELECT v.otkuda, v.kuda, v.time, s.familia, s.name, s.car
FROM vizov v, sotrudnik s
where v.sotr_ID=s.sotr_ID
Поясняю в таблице vizov есть поле Sotr_ID, которое связано с полем Sotr_ID таблицы сотрудников Sotrudnik. И еще одно в будущем планируется эту базу сделать удаленной (InterBase). Заранее спасибо.
← →
msguns © (2005-11-28 09:33) [1]Непонятен смысл вопроса.
Зачем на клиенте нужен lookup, если запросом возвращается ФИО (я бы, кстати, делал немного иначе:
SELECT v.otkuda, v.kuda, v.time, s.familia+" "+s.name+" "+s.car as FIO
FROM vizov v Left Join sotrudnik s On (v.sotr_ID=s.sotr_ID)
ORDER BY ...
)
← →
ANB © (2005-11-28 09:38) [2]
> Sozon (27.11.05 22:29)
Lookup может понадобиться, только если в гриде ты захочешь сделать выпадающий список. Штука довольно вредная, но иногда удобная, если БД небольшая и пользователей немного.
← →
sozon (2005-11-28 11:23) [3]Я еще слышал, что в удаленных базах данных не рекомендуется использовать LookUp поля. Это правда?
← →
Sergey13 © (2005-11-28 11:25) [4]2[3] sozon (28.11.05 11:23)
А аргументы ты там-же не слышал? Некоторые вот например считают, что использование гридов - отстой.
← →
ANB © (2005-11-28 11:32) [5]
> sozon (28.11.05 11:23) [3]
> Я еще слышал, что в удаленных базах данных не рекомендуется
> использовать LookUp поля. Это правда?
В принципе - ничего особо страшного, если все правильно настроить (включить кэширование справочных дейтасетов).
← →
Lexer © (2005-11-28 11:36) [6]В данном случае Lookup поля полезны, если часто меняется справочник сотрудников, например ФИО - заменили, а в таблице вызовов юзер видит новое значение без переотрытия этой таблицы.
← →
Sergey13 © (2005-11-28 11:42) [7]2[6] Lexer © (28.11.05 11:36)
Это как?
← →
Lexer © (2005-11-28 11:49) [8]Что как? Запросом достаем данные + из справочника коды, а значения справочников (ФИО) делаем лукап-полем. При изменении справочника - лукап покажет ново значение. А если достать запросом, то его придется переоткрыть.
← →
Sergey13 © (2005-11-28 11:56) [9]2[8] Lexer © (28.11.05 11:49)
> При изменении справочника - лукап покажет ново значение.
С чего бы это? От святого духа?
← →
Lexer © (2005-11-28 12:01) [10]Sergey13 © (28.11.05 11:56) [9]
>С чего бы это? От святого духа?
Нет слов...
Да от святой троицы Delphi, TDataSet и TDataSource.
Аминь.
← →
Sergey13 © (2005-11-28 12:10) [11]2 [10] Lexer © (28.11.05 12:01)
>Нет слов...
Аналогично.
← →
evvcom © (2005-11-28 12:12) [12]
> Lexer ©
Ты забыл сказать, что лукап датасет все-таки придется переоткрыть, так что к святой троице надо еще добавить пару Close и Open.
← →
msguns © (2005-11-28 12:13) [13]>Lexer © (28.11.05 12:01) [10]
>Да от святой троицы Delphi, TDataSet и TDataSource.
Можно вопрос "из зала" ?
А каким образом эта "троица" прознает про то, что у Петрова Петра Петровича исправили отчество на Иванович ? Без переотерытия, ессно ?
← →
Lexer © (2005-11-28 12:15) [14]to evvcom, зачем переоткрывать? если все новые данные уже в нём после редактирования...
Изменили значение поля справочника - лукап покажет новое.
← →
Sergey13 © (2005-11-28 12:26) [15]2[14] Lexer © (28.11.05 12:15)
А если редактировали на другой машине? Речь то вроде про удаленные БД идет.
← →
Lexer © (2005-11-28 12:32) [16]Sergey13 © (28.11.05 12:26) [15]
А если редактировали на другой машине? Речь то вроде про удаленные БД идет.
Согласен, в этом случае не прокатит... Изменения не будут видны, придется переоткрывать справочник.
Можно использовать лукап, можно нет, всё зависит от ситуации. Например если в справочнике всего 5-10 записей. А получаемые данные чуть побольше, скажем 1000. То использование лукап позволит не тянуть с сервера на каждую запись "ФИО" - 1000 ФИО, а вытянуть всего 5 в справочник. В случае с интрнетом - экономия трафика.
← →
msguns © (2005-11-28 12:56) [17]>Lexer © (28.11.05 12:32) [16]
>Можно использовать лукап, можно нет, всё зависит от ситуации. Например если в справочнике всего 5-10 записей. А получаемые данные чуть побольше, скажем 1000.
Это как это ?
>То использование лукап позволит не тянуть с сервера на каждую запись "ФИО" - 1000 ФИО, а вытянуть всего 5 в справочник. В случае с интрнетом - экономия трафика.
кгхрм.. переведи..
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.039 c