» »

[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?
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
č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.

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!8-)

Sergio ::

Super, dela, hvala!

http://mravlca.com:8080/

Če koga zanima kaj počnem. Beta1. :)
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

MySQL types

Oddelek: Programiranje
162238 (1923) korenje3
»

[VB] datagridview

Oddelek: Programiranje
351933 (1316) korenje3
»

Premikajoči okrasek

Oddelek: Loža
133232 (2587) Strumf
»

Uploader za slike

Oddelek: Programiranje
481749 (1001) Sergio
»

[T-SQL] Kako vnest podatek v bazo in da ti hkrati vrne id?

Oddelek: Programiranje
162888 (2606) dmok

Več podobnih tem