powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Несколько простых вопросов.
16 сообщений из 16, страница 1 из 1
Несколько простых вопросов.
    #32263255
Фотография MaestroEv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В очередной раз взываю к мощи бывалых пользователей IB.

Я правильно понял, что для каждой таблиицы нужен генератор для ID записи?
Для каждой таблицы тригер на вставку с вызовом этого генератора?
Удаленные записи к жизни возвращать можно (нужно) или втыкать новые?

Раньше все писал на FOXе поэтому эти вопросы, как бы, для успешного перехода на IB. Просто таблиц в проекте 30 штук вот и вопросы.... и FOX медленнее вставляет и удаляет чем редактирует (плюс не надо ничего чистить), а как IB?

Спасибо.
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32263278
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2MaestroEv
>Я правильно понял, что для каждой таблиицы нужен генератор для ID записи?
Нет. Можно и одним обойтись. Как больше ндравится.

>Для каждой таблицы тригер на вставку с вызовом этого генератора?
Да.

>Удаленные записи к жизни возвращать можно (нужно) или втыкать новые?
"Возврат" не предусмотрен.


>Раньше все писал на FOXе поэтому эти вопросы, как бы, для успешного перехода на IB. Просто таблиц в проекте 30 штук вот и вопросы.... и FOX медленнее вставляет и удаляет чем редактирует (плюс не надо ничего чистить), а как IB?

А это как сделаешь. Тут только руки и голова. Наличие-отсутствие тормозов от сервера БД зависят не в первую очередь.
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32263283
1man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Я правильно понял, что для каждой таблиицы нужен генератор для ID записи?
>Для каждой таблицы тригер на вставку с вызовом этого генератора?
В принципе - да, но возможны варианты (ID на клиенте, один генератор для всех таблиц ...).
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32263309
Acue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>для каждой таблиицы нужен генератор для ID записи?

Генератор помогает обеспечить уникальность. При любом очередном вызове
gen_id(Имя_генератора,1) ты получаешь приращение генератора на 1. Вне зависимости от "одновременности" вызова многими клиентами.
Нужна уникальность - можно использовать этот механизм.
Здесь писали о проектах
а) когда используется 1 генератор на все таблицы
б) когда используется 2 генератора на одну таблицу
все зависит от задачи и изворотливости :-) мысли разработчика

>>Для каждой таблицы тригер на вставку с вызовом этого генератора?

Можно через триггер, можно на клиенте перед вставкой получить значение генератора и тогда триггер не нужен.
select gen_id(Имя_генератора,1) from rdb$database
rdb$database - это системная таблица, в которой гарантировано находится 1 запись, все часто используют такое ее свойство.

>>Удаленные записи к жизни возвращать можно (нужно) или втыкать новые?

При удалении записи в IB удаляются совсем, а не помечаются на удаление. RESTORE и PACK здесь нету.
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32263317
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Я правильно понял, что для каждой таблиицы нужен генератор для ID записи?
Что значит для каждой? Где ПК должен генериться сервером - там его можно использовать.

>Для каждой таблицы тригер на вставку с вызовом этого генератора?
Не для каждой, а для тех, для которых оно необходимо.

>Удаленные записи к жизни возвращать можно (нужно) или втыкать новые?
Это я вобще не понял про что.

>перехода на IB. Просто таблиц в проекте 30 штук вот и вопросы.... и FOX
>медленнее вставляет и удаляет чем редактирует (плюс не надо ничего
>чистить), а как IB?
Все так тормозят, т.к. при вставках и удалениях обычно индексы надо перестраивать, поэтому и тормозит.
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32263845
Фотография MaestroEv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточните, пожалуйста.
Программа по ходу жизни добаляет записи в таблицу и стирает. А жизнь у программы может быть и год и два и пять...
Вопрос. Счетчик генератора дойдет до конца и че? Особенно если один на несколько? Я из-за этого в FOXe все уникальные ключи делал буквенные - это что-то типа ххх-ричной системы счисления (Большие, маленькие, русские, английские, цифры и.т.п.) А так получается программа на IB имеет конец? Или есть способ как-то упорядочить уникальные коды записей? Или я зря переживаю?
Спасибо.
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32263865
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2MaestroEv
>Или я зря переживаю?
Зря
>Спасибо.
Пожалуйста
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32263880
Free2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем зря
Это зависит от типа поля
например если ты сделаеш тип поля byte то генератор работает до 255
(я так думаю)
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32264603
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaestroEv
ну посчитай сам зря ты переживаешь или нет.... Максимальное значение для integer (которое обычно используется как праймари кей) более 2 миллиардов. Даже если по 10 значений генератора в секунду, то этого резерва тебе хватает более чем на 200 000 000 секунд или 55 555 часов, или 2314 суток, или на 6 лет. Вот в принципе и все....
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32265744
Фотография MaestroEv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит все-таки программа умрет через хх лет... Есть у меня один старый проектик на FOXE - ему сейчас шесть лет - и он ближе к смерти не стал, а здесь в самом начале роем могилу программе... Не привык я...
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32265781
Denis Uskov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>MaestroEv
А ты представь себе проект, который 10 раз в секунду в режиме 24х7, это же ... В реальности, при правильной организации БД, "срок жизни" уникального ключа увеличивается минимум в ~10 раз
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32265797
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaestroEv
я думаю прежде умрет у тебя место на диске :))
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32265953
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2MaestroEv
>Счетчик генератора дойдет до конца и че?
>Значит все-таки программа умрет через хх лет...

Нетленку пишешь? 8-)
К замечаниям, высказанным выше, могу добавить, что генератор можно пустить еще раз с 1, но с минусом. А это уже 12 лет. 8-)
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32271876
Maria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну если очень нужно, можно взять текстовый ID - комбинация значений 2-х генераторов + XP, которая его генерит.
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32272017
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Я правильно понял, что для каждой таблиицы нужен генератор для ID записи?
>Для каждой таблицы тригер на вставку с вызовом этого генератора?
>Удаленные записи к жизни возвращать можно (нужно) или втыкать новые?

В Interbase (IB) МОЖНО использовать генератор для получения очередных значений, это УДОБНО, но не обязательно.

Генератор использует для внутреннего хранения 64 - разрядное целое.
Если в секуду генерить по миллиону записей, то хватит на
584942,41735507203247082699137494 лет.

>Просто таблиц в проекте 30 штук вот и вопросы....
Если в проекте у тебя 1000 (тысяча) таблиц и один генератор на все, то хватит на
584,94241735507203247082699137494 лет.

Если все равно мало, то генераторы можешь не использовать. Работай, каку работал раньше.
Основное их преимущество удобство. ОНИ СУЩЕСТВУЮТ ВНЕ КОНТЕКСТА ТРАНЗАКЦИЙ.

>Раньше все писал на FOXе поэтому эти вопросы, как бы, для успешного >перехода на IB. и FOX >медленнее вставляет и удаляет чем редактирует (плюс не надо ничего >чистить), а как IB?

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


Еще - после FOXPRO заметишь, что здесь не так просто с индексацией "по чему бог на душу положит", почти нет встроенных функций в SQL - запросах, но зато с надежностью - высший класс. Переходи. Будут вопросы - задавай.
...
Рейтинг: 0 / 0
Несколько простых вопросов.
    #32272324
Фотография MaestroEv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем.
Особенно помог Владимир Малиновский.
Просто так написал "переходи"... А то я чем дальше читаю книгу по IB, тем больше мне плохо делается. Все описано как само собой разумеющееся, а для меня 10 лет (во время летит...) FOXa не прошли даром - мозги уже набекрень. Простые по IB -шным меркам вопросы - для меня тупик. Синтаксис SQL языка другой...

Спасибо.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Несколько простых вопросов.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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