Forum » Programiranje » katero polje vzeti - DB vprašanje
katero polje vzeti - DB vprašanje
papasmrk ::
Pozdravljeni,
ker gradim novo podatkovno bazo in kasneje aplikacijo se mi kot večkrat pojavlja isto vprašanje :
konkreten primer:
Tabela [Oseba] ima naslednja polja
----------------------------
id [int - autoincrement]
sifra [varchar - sifra osebe iz nekega drugega IS]
ime
priimek
----------------------------
Če se želim v neki drugi tabeli referencirat na to osebo ali naj se preko polja id, ali sifra, ker dejansko sta oba unikatna in podvprašanje:
ali je sploh smiselno v tabeli potem imeti id, ki je autoincrement, če pa že imam šifro iz drugega sistema, ki je unikatna.
Tabela bo imela cca 2000 oseb.
Hvala in lep pozdrav
ker gradim novo podatkovno bazo in kasneje aplikacijo se mi kot večkrat pojavlja isto vprašanje :
konkreten primer:
Tabela [Oseba] ima naslednja polja
----------------------------
id [int - autoincrement]
sifra [varchar - sifra osebe iz nekega drugega IS]
ime
priimek
----------------------------
Če se želim v neki drugi tabeli referencirat na to osebo ali naj se preko polja id, ali sifra, ker dejansko sta oba unikatna in podvprašanje:
ali je sploh smiselno v tabeli potem imeti id, ki je autoincrement, če pa že imam šifro iz drugega sistema, ki je unikatna.
Tabela bo imela cca 2000 oseb.
Hvala in lep pozdrav
tomaz_sres ::
Osebno imam zmeraj znotra baze tudi notranje PK-je in to so praviloma polja ID, ki so autoinc. Kode iz zunanjih sistemov naj služijo za povezovanje med sistemi in ne za PK v tvoji bazi. Kako boš recimo predvidel scenarij, da se kode v zunanjem sistemu (na katerega dostikrat nimaš vpila) spremenijo? V tem primeru bi moral narediti pretvorbo kod in to bi lahko naredil edino tako, da iz zunanjega sistema dobiš translacijsko tabelo StaraKoda, NovaKoda.
Lep pozdrav, Tomaž Sreš, http://www.sres.si
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | SQL pomočOddelek: Programiranje | 2384 (1798) | miko22 |
» | SQL problemOddelek: Programiranje | 971 (909) | dejc009 |
» | PHP - pomočOddelek: Izdelava spletišč | 1854 (1498) | BlueRunner |
» | [T-SQL] Kako vnest podatek v bazo in da ti hkrati vrne id?Oddelek: Programiranje | 2888 (2606) | dmok |
» | php, mysql SELECT MAX(id)...Oddelek: Programiranje | 1272 (1168) | Gre-Gor |