Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 11:14 27.05.24 
Компютри и Интернет
   >> Бази данни
Всички теми Следваща тема *Кратък преглед

Тема Interbase, Gen_IDнови  
Автор VladoVasilev (минаващ)
Публикувано30.07.05 11:11



Искам да подпитам дали е добре като подход:
Сървъра е Interbase.
В базата на всяка таблица имам поле ID integer primary key, което е унификатора на записа. Съответно когато записвам нов запис трябва по някакъв начин да избера и подходяща стойност за това поле. Самото приложение ми е клиент-сървър, работи в мрежа. Досега го правех по следния начин : В една таблица RECCOUNTS има 2 полета: TableName и CurrentNо, съответно за всяка таблица каква е последната стойност за ID-то и. Съответно една stored-procedura
CREATE PROCEDURE GETNEXTID ( TBLNAME VARCHAR(32))
RETURNS (OUTID INTEGER)
AS
begin
SELECT CURRENTNO+1 FROM RECCOUNTS WHERE TABLENAME = :TBLNAME INTO :OUTID;
UPDATE RECCOUNTS SET CURRENTNO = CURRENTNO+1 WHERE TABLENAME = :TBLNAME;
suspend;
END;
и така си генерирам ID-та. Това обаче не е много добро като бързодействие май. От друга страна INTERBASE и така и така си има вградени генератори, та питанката ми е струва ли си да ползвам тях (все пак гарантират че независимо от броя портебители които в момента викат генератора, генерираните ID-та винаги ще са уникални). Проблема е че за всяка таблица трябва да има и генератор, ако съм разбрал правилно принципа, което май не е много добре. Мнения?



Тема Re: Interbase, Gen_IDнови [re: VladoVasilev]  
Автор NickBass (бас-програмист)
Публикувано30.07.05 13:10



------------------------------------------------------------------------------------------------------
Проблема е че за всяка таблица трябва да има и генератор, ако съм разбрал правилно принципа, което май не е много добре.
------------------------------------------------------------------------------------------------------

Това не е така. Можеш да ползваш един генератор за колкото таблици искаш. Тук преди време се завихри един спор за AutoInc срещу генератори...
Всъщонст това според мен е най голямото предимство на генераторите. Пример: Имаш документ, който съдържа редове с различни структури на записа. Правиш си толкова таблици, колкото са типовете редове и ползваш ЕДИН генератор за ID.



Тема Re: Interbase, Gen_IDнови [re: NickBass]  
Автор VladoVasilev (минаващ)
Публикувано30.07.05 15:06



Логично :)
Май много се бях вглъбил в идеята че като е ID, ще е с последователни стойности...иначе ОЧЕВИДНО няма проблем да си се ползва за няколко таблици генератора...забележката ми беше неуместна....а темата за генераторите и AutoInc-а беше наистина интересна.
Мерси!



Тема Re: Interbase, Gen_ID [re: VladoVasilev]  
АвторTTRex (Нерегистриран)
Публикувано01.08.05 16:24



Не е проблем да има и на всяка таблица генератори. Хората говорят за бази данни с над 500 таблици, още толкова процедури и генератори. Всичко си работи.




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.