Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1107177163
Ш-К
2005-01-31 16:12
2005.02.13
Формат даты.


3-1106035711
Bless
2005-01-18 11:08
2005.02.13
Можна ли сделать, чтобы внутри транзакции часть кода не откатывал


14-1106286296
Жук
2005-01-21 08:44
2005.02.13
Музыка из "Братьев Блюз"


3-1105686496
DelphiN!
2005-01-14 10:08
2005.02.13
Как добавить в поле столбца еще один стобец со своими полями ?


4-1103808045
Alek
2004-12-23 16:20
2005.02.13
Посылка сообщений!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский