Arhitektura nekih tabela me muci!
Cao! :)
Situacija sledeca. Pravim kladionicu i kvote vadim iz XML-a koji mi daje kladionica, kako se on updateuje svakih npr. 5 minuta onda ga i ja tako citam. Kada utakmica pocne onda se ona vise ne pojavljuje u ponudi tacnije XML-u. Posto ja moram da imam aktivnu ponudu i da mi slucajno neko ne bi uplatio utakmicu koja ja pocela u listi koju ja izbacujem takva i ne sme da se nadje. Napravio sam tabelu koja za ID utakmice ima int i iteratuje se sama i ja razmisljam kako da napravim najelegantnije izvodjenje. Ono sto se meni zasad cini jeste da lepo ubacim kolonu "pocela" u tabelu sa vrednoscu boolean i da svaki put kad radim update pocnem transakciju sve prebacim na "true" i onda samo kako citam XML prebacujem na "false" zavrsim transakciju i komitujem i to je to. *Naravno dupla provera ako neko pre nego sto je pocelo pokupi listu pa uradi submit za pola sata :P Pa ako neko ima nesto da kaze, samo napred :) |
sto na novo citanje XMLa (trenutne ponude) ne bi napravio TRUNCATE dotadasnje tabele i upis novopristiglog XMLa? i to citas vani onda kao 'trenutnu ponudu'...
|
Pa zato sto treba da mi ostanu utakmice u tabeli :)
Posle ja u tu tabelu upisem rezultate i to se koristi za izracunavanje tiketa i slicno. Naravno ako neko misli da ce ovo biti naporno za server prihvatam svaku sugestiju. |
Nisam te bas najbolje razumeo, ali koliko kapiram tebi treba neki ‘elegantan’ nacin da utvrdis dali je utakmica pocela ili ne... Ja sam nesto slicno budzio za vesti na jednom sajticu koji sam skoro radio, stvar je simple..
napravis vest, dodelis joj validan datum koji uporedjujes sa trenutnim datumom (u tvom slicaju ti treba i time funkcija).. I napravis jednostavno uporedjenje npr: da ako je datum neke tekme manji ili jednak danasnjem + ako je pocetak iste manji ili jednak trenutnom vremenu tekma jos nije pocela (ili si mozda uhvatio prvu sekundu utakmice, sto je malo verovatno ;)).. I znaci samo ispisujes te podatke :) I da samo pazi na GTM time, da ne omanes za h ili dva ;) |
Citat:
nismo se skontali mozda :) imas dvije tabele: 1) sve utakmice 2) trenutno aktivna ponuda u prvoj ti ostaju sve utakmice, a za drugu radis TRUNCATE i upis kako citas XML. i iz nje generiras onda trenutnu ponudu... uvjet za ovo je da u XMLu imas neki jedinstveni identifikator koji ce bit nekakav foreign key izmedju te dvije tablice |
U stvari ja sam sebe-se malo zbunio pa mi se sad manta.
Nemam jedinstven identifikator nazalost. Da probam malo bolje da se odrazim sa novim razmisljanjima :) 1. Hocu da kada se nova utakmica pojavi u XML da je ubacim u ponudu 2. Hocu da kada utakmica nestane iz XML (pocela je) da je izbacim iz ponude 3. Hocu da sve utakmice koje sam ikada imao u ponudi budu u jednoj tabeli u koju cu ja upisati posle rezultat Sad kad razmisljam jedan View bi mozda bio i najbolje resenje. Ako napravim samo jednu tabelu i onda napravim View utakmica koje pocinju posle "ovog trenutka" to bi moglo da upali. (ako moze tako naravno) E sada sam mozda nasao pravo pitanje! Kako uz najmanje rabljenje baze da odradim tacku 1 posto bi View onda bio resenja za tacku 2. :) Naravno sve to podrazumeva da je serveru dobro nariktan sat :1064: Ako ovo ima ikakvog smisla drago mi je, ako ko ima ideju opet mi je drago :) |
Citat:
i imas automatski kako na nebu tako i na zemlji :) u tom slucaju ostaje jedino ovaj dio da imas sve utakmice koje si ikad imao u ponudi u bazi. pa sad da razmisljam na glas: recimo da stavis primary key da ti bude kombinacija naslov utakmice (valjda PAR koji igra) ali i datum (posto recimo utakmica kupa moze imat uzvrat u roku par dana, ali istog datuma dvoje istih ne igraju) i onda samo upisujes. one koje jos nemas u tabeli ce upisat, a one koje imas, nece radi primarnog kljuca... |
uh..
zamilsi key 27112006inter-juve ;) :D |
Pa to bi kanda nekako i funkcionisalo :)
(svakih 5 minuta) XML -----> Tabela sa svim utakmicama Tabela -----> View sa svim utakmicama koje nisu pocele I prikazujem sve iz View Cini mi se nekako izvodljivo! :1043: Sad mi toliko jednostavno da kao da nesto ne valja. :1002: |
Citat:
|
Vreme je GMT +2. Trenutno vreme je 09:47. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.