Forum » Programiranje » Generiranje ID-ja na podlagi imena
Generiranje ID-ja na podlagi imena
tx-z ::
Neki sm isku po netu pa nism nč pamtnga našu. Rad bi da bi mi na podlagi imena(recimo "Janez Novak"), funkcija generirala unique ID številko. Torj da bi za vsako ime obstajala točno določena številka.
Sam sm naredu sicr tole:
Ampak ta stvar pač ne generira unique številk. K bi lah pač z različnimi imeni dubu lih isto številko..A kdo pozna kšno tako funkcijo?
Sam sm naredu sicr tole:
public static int generateID(String xn, String xs){ //prvo ime, drugo priimek int stevilo = 0; for(int i=0; i<xn.length(); i++){ for(int j=0; j<xs.length(); j++){ stevilo*=xn.charAt(i)+xs.charAt(j); } } return stevilo; }
Ampak ta stvar pač ne generira unique številk. K bi lah pač z različnimi imeni dubu lih isto številko..A kdo pozna kšno tako funkcijo?
tx-z
Mavrik ::
Ja, takim funkcijam se reče hash funkcije. Poglej si kako uporabit md5 ali SHA-1. Lahko tudi kaj preprostejšega, samo bo večja možnost kolizije.
The truth is rarely pure and never simple.
MaCoFaCo ::
V C# bi lahko naredil tako:
private static int GetHashCode(string name, string surname) { return string.Format("{0} {1}", name, surname).GetHashCode(); }
tx-z ::
Okej hvala ;) Sm najdu u javi... String.hashCode();
Sam to tut negativna števila daje. Bom pač dau absolutno vrednost pa upu da se kej ne podvoji :D
edit: hmm, kaj to sploh vrne? Double, al int?
Sam to tut negativna števila daje. Bom pač dau absolutno vrednost pa upu da se kej ne podvoji :D
edit: hmm, kaj to sploh vrne? Double, al int?
tx-z
Zgodovina sprememb…
- spremenilo: tx-z ()
ziga7 ::
To se naredi drugače. Dve tabeli. V prvi ID, ime; v drugi ID iz prve tabele plus željene vrednosti.
tx-z ::
Fora je da bi rad da ma vsak človk svoj ID(recimo da predvidevam da se dva človeka z istim imenom ne pojavita). In še 19 naslednjih zaporednih številk. Zato sm pač mislu tisto število k ga hash vrne pomnožit z 20 pa bi blo. Sam so to pol že prevelke cifre.
tx-z
BigWhale ::
Erm... Cist napacen OS za man 3 uuid.
Anyway, ne mores hashev kar mnoziti z enimi stvarmi. Kaj bi rad Unique identifier za uporabnike? Potem naj bo prvi uporabnik 1, drugi 2, tretji 3, in tako naprej. Uporabnika pac nikoli potem v resnici ne odstranis ampak samo reces, da je pobrisan.
Ce bi pa rad iz kakrsnega koli razloga, da ima vsak uporabnik nek ID, ki ni vnaprej ugotovljiv, potem pa po tisti tvoji dokumentaciji pobrskaj za stringi UUID in GUID...
Anyway, ne mores hashev kar mnoziti z enimi stvarmi. Kaj bi rad Unique identifier za uporabnike? Potem naj bo prvi uporabnik 1, drugi 2, tretji 3, in tako naprej. Uporabnika pac nikoli potem v resnici ne odstranis ampak samo reces, da je pobrisan.
Ce bi pa rad iz kakrsnega koli razloga, da ima vsak uporabnik nek ID, ki ni vnaprej ugotovljiv, potem pa po tisti tvoji dokumentaciji pobrskaj za stringi UUID in GUID...
tx-z ::
V bistvu mam sistem banke. In k so taka bedna navodila, lahko vsak uporabnik nardi več računov. Zato sm pol pač hotu narest da ma recmo vsak uporabnik nek svoj začetn ID, pol pa še recmo naslednih par. Ampak če ta stvar dobi več uporabnikov, pa vsak si zmisl met ful računov in vsak si zmisl svoj ID, bo slej k prej hotu folk narest nek nov račun, kjer bo ta ID že zasedn, in boš težko sploh dubu ID k je še prost. Razn če pač nardim tko da ti sam nardiš nov račun in ti server da naslednji zaporedni ID-sam pol bi mogu še hrant hrant kdo lah do kerga ID-ja dostopa..Blah :P Pa še čudn je to :D
tx-z
BigWhale ::
Erm, ja sej tko al tko mors nekaj podatkov hranit. Zaporedna stevilka userja je en prdec napram vsemu. :P
Jst ::
Unique AutoIncrement za ID v tabeli1;relacija v tabeli2 z IDjem, kjer imaš številke računov. Pretty simple.
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|
BigWhale ::
Ja, uid imas incremental za vsakega userja in za vsak racun. v tabeli racunov imas pa se za vsak racun referenco na uid userja.
Jst ::
Malo si se nerodno izrazil, BW. V tabei računov namreč ne rabiš unique identifyjerja, ampak samo relacijo, sam izpolniš, kateremu uid-ju iz tabele1 pripada. Verjetno si tako mislil, a ne?
Tabela1:
(ID: UID,
NazivOsebe: string)
Tabela2:
(ID: Integer, --ko naredis zapis v tej tabeli, prepises UID iz tabele1, in tako ves, komu racun/zapis pripada
StRacuna: string)
edit: BW: jaz sem te narobe razumel... misliva enako.
Tabela1:
(ID: UID,
NazivOsebe: string)
Tabela2:
(ID: Integer, --ko naredis zapis v tej tabeli, prepises UID iz tabele1, in tako ves, komu racun/zapis pripada
StRacuna: string)
edit: BW: jaz sem te narobe razumel... misliva enako.
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|
Zgodovina sprememb…
- spremenil: Jst ()
BigWhale ::
Ne ne. Tudi za racune rabis unique ID. Samo je dovolj da je zaporedna stevilka. Mislim, vsaka tabela se mora zacet z ID. ;)
Jst ::
Vendar za omenjeni primer avtorja teme to ni pomembno in dejansko moteče ter ne prispeva k jasnosti kako zadevo narediti.
Oziroma, povej mi tvoj razlog za "Tudi za racune rabis unique ID."
V real world načrtovanju baze pa itak pri vsaki tabeli začneš z IDjem.
Oziroma, povej mi tvoj razlog za "Tudi za racune rabis unique ID."
V real world načrtovanju baze pa itak pri vsaki tabeli začneš z IDjem.
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C++] Naloga seznamOddelek: Programiranje | 3324 (2599) | Matic1911 |
» | [C#] DeserializacijaOddelek: Programiranje | 1882 (1485) | Cvenemir |
» | Pomoč pri programčkihOddelek: Programiranje | 2966 (2616) | Mitja Bonča |
» | osnove v Javi - zvezdiceOddelek: Programiranje | 3599 (2821) | Tutankhamun |
» | [Java][Naloga] Seznam študentov, majčken problemOddelek: Programiranje | 2336 (2023) | VASkO |