Forum » Programiranje » [Pg-SQL] Tezko uganljivi primarni kljuc
[Pg-SQL] Tezko uganljivi primarni kljuc
Sergio ::
Hello. Imam tabelo v postgresql, kjer je primarni kljuc trenutno tipa serial. Nad sequencom klicem nextval() in tako dobivam logicne naslednje vrednosti.
Jaz bi pa rad, da bi bile te vrednosti, poleg unikatnosti, se razprsene, torej tezje uganljive.
Imam najnovejso verzijo PGSQL.
Any good advice?
Jaz bi pa rad, da bi bile te vrednosti, poleg unikatnosti, se razprsene, torej tezje uganljive.
Imam najnovejso verzijo PGSQL.
Any good advice?
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.
če usoda ustavi mu korak,
on se ji zoperstavi.
BigWhale ::
Kaj ce bi kar (g)uid kreiral in ga limal v bazo not? To je pretty much unique pa se tezko uganljivo... :) No, lahko pa se kak md5 hash cez vrzes.
Mogoce zna celo postgre guid ustvarit.
Mogoce zna celo postgre guid ustvarit.
NavadniNimda ::
GUID boš težko sekvenčil, ker je vsaj en del randomly zgeneriran. Svetujem Sergiu, da NE izpostavlja primary key-a, ampak nek "debelejši" KEY (kot naprimer GUID, ki zagotalja samo uniqueness), na osnovi katerega pa zaradi unikatnosti vedno lahko dobi pripadajočo vrstico s primary keyem. Če da še oba skupaj v dodatni index (GUID + ID), pa mu ni treba delat page-read, ampak je na voljo kar iz indexne strukture (pohitritev, če rabi samo un unikatni ID).
Torej oba stolpca v tabeli, izpostavlja se pa uno ne-serijsko vrednost. Jaz imam VEDNO vse svoje tabele tako narejene. Primary key je "za interne potrebe" baze in se NE izpostavlja nikamor!
Torej oba stolpca v tabeli, izpostavlja se pa uno ne-serijsko vrednost. Jaz imam VEDNO vse svoje tabele tako narejene. Primary key je "za interne potrebe" baze in se NE izpostavlja nikamor!
Sergio ::
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.
če usoda ustavi mu korak,
on se ji zoperstavi.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | MySQL typesOddelek: Programiranje | 2238 (1923) | korenje3 |
» | [VB] datagridviewOddelek: Programiranje | 1933 (1316) | korenje3 |
» | Premikajoči okrasekOddelek: Loža | 3232 (2587) | Strumf |
» | Uploader za slikeOddelek: Programiranje | 1749 (1001) | Sergio |
» | [T-SQL] Kako vnest podatek v bazo in da ti hkrati vrne id?Oddelek: Programiranje | 2888 (2606) | dmok |