Форум: "Базы";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
ВнизРабота с базами InterBase Найти похожие ветки
← →
Russko (2005-01-11 09:22) [0]Уважаемые мастера, мне необходимо понять - каким образом построить работу с моей базой.
Значит, существует некоторая база данных "Base". В ней находятся допустим 3 таблицы Table1, Table2, Table3. Table1 содержит основную информацию, Table2 и Table3 необходимы для формирования отчётов.
Так вот при выборе пользователем некоторого отчёта начинается формирование с использованием T2 и T3 (берёт определённым образом данные из T1 и вставляет определённым образом в T2 и T3). По окончании отчёт формируется из T2 и T3.
Вопрос в том, что будет если сразу несколько пользователей начнут формирование отчётов, ведь используются одни и те же T2 и T3. Я понимаю, что скорее всего получится неразбериха, тогда подскажите как мне быть?
← →
Fay © (2005-01-11 09:25) [1]Исключи берёт определённым образом данные из T1 и вставляет определённым образом в T2 и T3.
← →
ЮЮ © (2005-01-11 09:31) [2]>и вставляет определённым образом в T2 и T3
Если "определённый образ" не очень извращен и позволяет получить необходимые данные простым запросом из T1, в противном случае, получить нужные габоры данных с помощью хранимых процедур. T2 и T3 для таких целей - полный изврат
← →
msguns © (2005-01-11 14:17) [3]Если отчеты получаются путем очень сложных расчетов (т.е. [2] не подходит) и есть объективная необходимость использования промежуточных таблиц, то, ИМХО, лучше всего использовать внешние таблицы на локальных дисках. Чтобы прога не зависела от конкретного клиента, где в момент запуска может физически не оказаться этих таблиц, создай не сервере пустые T2 и T3, а в начале расчетов просто создавай внешние таблицы аналогичной T2 и T3 структуры.
← →
Rule © (2005-01-11 16:53) [4]помоему уважаемый автор вам надо познакомится с теорией построения БД, и тогда такие вопросы отпадут сами по себе, ИМХО конечно ...
← →
msguns © (2005-01-11 17:17) [5]>Rule © (11.01.05 16:53) [4]
У меня почему-то возникло подозрение, что автор раньше работал с локалками типа парадокса, где можно было в приват каталог копировать таблицу-шаблон и там уже химичить с ней на клиенте как заблагорассудится ;)
← →
Sergey13 © (2005-01-11 17:22) [6]А мне вообще непонятно почему временные таблицы противоречат теории построения БД?
← →
Rule © (2005-01-11 20:24) [7]Sergey13 © (11.01.05 17:22) [6]
я конечно настаивать не буду, но сколько пишу программ, ещё не разу не понадобились ...
так что, ИМХО конечто же, они то в принципе не надо, без них можно обойтись
а вот по поводу того что они противоречат, то ни в одном учебнике по теории БД, которые я прочитал конечно, я не нашел ничего по поводу того что временные таблицы - это один из элементов логики БД ...
помоему это действительно пережиток локальных БД, как и сказал
msguns © (11.01.05 17:17) [5]
всё конечно ИМХО, можно поспотить ... допустим приведите мне пример, когда без временных таблиц не обойтись ...
← →
Digitman © (2005-01-12 09:13) [8]
> скорее всего получится неразбериха
в случае с IB/FB/YA "неразбериха" вряд ли возникнет .. если только ты сам к этому не приложишь ручки шаловливые ..
транзакции (ТА) в упомянутых СУБД-серверах полностью изолированы друг от друга, так если уж приспичило пользовать временные наборы данных (НД), можно перед формированием НД для отчета стартовать ТА, а по завершению формирования отчета откатить ТА - все внесенные в объекты БД изменения исчезнут "бесследно" ("бесследно" именно в кавычках).. другой вопрос, что при таком подходе выигрыш в простоте реализации сводится на нет проигрышем в регулярном "попадании" на "сборку мусора" (см. на ibase.ru все касаемое термина и механизма garbage collection)
← →
Sergey13 © (2005-01-12 09:58) [9]2 [7] Rule © (11.01.05 20:24)
>временные таблицы - это один из элементов логики БД ...
Это не элемент логики. Это инструмент разработчика. Про секционированные или вложенные таблицы тоже вряд ли чего найдешь в теории. Но они есть и некоторые ими успешно пользуются.
>помоему это действительно пережиток локальных БД
Наверное поэтому Ораклы ввели их в 8 версию своего сервака. Наверное в локальный маразм сваливается. 8-)
>допустим приведите мне пример, когда без временных таблиц не обойтись ...
Да пример стандартный. Нужно обработать несколько раз некий промежуточный (но достаточно ресурсоемкий!!!) результат. Причем желательно это сделать на сервере.
Я не призываю юзать ВТ(я их и сам не использую). Но мне приятно знать, что "если что", то у меня есть и такая фича. 8-)
При этом желательна именно серверная поддержка такой возможности. В иных случаях приходится несколько извращаться, что бы не получить сомнения автора топика.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.034 c