Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

Работа с базами 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.026 c
11-1090252322
grumbler
2004-07-19 19:52
2005.02.13
как можно получить информацию о выполняемом файле по LNK/PIF?


14-1106449696
Думкин
2005-01-23 06:08
2005.02.13
С Днем рождения! 23 января


1-1107157149
denis24
2005-01-31 10:39
2005.02.13
checkbox в колонке stringgrid


3-1105960214
Orc
2005-01-17 14:10
2005.02.13
Не полное добавление записей update в цикле.


4-1103398664
pomashok
2004-12-18 22:37
2005.02.13
key_event