Tema: Re: unikalus įrašo numeris
Autorius: Ernikas
Data: 2010-11-23 15:30:29
o GUID nepadetu?

Ernikas

"Anon" <anon@pisem.net> wrote in message 
news:icg792$uv3$1@trimpas.omnitel.net...
> Ačiū dar kartą visiems, patarimus išklausiau, o dabar išbandysiu savo 
> variantą, jei nepasiseks - pakeisiu pagal tuos patarimus :) Aišku, 
> užlokinimas ilgam laikui negerai, bet kiek žinau, jei Delphi daromi 
> CachedUpdates ir lentos lockinimas optimistic, užlokinama tik įrašant 
> galutinius duomenis metodu ApplyUpdates, kas mažai laiko užima, o įrašus 
> vartotojai darys maždaug kas pusvalandį. Bandysiu :)
>
> Vytautas
>
> "Anon"  wrote in message news:icg4fk$qi6$1@trimpas.omnitel.net...
>
> Ačiū už detalų paaiškinimą, šiuo metu visi rašymo veiksmai ir yra vienoje
> tranzakcijoje. Tačiau įrašai pagr. lentelėje niekada nebus trinami(tik
> galima atžymėti įrašą kaip negaliojantį), visi bus kopinami į backupą, 
> metų
> gale lentelės backupinamos, išvalomos ir vėl iš pradžių :). Dėl numeravimo
> iš eilės gal ne taip svarbu, kokia bus eilė, ar bus praleistų numerių,
> svarbu įrašo numerio unikalumas. O pagal mano siūlytą veiksmų tvarką
> vartotojas pirma turi papildyti įrašą(padidinti įrašą vienetuku), po to
> pasiimti, tuo metu numerio lentelė lockinta, kitas vartotojas negalės tuo
> metu į ją rašyti, o tuo pačiu ir pasiimti to paties numeriuko. Lyg ir
> nematau logikos klaidų, gal kas mato ?
>
> Vytautas
>
>
> "2x50"  wrote in message news:icg1i6$ls3$1@trimpas.omnitel.net...
>
> Sveiki,
>
> as kaip duombazistas tai galeciau tik patarti isnaudoti visas dbvs 
> siulomas
> galimybes. Jei dbvs turi transakciju valdymo mechanizma, tai reiketu ji ir
> panaudoti. Jei aplikacijoj vartotojo atliktas veiksmas sukuria irasa 3jose
> lentelese, tai visu siu irasu sukurimas turetu buti vienoje transakcijoje.
> Be to, pirmiausiai irasas turi buti sukurtas master lentoj, o tik veliau
> detail lentose, o ne atvikrsciai. Taip pat tos lentos turetu tureti PK ir 
> FK
> constraint'us.
> Del numeravimo is eiles, tai siulau tai pamirsti ir daugiau neprisiminti,
> ypac kai yra konkurentines transakcijos. Kodel?
> 2 paprasti klausimai.
> Vartotojas V1 pradeda transakcija T1, jam priskiriamas numeriukas 1. Is
> karto po jo varototjas V2 pradeda transakcija T2 (kol T1 dar nera
> pasibaigus), kuriai priskiriamas numeris 2. Vartotojas V1 nutraukia
> transakcija T1. Pirmas klausimas - ka daryti su numeriu 2 transakcijoj T2?
> Antras klausimas - ka daryti su numeravimu "is eiles" lenteleje, kai is 
> jos
> irasas istrinamas?
> Atsakius i siuos klausimus isvada turetu buti "jo, neverta terliotis"...
> t.y. mano pasiulymas yra naudoti AutoIncrement (galima ir is savo 
> lenteles,
> ner skirtumo) ir visus irasus visose susijusiose lentelese daryti tos 
> pacios
> transakcijos metu...
>
> "Anon" <anon@pisem.net> wrote in message
> news:icfrf5$av0$1@trimpas.omnitel.net...
>> Na, turiu dar vieną klausimą iš Delphi + MySQL :)  Į lentelę įterpinėja 
>> įrašus apie 20 vartotojų, įrašams reikalinga suteikti unikalų numerį, 
>> kurie didėtų iš eilės, nuosekliai. AutoIncrement tipas netinka - dirbama 
>> per cached updates, lockingas optimistinis, numeris reikalingas įrašyti į 
>> kitas 3 lenteles prieš užfiksuojant pagrindinėje, o AutoIncrement'as 
>> suveikia tik po komandos ApplyUpdates. Žodžiu, ar veiktų toks metodas: 
>> atskiroje lentelėje laikomas 1 įrašas su vienu numerio lauku(pradžioj Nr 
>> yra 0) , kuriantis pagr. lentelėje įrašą vartotojas užlockina lentelę su 
>> numerio lauku, padidina numerį vienetu, pasiima jį ir nuima lockinimą. Tą 
>> patį daro ir kiti. O gal čia aš dviratį išradinėju? IŠ anksto ačiū 
>> patarusiems.
>>
>> Vytautas
> 



3Dastronomyagricultureaudioautosautos.audiautos.audioautos.binariesautos.bmwautos.clubautos.fordautos.hondacrxautos.japanautos.mercedesautos.opelautos.sportautos.volvoautos.vwaviaavia.binariesbankcardsbinariesbooksbuildingcinemacommercecomp.hardwarecomp.softwarecomp.lietuvinimascomp.networksculturedarbas.ieskaudarbas.siulaudesigneconomicselectronicsfaunafauna.aquafauna.binariesfishingflorafotofoto.binariesgamesgames.csgames.onlinegsmgurmanaihumourhumour.binariesinternetlawmicrosoftmotomusicmusic.binariesmusic.instrumentsmusic.LT.binariesnavigacijaphppoliticsprogrammingrpgsportstudyingsveikatatalktesttranslationtransportationtraveltravel.binariestvunixvideovideo.binarieswatersportswwwwww.flashpdaautos.supermama.ltmobiledarbasretro.3Dretro.agricultureretro.astronomyretro.audioretro.autosretro.autos.audiretro.autos.audioretro.autos.binariesretro.autos.bmwretro.autos.clubretro.autos.fordretro.autos.hondacrxretro.autos.japanretro.autos.mercedesretro.autos.opelretro.autos.sportretro.autos.supermamaretro.autos.supermama.ltretro.autos.volvoretro.autos.vwretro.aviaretro.avia.binariesretro.bankcardsretro.beosretro.binariesretro.booksretro.buildingretro.cinemaretro.commerceretro.compretro.comp.hardwareretro.comp.lietuvinimasretro.comp.networksretro.comp.softwareretro.cultureretro.darbasretro.darbas.ieskauretro.darbas.siulauretro.designretro.economicsretro.electronicsretro.e-vejasretro.faunaretro.fauna.aquaretro.fauna.binariesretro.fishingretro.floraretro.fotoretro.foto.binariesretro.gamesretro.games.csretro.games.onlineretro.games.rpgretro.genealogijaretro.gsmretro.gurmanairetro.humourretro.humour.binariesretro.internetretro.YZFretro.YZF.nebukretro.YZF.nebuk.netikintisretro.YZF.nebuk.netikintis.bukretro.YZF.nebuk.netikintis.buk.tikintisretro.lawretro.microsoftretro.mobileretro.motoretro.musicretro.music.binariesretro.music.instrumentsretro.music.LTretro.music.LT.binariesretro.navigacijaretro.newsretro.news.taisyklesretro.newuserretro.pdaretro.phpretro.politicsretro.programmingretro.rpgretro.sportretro.studyingretro.sveikataretro.talkretro.translationretro.transportationretro.travelretro.travel.binariesretro.tvretro.unixretro.videoretro.video.binariesretro.watersportsretro.wwwretro.www.flashdiylt.rkm.news.announcelt.rkm.news.newuser