|
Тема
|
Физическа последователност на записи
|
|
Автор |
NickBass () |
Публикувано | 01.02.05 16:51 |
|
Здравейте! Използвам FireBird и забелязвам следното: Имам една таблица (№1),
в която записвам история на извършените актуализации в друга таблица (№2). Всъщност сложил съм after тригери на таблица №2, които добавят запис в таблица №1 при всяка актуализация на №2. Прецених, че PRIMARY KEY за №1 не ми е нужен, тъй като записите ще са ми необходими само във физическа последователност (демек по RDB$DB_KEY) за репликация към друга БД. Докато си правих тестове със записите в №1 се натъкнах на това, че като ъпдейтна запис, който физически не е последен - става последен, а друг път - не. Не схващам логиката на този RBD$DB_KEY. Някой знае ли нещо по въпроса?
Благодаря предварително.
| |
Тема
|
Re: Физическа последователност на записи
[re: NickBass]
|
|
Автор |
NDeu (динозавър) |
Публикувано | 01.02.05 18:21 |
|
"Физическа последователност на записи" е нещо, което не съществува (или поне е нещо много по-различно от интуитивната представа, която хората имат).
Релационните бази данни работят с МНОЖЕСТВА, а не с редове.
Ако искаш да имаш някаква подредба, трябва ти да си я въведеш.
Дали ще е по последователни числа (напр. от генератори), или по време, или нещо друго ти си решаваш и ти го определяш.
Не можеш да разчиташ на RBD$DB_KEY, защото той си се ползва от сървъра за свои цели и ти гарантира устойчивост само в рамките на текущата транзакция.
Повече за RBD$DB_KEY можеш да прочетеш в
Редактирано от NDeu на 01.02.05 18:22.
| |
Тема
|
Re: Физическа последователност на записи
[re: NDeu]
|
|
Автор |
NickBass () |
Публикувано | 02.02.05 09:32 |
|
Thank You!!!
"Не можеш да разчиташ на RBD$DB_KEY, защото той си се ползва от сървъра за свои цели и ти гарантира устойчивост само в рамките на текущата транзакция. "
От всичко което ми каза, всъщност само това ми беше неясно. И все пак си мисля, че редовете от таблиците в базата трябва да имат някакъв вътрешен уникален адрес. Как иначе се осъществява връзката между индексите и даден ред от таблица?
Мерси за линка!
| |
Тема
|
Re: Физическа последователност на записи
[re: NickBass]
|
|
Автор |
NDeu (динозавър) |
Публикувано | 02.02.05 09:45 |
|
В отговор на:
И все пак си мисля, че редовете от таблиците в базата трябва да имат някакъв вътрешен уникален адрес.
Имат. Но няма гаранция, че той ще расте по реда на Insert/Update.
| |
Тема
|
Re: Физическа последователност на записи
[re: NDeu]
|
|
Автор |
NickBass () |
Публикувано | 02.02.05 10:04 |
|
Мерси x 10! От линковете ми става ясно за структурата на RDB$DB_KEY.
Досега винаги съм работил с PK и генератори, но ме зачопли любопитството :)
| |
|
|
|
|