Jump to content
php.lv forumi

MySQL - unique ID


Java

Recommended Posts

Varbūt kāds zin, vai uz MySQL ir iespējams ģenerēt unikālu ID - nevis kaut kādu autoincrement, kas var būt vienādi citām tabulām, bet tādu, kas būs unikāls pa visu datubāzi, ja ne divām, trim datubāzēm kopā? MS SQL Server šāda fīča ir un viņš ģenerē ko šim līdzīgu 9d273393-92c9-4807-be9c-515a0d152415 , bet kā ir ar MySQL?

Link to comment
Share on other sites

  • Replies 45
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Var, atcerējos, ka unique id ir citas priekšrocības - kas saistīts ar ierakstu numerāciju - redzi, reāli tev tie numuru id nav īsti unikāli, jo, ja vēlies pārnumurēt datubāzi, nu respektīvi, blablabla - jaunais ieraksts var ieņemt vecā vietu, bet unique id būs unikāls un ļoti ļoti maza varbūtība, ka kādam citam ierakstam varētu būt tāds pats ID :)

Link to comment
Share on other sites

Ā, vēl viena lieta - useris var pārlapot visus ID vienkārši lietojot numurus pēc kārtas, bet GUIDus viņš tik vienkārši neuzminēs! ;)

Bet man šķiet, ka nav garantēts, ka tas GUID būs unikāls, vienkārši ļoti liela varbūtība, ka tas būs tomēr unikāls pavisam - vismaz vienas datubāzes ietvaros!

Link to comment
Share on other sites

Piemēram, es minu id=123 - ja tur kaut kur parādās id=102 un id=134, piemēram, tad pastāv iespēja, ka būs 103 un 133, piemēram! ;) Bet priekš kam jūzerim būtu jārāda tas, kas viņam nav paredzēts rādīt? :) Tak nekodēsi visus numeriskos ID uz atrādīšanu?

Link to comment
Share on other sites

Ā, vēl viena lieta - useris var pārlapot visus ID vienkārši lietojot numurus pēc kārtas, bet GUIDus viņš tik vienkārši neuzminēs! ;)

Tas gan - bet reti kad kaut kas tāds ir vajadzīgs. Katrā ziņā es labāk izveidotu pats kaut kādu formātu (piem., kā youtubei), kas nav tik garšs, nevis izmantotu 16 simbolīgo GUID.

 

Bet priekš kam jūzerim būtu jārāda tas, kas viņam nav paredzēts rādīt?

Nu ja tik svarīgi ir neļaut lietotājam apskatīt, tad jau vajag ieviest pieejas tiesību sistēmu nevis tikai uzticēties Security through obscurity (http://en.wikipedia.org/wiki/Security_through_obscurity)

Edited by andrisp
Link to comment
Share on other sites

Mana vienīgā pieredze ar GUIDiem bija tieši kādā MS SQL datubāzē, kur man nācās pētīt datus un kā tie ievadīti un kā vajag ievadīt. Pēc neilga laiciņa es biju gatavs nosist (vismaz virtuāli) to džeku, kas tos GUIDus tur visur bija sabāzis, jo tā vietā, lai normāli atlasītu klasifikatorus ar 5 vērtībām un atcerētos ka to idi bija 1, 2, 3, 4, 5 (nu labi kaut vai 1034, 77, 657, 843 utml) man nācās katru stringu kopēt ar ctrl+c un ctrl+v. Tas bija nenormāli besīgi, NENORMĀLI.

Bet nu vispārīgā gadījumā, protams, vienam patīk māte, otram meita, trešajam kleita un ir jau nenoliedzmi kādas pozitīvās īpašības arī GUIDiem :)

 

Gints Plivna

http://datubazes.wordpress.com

Link to comment
Share on other sites

Man šķiet, ka youtube ir pēc kaut kāda pašizdomāta algoritma sakodēti ID ne? Varbūt arī viņi tādus glabā datubāzē, gan jau ka tā, bet nu jāatceras arī, ka tam algoritmam jānodrošina visu ID unikalitāte - nebūs viegli tādu izdomāt?

Link to comment
Share on other sites

Mana vienīgā pieredze ar GUIDiem bija tieši kādā MS SQL datubāzē, kur man nācās pētīt datus un kā tie ievadīti un kā vajag ievadīt. Pēc neilga laiciņa es biju gatavs nosist (vismaz virtuāli) to džeku, kas tos GUIDus tur visur bija sabāzis, jo tā vietā, lai normāli atlasītu klasifikatorus ar 5 vērtībām un atcerētos ka to idi bija 1, 2, 3, 4, 5 (nu labi kaut vai 1034, 77, 657, 843 utml) man nācās katru stringu kopēt ar ctrl+c un ctrl+v. Tas bija nenormāli besīgi, NENORMĀLI.

Bet nu vispārīgā gadījumā, protams, vienam patīk māte, otram meita, trešajam kleita un ir jau nenoliedzmi kādas pozitīvās īpašības arī GUIDiem :)

 

Toties veicot šādus atlasīšanas, grupēšanas un migrācijas darbus, tev tie GUIDi lieti noder, jo tu nevari sajaukti ID nekādi - GUID būs unikāls pa visu DB, savukārt tāds pats ID var būt 50 tabulās :))

Link to comment
Share on other sites


×
×
  • Create New...