Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Teorija vs. praksa - modeliranje lige u nekom sportu

[es] :: Baze podataka :: Teorija vs. praksa - modeliranje lige u nekom sportu

Strane: 1 2 3

[ Pregleda: 19759 | Odgovora: 48 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Teorija vs. praksa - modeliranje lige u nekom sportu29.08.2006. u 15:06 - pre 214 meseci
Po ugledu na top temu Teaorija vs Praksa, predlazem da odradiomo jos jedan projekat za primer. Ovoga puta nesto sto nije tako svakodnevno kao sto su razna poslovna knjigovodstva. Treba nam nesto sto verovatno nismo radili. Ovako: moji klinci vazdan igraju fudbal ili hokej po nekakvim amaterskim ligama. Igraju se utakmice, sa sudijama, priakzuju se tabele svake nedelje i na kraju se odredi sampion i dele se pehari. Pehari i medalje s dele svima, a sampionioma malo veci nego ostalima.

Nekoliko godina sam pomagao vodeci evidenciju o rezultatim i pravio tabele. Imam sopstvenu bazu i programe za vodjenje liga takmicenja i pracenje statistike utakmica i igraca i sve to lepo radi. Ovo navodim jer mi je jednom Gojko obrisao post kad sam na forumu Matematika pitao za algoritam za odedjivanje ko ce skim da igra, mislio je da mi je to domaci zadatak

Ajde ovako da uradimo. Ja sam kobajagi organizator lige u nekom sportu. Treba mi baza podataka u kojoj cu da pratim sta se u ligi desava - utakmice, rezultati, tabele. Lepo opisem sta hocu, jezikom organizatora lige. Onda se jave majstori da predloze bazu. Pod bazom mislim samo na back end. Necu da se bunim ako neko koristi identity za PK, to se mene ne tice, ja sam kobajagi samo organizator lige i o projektovanju baze ne znam nista. Ali, kobajagi imam sestrica koji studira SQL i moze za mene da sastavlja SELECT upite i da postavlja nezgodna pitanja koja ja onda prenesem na forum te tako malo procistimo dizajn dok ne dobijemo nesto sto ce moci da posluzi kao dobra osnova za front end. Ne mora da bude na kraju samo jedno resenje. Verovatno da ni jedno resenje nece biti perfektno i svako ce biti bolje od drugih u nekim elementima. Nema veze, sto vise razmisljanja i ideja, to bolje.

Ako se prihvata predlog i ima dobrovoljaca da se bave ovim, u sledecem postu dacu opis problema koji se resava pa da se pocne.

 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.it-austria.net.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu29.08.2006. u 16:03 - pre 214 meseci
Ukoliko ugrabim dovoljno slobodnog vremena i ukoliko budem imao motivacije, rado bih se prikljucio ovoj diskusiji. Ona prethodna je postala malo naporna za mene, pa se nadam da ova nece biti u stilu "moj tata je jaci od tvog tate" prepucavanja...
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu29.08.2006. u 18:23 - pre 214 meseci
Zahvaljujem

Evo ga proces koji treba zamisljena baza podataka da podrzi:

Prati se iz sezone u sezonu, amatersko ligasko takmicenje u nekom sportu. Sport je slican fudbalu/rukometu/kosarci/vaterpolu/hokeju. Daju se golovi i ko da vise, dobio je utkmicu. Za pobedu tim dobija X bodova, za nereseno Y a za poraz Z bodova. Brojevi X, Y, Z se mogu razlikovati od sezone do sezone.

Za svaku sezonu, odredi se lista timova koji ce se takmiciti. Timovi imaju jedinstveno ime, ali ne uvek, moze biti Radnicki iz isa i Radnicki iz Kragujevca, pa im dodelimo takmicarski broj na pocetku sezone. Svaki tim podnosi listu igraca koji ce igrati za njega tokom sezone. Igraci mogu u toku sezone da promene tim.

Svakog vikenda igraju se utakmice. To se zove 'kolo lige'. U svakom kolu, svaki tim igra najvise jednom. Ako je neparan broj timova, u svakom kolu je jedan tim slobodan. Broj kola i ko s kim igra u kom kolu se odedjuje rasporedom utakmica koji se pravi na pocetku sezone. Baza podataka NE MORA da ima modul za pravljenje rasporeda, podrazumeva se da raspored postoji. Znaci, sta pise u rasporedu (Excel fajl ili cak Word), ima se uneti u bazu podataka. Baza mora da spreci greske u prekucavanju, na primer:
- jedan tim u istom kolu se pojavljuje u dve utakmice
- tim igra sam sa sobom - gost i domacin su isto
- nepostojeci tim se pojavljuje

Za svaku utakmicu, u rasporedu se navodi domacin tim, gostujuci tim, predvidjen datum utakmice i predvidejno vreme pocetka utakmice. Svakoj utakmici se dodeljuje sudija i zelimo da pratimo i ko je sudio koju utakmicu. Treba spreciti greske u planiranju - da se ne moze u jednom kolu isti sudija odrediti da sudi dve utakmice.

Po zavrsetku utakmice sudija sastavlja izvestaj u kome pise stvarni datum i vreme pocetka utakmice. Upisuje se rezultat i dodeljeni zuti i crveni kartoni. Upisuje se status utakmice, a moze biti
1. regularno odigrana utakmica, rezultat se vazi
2. utakmica prekinuta zbog vise sile, rezultat se ne vazi
3. utakmica uopste nije ordigrana zbog vise sile
4. jedan od timova je predao utakmicu, upisuje se 1:0 za drugi tim.

Kazne za igrace
--------------
Igrac sa dva zuta kartona automatski mora da preskoci sledecu utakmicu. Igrac sa crvenim kartonom automatski preskace dve utakmice. Pre svake utakmice, sudija proverava koji igraci treba da sede tu utakmicu zbog kazne. Ovo vidi iz izvestaja koji mu se dostavlja iz direkcije lige. Posle utakmice, sudija podnosi izvestaj o dodeljenim kartonima. Upisuje se prezime, ime igraca i registracioni broj. Ovo znaci da se na pocetku sezone registruju svi iraci koji ce igrati za timove i svakom se za tu sezonu, dodeli registracioni broj. Baza ne mora da pamti ko je igrao na kojoj utakmici, ali mora da pamti ko je dobio kakav karton i na kojoj utakmici nece smeti da igra.

Statistike igraca
----------------
Baza ne mora da pamti ko je dao golove, ali bi bilo lepo, zbog statistike.

Rezultati
--------
Posle svakog odigranog kola, pravi se tabela sa ovakvim zaglavljem:
Pozicija, Naziv tima, Broj odigranih utakmica, Broj pobeda, Broj neresenih, Broj poraza, Dato golova, primljeno golova, Broj bodova

Pozicija (mesto na tabeli) se odredjuje tako sto se tabela sortira u sledecem redosledu:
1. najvise bodova
2. najbolja gol razlika (dati minus primljeni golovi)
3. broj datih golova
4. broj odigranih utakmica
5. medjusobni skor

Ako ovih 5 uslova nije dovoljno da se rangiraju timovi na tabeli, onda timovi dele najvisu poziciju. Na primer, ako ima tri tima koji dele trece, cetvrto i peto mesto, svima se u tabeli pise trece mesto. Tim koji dolazi posle njih, bice sesto mesto.
Znaci, pozicija time jeste broj timova koji su bolji od njega plus jedan.

Za tabelu i pomenute izvestaje, treba dati SELECT iskaz koji obezbedjuje trazene podatke. Potrebni su dakle SELECT izkazi za:
1. tabelu posle svakog kola
2. lista igraca koji imaju pravo igranja za svaki tim na datoj utakmici
3. listu kaznjenih igraca koji ne mogu da igraju na datoj utakmici
4. lista strelaca - ko je dao koliko golova
5. lista golmana - ko je primio koliko golova

Sta se trazi od projektanta
-------------------------
1. da predlozi strukturu tabela koja omogucuje da se prati ligasko takmicenje, prema prilozenom opisu.
2. Na osnovu datog opisa, projektant treba da identifikuje najvaznija pravila i da pokaze kako baza podrzava ta pravila. Na primer: pravilo 'tim moze u jednom kolu odigrati najvise jednu utakmicu' podrazno je sa UNIQUE constraint na tabeli tblKola po poljima (KoloID, timID)

Posto sam ja samo dobrovoljni direktor lige, ne razumem se u projektovanje baza podataka ja prema tome ne znam sta su pravila, pa vam ih ne mogu izlistati. Mogu da vam opisujem kako mi to radimo pesice, a prjektant neka vidi sta ce.

 
Odgovor na temu

inherited
Novi Sad

Član broj: 95516
Poruke: 219
*.neobee.net.



Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu30.08.2006. u 08:21 - pre 214 meseci
Ideja je odlicna. Projekat ni malo nije naivan. Posto sam od onih koji uglavnom prate i pitaju na forumu za baze, zamolicu one koji znaju, da krenu u resavanje projekta. Pa, ako niko i ne zna, verujem da Zidar zna, te nek nastavi sa resavanjem problema kao projektant.
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu30.08.2006. u 13:30 - pre 214 meseci
Hvala na komplimetu, ali poenta je da projekat pokusa neko ko se ovim nije bavio, dakle neopterecen prethodnim iskustvom. Prethodno iskustvo nije uvek prednost.

:-)
 
Odgovor na temu

inherited
Novi Sad

Član broj: 95516
Poruke: 219
*.neobee.net.



Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu30.08.2006. u 14:01 - pre 214 meseci
Pročitavši text, ovako odokativno, mislim da bi se mogli napraviti, za početak, nekoliko šifarnika ili kako ih već nazivate. Ovako, npr.:
1)ŠIFARNIK KLUBA
2)ŠIFARNIK SEZONA
3)ŠIFARNIK BODOVA
4)IGRAČI (šifra_ kluba, JMBG_igrača,...)
5)ŠIFARNIK SUDIJA
6)ŠIFARNIK KARTONA
7)ŠIFARNIK STATUSA (regularno odigrana utakmica, rezultat se vazi ,...)
8)ŠIFARNIK KAZNI

!?!

[Ovu poruku je menjao inherited dana 30.08.2006. u 16:26 GMT+1]
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.dialup.neobee.net.



Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu30.08.2006. u 16:04 - pre 214 meseci
Pozdrav,

u jednom postu, čini mi se Zidarevom, rečeno je da te primere i probleme na koje nailazimo pri projektovanju baze podataka, treba što ispravnije i detaljnije približiti nama koji pratimo diskusiju. Dakle, Zidar je izneo sasvim korektno problematiku u ovoj temi, a ja bih vas zamolio da što detaljnije odradite ovu diskusiju.
Možda da počnete sa E-R modelom sistema, normalizacijom...

Hvala unapred.

Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu30.08.2006. u 18:20 - pre 214 meseci
Hvala Inherited, dobar pocetak. Imamo dakle sifranike.
Citat:

1)ŠIFARNIK KLUBA
2)ŠIFARNIK SEZONA
3)ŠIFARNIK BODOVA
4)IGRAČI (šifra_ kluba, JMBG_igrača,...)
5)ŠIFARNIK SUDIJA
6)ŠIFARNIK KARTONA
7)ŠIFARNIK STATUSA (regularno odigrana utakmica, rezultat se vazi ,...)
8)ŠIFARNIK KAZNI


Ja kao direktor lige sam priajtno iznenadjen sto mi se projektant baze brzo javio, vidim da se nesto desava, ne razumem bog zna kako, ali imam neka pitanja:

- Moze li malo detaljnije sta bi koji sifranik sadrzao?
Pretpostavljam da je ŠIFARNIK SEZONA spisak sezona - za svaku sezonu po jedan red u spisku. A mogu li da imam vise od jedna lige u istoj sezoni? Na primer, vodim administraciju za fudbalsku ligu, ali i za kosarkasku? Ili, takmicenje je u fudbalu, ali su lige razlicite, zbog uzrasta, pa imam pionire, omladinc i odrasle?

Sta bi bio ŠIFARNIK KLUBA? Mozda si mislio ŠIFARNIK KLUBOVA, kao neki spisak klubova? Svidja mi se. Mozes li mi reci kako znam koji klub igra u kojoj sezoni ili ligi?

ŠIFARNIK BODOVA? Je l' to koliko je ko osvojio bodova?

IGRAČI (šifra_ kluba, JMBG_igrača,...) - ovo mi se svidja, treba nam spisak svih igraca, koji igraju u odredjenoj ligi u odredjenoj sezoni. Isto za ŠIFARNIK SUDIJA.

A ŠIFARNIK KARTONA, je'l to ko je dobio koliko kartona? A jel' nisu to kazne? Ovo bas ne razumem.

A gde su utakmice? A gde se cuva tabela? A jel' moze da neki program sam izracunava tabelu, a samo unesem rezultate?

Sad je red na projektantu da pojasni. Mozda su neka pitanja i zbunjujuca, jer je ne razumem mnogo sta mi je projektant rekao u stvari. nego kao razumem rec sifranik i sad kao pogadjam sta se hoce.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.dialup.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu30.08.2006. u 19:20 - pre 214 meseci
1. Svrhe baze podataka

Svrha ALTUNS baze podataka je da pruži informacije o stanju takmičenja i da pomogne pri donošenje ispravnih odluka u daljem toku takmičenja.


2. Ciljevi baze podataka

Potrebno je obebediti ispranost rasporeda utakmica.
Potrebno je održavati podatke o timovima.
Potrebno je održavati podatke o igračima.
Potrebno je održavati podatke o takmičenju i utakmicama.


3. Potencijalni subjekti

Na osnovu imenica koje se pojavljuju u inicajlnom tekstu problema dolazim do potencijalnih subjekte. Subjekti se u zahtevima najčešće pojavljuju u množini. Subjekti su uopšteno govoreći osobe, predmeti, događaji. Pokušaću da dam i definiciju potencijalnih subjekata.

Spisak potencijalnih subjekata sa njihovim definicijama (sortiran po abecedi):
Bod – Bod je nagrada koju tim dobija za postignut uspeh u odigranoj utakmici.
Dodela crvenog kartona – Disciplinska mera koju sudija izriče igraču kojom se igrač udaljava iz utakmice.
Dodela žutog kartona – Disciplinska mera koju sudija izriče igraču kao upozorenje na nepravilno ponašanje.
Gol – Gol je događaj na utakmici kojim se meri uspešnost tima.
Igrač – Igrač je registrovana osoba koja učestvuje u takmičenju.
Izveštaj -
Izveštaj o dodeljenim kartonima – Izveštaj o dodeljenim kartonima je zaključak o izrečenim disciplinskim merama na jednoj utakmici.
Kazna – Kazna je disciplinska mera zabrane igranja utakmice igraču. Kazna se izriče na osnovu lošeg ponašanja igrača na predhodnim utakmicama.
Kolo -
Lista igrača -
Lista timova – Lista timova je skup timova koji se međusobno takmiče u jednoj sezoni.
Raspored utakmica – Raspored utakmica je spisak utakmica sa datumom i vremenom održavanja.
Sezona - Sezona je kontinuirani vremenski period u kojem se održava takmičenje.
Sudija – Sudija je kvalifikovana osoba koja održava regularnost utakmice.
Tim – Tim je skup igrača koji zajedno učestvuju kao jedna strana u takmičenju.
Utakmica – Utakmica je takmičenje između dva tima.



4. Potencijalne karakteristike

Takođe iz teksta problema dolazim do potencijalnih karakteristika koje moramo da čuvamo u bazi. Karakteristike se u zahtevima najčešće pojavljuju u jednini.

Spisak potencijalnih karakteristika
pobeda
nerešeno
poraz
ime tima
takmičarski broj
domaći tim
gostujući tim
predvidjen datum početka utakmice
predviđeno vreme početka utakmice
stvarni datum početka utakmice
stvarno vreme početka utakmice
rezultat
status utakmice
prezime igrača
ime igrača
registracioni broj


5. Pitanja za direktora lige

a) Da li se direktor slaže sa iznetim stavkama pod 1 i 2 o svrsi i ciljevima?


Neki potencijalni subjekti su mi bez definicije, dok mi se neke definicije ne sviđaju, što znači da nisam razumeo njihovu ulogu te da moram tražiti dodatna pojašnjenja od naručioca projekta. Imam i neke dileme oko spiska potencijalnih karakteristika. Nastavak pitanja:

b) Dodela crvenog kartona / Dodela žutog kartona
Definicije su mi previše slične. Da li grešim u njima?

c) Izveštaj.
Navodi mi se pitanje: Izveštaj o čemu, o kome? Izveštaj o završetku utakmice? Da li već postji propisana papirna forma za popunjavanje (koju bih rado pogledao ako postoji)? Da li je primerenije taj izveštaj primenovati u recimo 'zapisnik o utakmici' ili 'sudijski zapisnik'?
Recimo da jedan igrač u istoj utakmici dobije dva žuta kartona, te zbog toga i crveni. Da li se u zapisnik uvode svi kartoni ili se uvodi samo crveni?

d) Izveštaj o dodeljenim kartonima.
Ovaj izveštaj (zapisnik?) je samo podskup predhodnog izveštaja, to jest predhodni izveštaj sadrži sve podatke koji se pojavljuju i u ovom izveštaju.

e) Kazna
Da li se može izreći i kazna neigranja usled događaja koji nisu (ili nisu mogli biti) sankcionisani odgovarajućim kartonima?

f) Kolo
Apsolutno ne mogu da definišem kolo! Pomoć!

g) Lista igrača
Rečeno je da timovi prijavljuju na početku sezone igrače koji će igrati za njih. Takođe je rečeno da igrači u toku sezone mogu menjati tim. Kako se onda nov igrač prijavljuje za igru? Da li se igrač koji je napustio tim jednostavno briše iz spiska prijavljenih igrača?

h) Sezona
Nisam baš zadovoljan sa ovom definicijom. Da li mi se može još malo pojasniti pojam sezone?

i) takmičarski broj
Da li sam dobro shvatio da se takmičarski broj dodeljuje od sezone do sezone. Da li to znači da isti tim može imati različit takmičarski broj u dve sezone?

j) registracioni broj
Slična pitanja se nameću kao i za predhodni takmičarski broj!

k) rezultat
Šta je to rezultat? Da li se on sastoji od broja datih golova domaćeg tima i broja datih golova gostujućeg tima?

l) status utakmice
Da li se utakmica sa statusom 3 pa i 2 ikada odigravaju? Da li im se dodeljuje nov termin u rasporedu?


6.

Ovde ću se za sada zaustaviti. Sigurno nisam još popisao sve subjekte i karakteristike, a možda sam ih i izmešao. To mi ni nije bio cilj u ovoj fazi. Svakako ću se još vratiti na originalni tekst problema kad dobijem odgovore na pitanja
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.neobee.net.



Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu30.08.2006. u 19:51 - pre 214 meseci
Ovi bi možda mogla biti polazna osnova u sređivanju šifarnika, na osnovu onoga što je
inherited predstavio. Pa, ajde da ovo moje izmenimo i doradimo kompletnije na osnovu
vaših sugestija. Recimo da se vodi fudbalska liga.

-- #(Primary Key)
-- $(Foreign Key)

SIFARNIK_UZRASTA(#ID_Uzrasta, Naziv_Uzrasta) -- pioniri, omladinci i odrasli
SIFARNIK_SEZONA(#ID_Sezone, Naziv_Sezone, Pocetak, Kraj)
SIFARNIK_KLUBA(#ID_Kluba, Naziv_Kluba, Mesto, Adresa)
SIFARNIK_REZULTATA(#ID_Rezultata, Naziv_Rezultata, Broj_Bodova) -- pobeda,nereseno,poraz
SIFARNIK_IGRCA(#ID_Igraca, Ime, Prezime,...,$ID_Kluba)
SIFARNIK_SUDIJA(#ID_Sudije, Ime, Prezime,...,$ID_Uzrasta)
SIFARNIK_KARTONA(#ID_Kartona, Boja, Znacenje)
SIFARNIK_LIGA(#ID_Sezone, #ID_Uzrasta, #ID_Kluba)

BTW, nisam išao dalje, jer smatram da prvo treba korektno odraditi šifarnike, pa onda
možemo dalje razvijati ostale bazne tabele.

p.s. nisam video da je chachka postovao pre mene, pa ako ovo moje remeti koncepciju,
izvinjavam se.
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

Andreja Dulovic

Član broj: 14570
Poruke: 246
212.200.220.*



+5 Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu31.08.2006. u 09:36 - pre 214 meseci
evo mog predloga:


SEZONA (IDsezona, Naziv)

LIGA (IDliga, Naziv)

UTAKMICA (IDutakmica, Datum, vreme, IDsudija, IDliga, IDsezona, IDtim1, IDtim2)

SUDIJA (IDsudija, Ime)

IZVESTAJ (IDizvestaj, IDsudija, IDutakmica, IDteren, datum, vreme, IDrezultat)

TEREN (IDteren, Naziv, Lokacija, IDtimVlasnik)
[pretpostavka je da je tim1 domacin, a tim2 gost u tabeli UTAKMICA, ali je ostavljena sloboda u slucaju da makar jedna utakmica mora da se odigra na terenu treceg tima, pa ako ne postojala tabela TEREN ta cinjenica bi bila izgubljena]

KARTON (IDizvestaj, IDigrac, tip_kartona, minut)

REZULTAT (IDrezultat, Definicija, reseno_penalima, izIgre_ili_sluzbeni, dodatne_info)
[rezultat je u stvari "status" iz specifikacije, ali ima jos neke kolone koje za koje mi se cini da mogu biti od koristi, na primer utakmica se moze zavrsiti "sluzbenim" rezultatom, ako na primer navijaci jednog tima prebiju sudiju :) pa liga odluci da kazni taj tim, i tako neke slicne situacije. zanimljivo bi bilo i znati da li je utakmica dobijena na penala ili iz igre."definicija' je tekstualni opis koda rezultata.]

BODOVI (IDsezona, IDbod, brBodova)
[posto je u specifikaciji receno da se bodovi za pobedu i neresen rezultat mogu razlikovati od sezone do sezone, mora da postoji ova tabela]

LISTA_SEZONE (IDsezona, IDtim)
[koji timovi igraju u kojoj sezoni.]

KOLO_LIGE (IDkolo, IDsezona, datum)
[datum neka bude subota, ako se igra vikendom. i dalje je potreban datum u tabeli utakmice jer se utakmica moze igrati i u nedelju. mada se taj podatak moze izvuci iz kombinacije polja tabela KOLO_LIGE i UTAKMICA, mislim da je potreban jer se moze desiti da makar jedna utakmica odigra nekog dana koji nije vikend, i onda nece biti nacina da se ta cinjenica zapamti ukoliko ne postoji kolona "datum" u tabeli UTAKMICA/IZVESTAJ.]

TIM (IDtim, Naziv)

IGRAC (IDigrac, Ime, IDtim)

TRANSFER (IDigrac, IDtim, datum)
[ovo je neophodno ako ce biti potrebno raditi statistiku koliko je igrac dao golova dok je bio u nekom timu i slicno. datum oznacava datum dolaska u IDtim, tako da je omogucena pretraga po uslovu "sta je uradio igrac dok je bio u tom_i_tom timu).]

GOL (IDgol, IDutakmica, IDigrac, minut, IDtip_gola)

TIP_GOLA(IDtip_gola, Opis)
[cini mi se da bi bilo lepo imati podatak o tipu gola, da li je dat iz penala, iz igre, ili iz prekida, jer imam utisak (nisam siguran) da to moze biti zanimljivo za statistiku, posto nije isto da li je neki igrac dao gol iz penala ili iz igre. mozda postoje jos neki tipovi golova koji mogu biti od interesa, ali ne znam..]

REZULTATI(IDsezona, IDliga, IDkolo, Pozicija, Naziv tima, Broj odigranih utakmica, Broj pobeda, Broj neresenih, Broj poraza, Dato golova, primljeno golova, Broj bodova)
[ovo sam samo prekopirao iz specifikacije, i dodao prve tri kolone, posto mi je ponestalo vremena za razmisljanje. :)]


Deo specifikacije:
Citat:
Baza mora da spreci greske u prekucavanju, na primer:

ovo se moze resiti programski tako sto ce se prilikom svakog unosa utakmice u bazu proveravati zadati uslovi i ako nisu zadovoljeni, upis ce biti blokiran, i bice izdato upozorenje o gresci. mislim da je te uslove moguce proveriti i odrzavati na osnovu ovakvih struktura tabela.



inace, mislim da bi bilo interesantije da je specifikacija na pocetku zadata tako da simulira stvarnu zivotnu sitaciju u kojoj poslodavac (koji nema u glavi koncept baza podataka) daje lose i neprecizne specifikacije, te bi mi na osnovu njegovih daljih prohteva trebalo da menjamo bazu, cisto da vidimo kako bi to izgledalo u praksi. najbolje bi bilo da simuliramo i prozivimo neciju "anegdotu" iz zivota, pa da probamo da se "izborimo" sa virtuelim poslodavcem. :)


pozdrav,
andreja
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu31.08.2006. u 14:55 - pre 214 meseci
Vremenska razlika od 6 sati zaista cini cuda. Daje nam vremena da razmotrimo stvari na miru.

Kao direktor decije lige, zahvaljujem trojici konsultanata koji pokusavaju da rese problem. Evo dodatnih objasnjenja.

Mi smo u stvari sportski klub, koji organizuje i vodi grupa gradjana. Registrovani smo kao non-profit biznis. To znaci da imamo pravo da naplacujemo ucesce u nasim takmicenjima (ligama) a da sav prikupljeni novac mora da se potrosi na organizovanje takmicenja.

Organizujemo za sada bejzbol na leto i hokej preko zime. Hteli bismo da od sledece godine organizujemo i fudbal (evropski). Izraz 'sezona' jeste jedan takmicarski ciklus. Za bejzbol, sezona pocinje u maju i zavrsava se sredinom jula. Za hokej, sezona pocinje u oktobru i zavrsava se u martu. Ovo 'pocinje' i 'zavrsava' je gledano iz ugla ucesnika -utakmice za bejzbol pocinju umaju a zavrsavaju u julu.

Za organizatore kluba i sezone, posao pocinje mnogo ranije. Tako, za bejzbol, negde u februaru mi oglasimo da cemo sledeceg proleca/leta organizovati ligu za decu. Postavimo oglase u obliznje osnovne i srednje skole, u obliznju hokej arenu, po parkovima i vecim zgradama. Krajem marta pocinje registracija. Roditelji koji zele da im deca igraju, prijavljuju decu. To se radi licno. U nekoj skoli ili mesnoj zajednici uzmemo jednu sobu i tokom nekoliko dana tu dolaze roditelji da prijave decu. Uznmemo osnovne podatke - ime, prezime, pol, godiste, telefon, email i adresu. Vecinu dece i roditelja znamo jer su i ranije bili ukljuceni u neke aktivnosti. na kraju, svi smo iz istog komsiluka pa se znamo makar iz vidjenja. Odredjen broj dece je uvek nov - u najmladjim kategorijama, a i u starijim, uvek se neko doesli ili tek pocne da se 'bavi sportom'. Po pravilu, ako familija ima vise dece, sva su ona ukljucena, svak u svom uzrastu. Posle registracije sledi "try-out" - ocenjivanje kvaliteta, da bi mogli da decu razvrstamo u timove priblizno jednake snage. Za jedan vikend ih sve dovedemo na teren i trazimo da odrade odredjene elemente igre. Da li znaju da uhvate lopticu, da je bace, da udare onim stapom po loptici, koliko brzo trce. Za hokej gledamo da li znaju da klizaju, koliko dobro, kako rukuju pakom, koliko su brzi, precizni i slicno. Raspon kvaliteta je ogroman, pa u istom timu imate decu koja pojma nemaju ali i potencijalne buduce zvezde. Poenta je da igraju svi koji zele i da se lepo druze. Balansiranjem snaga timova postizemo da niko ne bude hronicni gubitnik. Istina, na kraju je neko na prvom mestu, neko na poslednjem, ali svako ima bar neku pobedu i poneki poraz. Ako se tokom sezone desi da je neki tim prejak ili preslab, mi jednostavno izpremestamo igrace, tako da odnos snaga bude ravnomerniji. Otuda ono da igrac moze da promeni tim tokom sezone. Timovi su svrstani u starosne kategorije, tako da govorimo kategoriji 'ne stariji od 10 godina', 'ne stariji od 12', 'ne stariji od 14' i slicno. Klupskim propisima se definise znacenje 'ne stariji od 10 godina' i nije tako striktno. Starosne kategorije mi nazivamo divizije (Division 'Under 12' ili Divison 'Born 1991'). U svim timovima igraju i decaci i devojcice, a moze i odvojeno, kako se vec dogovorimo i zavisno od toga koliko ima kog pola. Ako ima malo devojcica, podelimo ih medju timove da svuda bude po neka. Aki ih ima puno, bekada organizujemo posebnu ligu za njih.

Svaki tim ima trenera koji je neko od roditelja i on dobrovoljni i bez naknade obavlja tu duznost. Moze biti i pomocnik trenera, ako ima dobrovoljaca. Treneri zadzuju opremu na pocetku sezone - lopte, mreze za golove, pakove za trening, cunjeve. boce zavodu i slicno. Treneri preuzimaju dresove na pocetku sezione i dlee ih deci. Broj na dresu je ujedno i identifikacioni broj igraca u okviru tima. Brojevi na dresovima nisu sekvencijalni, nego predstavljaju brojeve cuvenih igraca. na primer, svaki fudbalski tim imao bi 25 (Zigic) ili 11 (Dzajic). U bejzbolu i hokeju cesti su brojevi tipa 27, 88, 77, 92. Bitno je samo da su brojevi jedinstveni u okviru tima. Cesto brojeve po svom nahodjenju postavlja firma kod koje narucimo dresove.

Utakmice se igraju na terenima koji pripadeju obliznjim skolama ili gradskom komunalnom preduzecu koje brine o parkovima. Upotreba terena se placa i na pocetku sezone mi procenimo koliko cemo imati timova i ugovorimo odredjen broj terena. To se finansira novcem prikupljenim od ucesnika. deo novca dolazi i od sponzora. Mnogi roditelji imaju sopstvani biznis, i odluce da daju donaciju klubu. Na ovaj nacin se obara pojedinacna cena i omogucuje i deci slabijeg materijalnog stanja da ucestvuju. Za uzvrat, na dresovima koje daca nose, ispisuje se ime sponzora. Bas kao Crvena Zvezda i Toyota. Pored toga, kad objavimo tabele sa rezultatima, pore imena tima pise i ime sponzora. Na primer tim 'North York Rangers' ima sponzora 'Morgan Architects' i na tabeli se pojavljuje ime 'North York Rangers - Morgan Architects'. Broj timova po diviziji je mali, obicno 4-5 pa je lako napraviti raspored ko ce skim da igra u kom kolu. Svako kolo se igra za jedan vikend. Normalno da ne zelimo da jedna tim igra dev utakmice jednog vikenda, a neko ni jednu. Tacno, za svaku utakmicu se dodeljuje jedan od terena i to pise u rasporedu. Ni jedan tim nema svoj 'domaci' teren. Za bejzbol imamo u principu tri igralista i ona su nasa svake subote i nedelje od podne do uvece. Tu moramo da udenemo sve utakmice, svih divizija.
Ipak je vazno ko je domacin a ko gost. U bejzbolu domacin prvi pocinje, a u hokeju domacin i gost moraju da budu na odredjenim stranama za vreme utakmice i imaju zasebne odeljke gde idu kad su iskljuceni. Rasporedom se postize da svaki tim bude domacin i gost priblizno isti broj puta. Posto je sezona dugacka, aima malo timova, onda svako svakoga igra po nekoliko puta.

Pitanje zutih i crvenih kartona predlazem da izbacimo iz razmatranja. Mi smo liga za ddcu, koju vode roditelji. stoga, ne zelimo uopste da imamo situacije gde bi neko bio kaznjen neigranjem. Ako neko previ probleme, ukaze se roditelju na to i ako treba dete se dovede u red na druge nacine. Za osam godina ne pamtim da smo iamli u bejzbolu ili hokeju kaznu neigranja. U fudbalu je drugacije. Vrlo su retki crvani kartoni, ali se desi da poneko dobije dva zuta, ako nista ono zbog sudija koji vezbaju strogocu.

Sudije su posebna prica. Oni moraju da su registrovani pri asocijaciji malih liga kojoj i mi pripadamo. To su obicno starija deca, 15 godina i vise koja su nekada igrala za nasu ligu pa sada uce i da sude. Na pocetku sezone formiramo listu sudija sa kojima cemo raditi. Sudije sa liste, tokom date sezone. pokrivaju sve timove i divizije. Izmedju dva kola ima cela sedmica. u toj sedmici, koordinator lige dodeljuje sudijama utakmice. Posto su to nasa deca, vodi se racuna kad je koji sudija na raspolaganju, ko je koliko iskusan i slicno. Sve se to obavi telefonom i licnim kontaktom, tako da sudije znaju na koji teren i kada treba da idu. Sudijama se placa to sto rade. Negde u ovom procesu smo zamislili da sudijama dostavimo informaciju ko ne bi smeo da igra na sledecoj utakmici zbog kazne. Ponavljam, ovo sa kaznama mozete da izostavite iz razmatranja, ali bi bilo lepo da se resi. Znaci, moze, ali nije obavezno. Posle utakmice, treneri potpisu zapisnik. U zapisnku pise rezultat utakmice. U gol spotrovima, pise se kad su pali golovi i ko ih je dao, pa i 'vrsta gola' - penel i iz igre. U bejzbolu se pisu pogodjene loptice i osvojeni poeni za igrace. U hokeju se pisu i minuti koje igrac provede u boksu za iskljucene (penalty minutes).

Same rezultate vodi osoba zvana 'score keeper', u slobdnom prevodu 'referent za tabelu'. Obicno trener pobednickog tima telefonom ili e-mailom obavestava score keeper-a o rezulatatima, iste veceri ili sledeceg dana. Onda score keeper zavede rezultate u raspored i preracuna tabelu.Tabela se onda postavi na oglasnu tablu i web site, a nekada se e-mailom posalje trenerima, zajedno sa azuriranim rasporedom. Desi se nekada da dodje do greske - javi s epogresan rezultat ili score keeper zameni pobednika i gubitnika i slicno. Ukoliko s egreska otkrije odmah, odmah se i ispravi. Ponekda medjutim, greska se ne primeti odmah, nego cak pred kraj sezone, posle 15 utakmica se otkrije da je u drugom kolu pogresno unet rezultat. Tada se greska sipravi i preracuna se nova tabela. Sto se tice tabele, uvek se vazi samo tekuca tabela. prethoden nisu od znacaja. Obicno cuvamo ne koje su objavljene na table (jedna preko druge se zakace spenadlama), ali svakoga interesuje samo ona koja je najsvezija. znaci, nema potrebe da cuvamo u bazi kakva je tabela bila posle svakog kola. iNteresuje nas samo poslednje stanje.

Eto tako su meni objasnili kako funkcionise kucna liga (house league)

Nadam se da sam odgovorio svima, ako ne nadalje idu konkretna pitanja i konktretni odgovori.

Veoma mi se dopada pristup koji ima Chachka, da se prvo formalno definisu pravila. Iz ovoga sto sam ispricao da se izvuce formalna lista pravila. Uz malo srece, kad se napravi model tabela, moci cemo da idemo po listi, jedno po jedno pravilo i da vidimo kako je podrzano u modelu. Ako se ja pri tome setim jos necega, videcemo sta cemo.

Kad dodje do konkretnih tabela, meni bi kao laiku bilo jako zgodno da mi pokazete tabele koje gradite sa nekim kobajagi podacima. Lakse mi je da shvatim o cemu se radi i da primetim sta ne vallja ili da postavim neko glupo pitanje. Tako, uz ovo
Citat:
SEZONA (IDsezona, Naziv)
LIGA (IDliga, Naziv)
UTAKMICA (IDutakmica, Datum, vreme, IDsudija, IDliga, IDsezona, IDtim1, IDtim2)
SUDIJA (IDsudija, Ime)
IZVESTAJ (IDizvestaj, IDsudija, IDutakmica, IDteren, datum, vreme, IDrezultat)
dobro bi dosli i primeri sa podacima.

Setite se, ja sam laik za komjutrka posla. I ovo je iterativan proces u kome vi pokusavate iz mene da izvucete bitne informacije, a ja uporno na netehnicki nacin pricam o tome kako radi liga. Iz moje price vi u stvari pravite specifikaciju (listu pravila) sa kojima cu se ja na kraju sloziti i onda idemo u gradjenje sistema. Rekoh, iterativan proces, pa ce biti mozda nekoliko krugova price dok ne isteramo sve na cistac.

:-)


 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.1.14.vie.surfer.at.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu01.09.2006. u 00:28 - pre 214 meseci
Hm, da ne bismo previse otisli u sirinu i zakomplikovali citav proces, predlazem da se fokusiramo samo na jedan sport, npr. fudbal.
Ja sam evo zapoceo sa izradom ER dijagrama sa entitetima, pa cu vidjeti da do ponedeljka prilozim ER dijagram sa detaljnijim opisom i primjerima podataka za pojedine entitete.
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu01.09.2006. u 14:45 - pre 214 meseci
Zahvaljujem svima na podrsci ideje. Sa velikom zadovoljstvom ocekujem sledecu sedmicu pa da razmotrimo sta imamo.

Odgovori na Chackina konkretna pitanja:
Q: a) Da li se direktor slaže sa iznetim stavkama pod 1 i 2 o svrsi i ciljevima?
A: Naravno uz pojasnjenje:
Potrebno je obebediti ispranost rasporeda utakmica. => tacno dva zahteva a) da svaki tim u jednom kolu bude rasporedjen najvise jedamput i b) da gostujuci i domaci tim ne mogu da budu isto

Q:b) Dodela crvenog kartona / Dodela žutog kartona
Definicije su mi previše slične. Da li grešim u njima?
A: zahtev za pracenjem kartona se ukida, nema potrebe razmatrati dalje

Q:Navodi mi se pitanje: Izveštaj o čemu, o kome? Izveštaj o završetku utakmice? Da li već postji propisana papirna forma za popunjavanje (koju bih rado pogledao ako postoji)? Da li je primerenije taj izveštaj primenovati u recimo 'zapisnik o utakmici' ili 'sudijski zapisnik'?
A: posle utakmice sledi sudijski izvestaj, ili zapisnik o utakmici, ako hoces. Za neke sportove postoji papirni obrazac, za neke ne. Izvestaj je vise kao informacija. Minimum podataka u toj informaciji jeste rezultat i status utakmice. Informacija se moze dostaviti usmeno, telefonom, e-mailom, kako bilo, vazno je da score keeper i koordinator lige saznaju rezultat i status utakmice. Moj zahtev nije da se napravi izvestaj, nego da se napravi nekakva struktura u bazi podataka koj moze tu informaciju da sacuva. Front end je potpuno nebitan u ovom momentu. Kad napravite bazu i ja kao direktor lige usvojim to, onda cu da odem na forume Access/VB/NET i slicno i da trazim da mi naprave aplikaciju

Q: f) Kolo
Apsolutno ne mogu da definišem kolo! Pomoć!
A: Matematicki, bilo bi ovako: skup utakmica u kojima ucestvuje maksimalan moguc broj timova i svaki tim se pojavljuje ne vise od jedamput. Na primer, ako ima 8 timova u ligi, u jednom kolu odigrace se 4 utakmice i ucestvuju svi timovi. Ako ima 9 timova u ligi, moze se iskombinovati 4 utakmice a jedan tim preskace to kolo. Koliko kola ce biti tokom sezone? To je stvar dogovora. Obicno se tezi da svaki tim odigra sa svakim timom bar jednu utakmicu. Dakle, ako ima N timova, bice barem N-1 kola. ako je timova malo, a sezona je dugacka, onda se ciklus od N-1 kola ponavlja M puta. NBA igra tako - timovi igraju jedni s drugima vise nego jednom. Isto i tako NHL (National Hockey League, USA+Canada)
Srpski receno - ako se utakmice igraju vikendom, sto se odigra jednog vikenda, to je kolo.
U rasporedu, utakmica se odredjuje kolom u kome se igra. Kolo se odredjuje rednim brojem i nekim datumom. Kaze se
"Utakmice sesnaestog kola kolo, Subota 30 August 2003" Ovo znaci da se na vikend u kome je Subota, Aug 30 2003 igra sesnaesto kolo lige. pre toga se igralo petnaest kola.

Q: g) Lista igrača
Rečeno je da timovi prijavljuju na početku sezone igrače koji će igrati za njih. Takođe je rečeno da igrači u toku sezone mogu menjati tim. Kako se onda nov igrač prijavljuje za igru? Da li se igrač koji je napustio tim jednostavno briše iz spiska prijavljenih igrača?
A: Ili timovi prijavljuu igrace, ili rukovodstvo lige napravi timove od prijavljene dece. Da bi se izbalansirala snaga timova, ili iz bilo kog drugog razloga, igraci se mogu premestati iz tima u tim. Igrac se naprosto iz jednog spiska prebaci u drugi.

Q: h) Sezona
Nisam baš zadovoljan sa ovom definicijom. Da li mi se može još malo pojasniti pojam sezone?
A: Nema precizne definicije. Takmicarski ciklus? Ocekuje se da je to 'aksiomatski' jasno. Sezona je vremenski period u kome ce se odigrati sve utakmice i na kraju proglasiti pobednik. Nekada mi imamo dve sezone u toku istog leta. Ako je malo timova, recimo 4, treba nam 6 nedelja da svako sa svakim igra po dva puta. A terene smo dobili na deset nedelja. Ako ih ne iskoristimo, iduce godine komunalno preduzece nece nam dati te termine. Zato mi kazemo ovako: prvih 6 nedelja je regularna sezona. Onda jos tri nedelje igramo play-off, ali opet po liga sistemu, svako sa svakim tacno po jednom. To je ukupno 6+3=9 nedelja. Ostaje jos jedna. U toj desetoj nedelji mozemo da igramo naknadne utakmice, ako treba, ili da organizujemo turnir, na kome ce se igrati po kup sistemu, bilo sta, samo da zadrzimo termin. Cesto s eorganizuje piknik sa takmicenjem u individualnim vestinama. na primer, ko brze otrci od gola do gola, ko moze dalje da sutne ili baci loptu, koji golman moze da odbrani vise penala. Omiljeno takmicenje je potapanje direktora lige u bacvu sa vodom. Iznad velikog bureta sa vodom namesti se stolica koja je podesena da lako ispadne iz ravnotese i u koju sedne direktor lige. Klinci ga gadjaju mekanim gumenim lopticama dok ga ne potope. Naledu, organizuju se zabave na ledu uz muziku, sa deda mrazom i slicno.
Sto se tice baze podataka, prvih 6 nedelja je jedna sezona, play off je druga sezona, a sve u okviru istog leta.

Q:i) takmičarski broj
Da li sam dobro shvatio da se takmičarski broj dodeljuje od sezone do sezone. Da li to znači da isti tim može imati različit takmičarski broj u dve sezone?
A: Timovi se nanovo formiraju za svaku sezonu. Takmicarski broj se timu dodeljuje u okviru jedne sezone. Svaka sezona je nezavisna i zaokruzena celina. nema nikakve vezesa prethodnim sezonama. Nama je znacajno koja deca ucestvuju vise sezona i nas sistem za registraciju dece moze da prepozna povratnike, pa ne prekucavamo adresu i licne podatke, ako nije bilo promena. Timovima i ne mora da se dodeli nikakv broj, ne psotoji propis o tome. Koristimo brojeve jer se tako lakse pravi raspored. Naime, postoje tablice za kombinovanje timova po kolima. Probajte da iskombinujete ko skim igra ako imate 8 timova, videcete da nije lako. Zato je nekad neko napravio tablice u kojima pise nesto kao:

Kolo 1:
1 : 5
2 : 6
3 : 7
4 : 8

Kolo 2:
1 : 6
2 : 7
3 : 8
4 : 5


Q:j) registracioni broj
Slična pitanja se nameću kao i za predhodni takmičarski broj!
Aok je u timu, igarc mora imati jedinstven broj, onaj sto pise na dresu. kad promeni tim, daje mu se drugi broj, jer dobija drugi dres.


Q:k) rezultat
Šta je to rezultat? Da li se on sastoji od broja datih golova domaćeg tima i broja datih golova gostujućeg tima?
A: Na kraju svake utakmice, neko je pobedi a onaj drugi izgubio. U nekim sportovima moze da bude i nereseno. pobedio je onaj ko je dao vise golova/koseva/poena U fudbalu postoji pobeda, poraz i nereseno. U odbojci postoji samo pobeda i poraz. U kosarci uglavnom postoji pobeda i poraz, ali bi moglo i nereseno, ako se tako dogovorimo.

Q: ) status utakmice
Da li se utakmica sa statusom 3 pa i 2 ikada odigravaju? Da li im se dodeljuje nov termin u rasporedu?
A: Prekinute i nezapocete utakmice mogu ali i ne moraju da se odigraju. Pred kraj sezone, ukoliko bi rezultat neodigrane ili prekinute utakmice bitno uticao na redosled na tabeli, onda se cini svaki napor da se utakmica odigra. Ako nema uticaja, onda se ne igra. Da li je bitno ili nebitno, to odlucuje organizator lige na neki nacin. Ako se utakmica ima odigrati, menja joj se planirani termin. Iako s etermin promenio, utakmica se i dalje vodi kao utakmica odredjenog kola. Na primer, u trevem kolu, Subote, 5 Juli 2003, zbog provale oblaka nije odigrana utakmica. Ako se odluci da se utakmica igra 6. Septembra 2003, promeni se datum pocetka utakmice ali se ta utakmica vodi kao utakmica drugog kola. Nema potrebe da se preracnaju sve tabele posle svakog kola, promenice se samo poslednja tabela.


 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu02.09.2006. u 07:11 - pre 214 meseci
Jedna opaska, kozmeticke prirode. Onzke timova bi valjalo da budu slovne, kao neka vrsta skracenice od imena, ogranicene na recimo maksimalno cetiri slova. Tako bi bilo mnogo prepoznatljviije nego kada se korsite brojevi, a mogle bi da budu upotrebljavane svigde gde je neprakticno da se prikazuje pun naziv tima.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.dialup.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu02.09.2006. u 13:05 - pre 214 meseci
Pregledajući dosadašnju prepisku sa direktorom lige naišao sam na stvari koje me bune. Pominju se golovi i vrste golova, pominje se lista golmana, a onda se kaže mi organizujemo bejzbol ligu. Dalje spominje se samo pojam trener, ali ne i da li je to trener za hokej, fudbal, bejzbol. Isti je slučaj i sa terenima. Da li jedan igrač može da učestvuje u bezbol ligi i u hokejaskoj ligi.

Kada se radi o organizovanju takmičenja, tada su svi sportovi slični. Treba obezbediti teren, termin, sudiju, timove za održavanje utakmice. Ishod utakmica je takođe isti, neko je pobedio, dok je drugi izgubio, ili je bilo nerešeno. Rezultat se uvek izražava odnosom dva broja )broj golova, broj optrčavanja, broj koševa), gde pobednik ima veći broj.

Kada se radi o statistici sportovi se itekako razlikuju. Ko je dao koliko golova, ko je postigao home-run, ko je proveo 5 minuta na klupi za kažnjene igrače. Zapisnici o toku utakmice se razlikuju, kaznene mere se razlikuju.

Moje pitanje direkturu lige je: Da li ostaje pri tome da se baza pravi za sve sportove od interesa (bejzbol, fudbal, hokej) ili da se baza pravi za konkretan sport (a dobar deo prepiske navodi na fudbal, što je Dejan i predložio)?


Dalje, ako sam dobro svatio, radi se o JEDNOM sportskom klubu koji organizuje i takmičenje u bejzbolu i takmičenje u hokeju i svi timovi su u nadležnosti JEDNOG sportskog kluba. Jedino o čemu klub ne utiče je sertifikovanje sudija.
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.1.14.vie.surfer.at.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu02.09.2006. u 13:18 - pre 214 meseci
Jos nisam cuo da je neko direktor i fudbalske lige, i hokejaske, i bejzbol lige...

Ajd da svedemo to samo na fudbalsku ligu, ako moze, jer cemo ovako samo otici u sirinu i zakomplikovacemo cijelu diskusiju mijesanjem razlicitih sportova.
Ja sam skoro gotov sa ER dijagramom, pa cu ga okaciti veceras ili sutra, nakon cega mozemo davati daljnje sugestije, prijedloge, izmjene...
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

inherited
Novi Sad

Član broj: 95516
Poruke: 219
*.dialup.neobee.net.



Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu02.09.2006. u 16:46 - pre 214 meseci
Verujem da model baze sa vise sportova je pravi profesionalni projekat.

Ali, zaboravljate jedno.
Sam Zidar je napomenuo da projekat treba biti namenjen ljudima koji
uce modelovanje baze, projektovanje. Iskreno, malo teze se snalazim u pracenju
projekta kad je u pitanju vise sportova.
Bilo bi lepo da odradimo ovo vezano za fudbal, pa tek onda mozda, nesto slozenije.

Nadam se da mi necete zameriti na komentaru i unapred se zahvaljujem, ako uvazite
moj post.
 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu03.09.2006. u 10:28 - pre 214 meseci
Tema je veoma zanimljiva.
Mislim da bi trebali da se u početku složimo oko nekakve osnovne terminologije i naziva.
Lakše ćemo kasnije svi pratiti i dograđivati.
Citat:
Zidar:
Sta se trazi od projektanta
-------------------------
1. da predlozi strukturu tabela koja omogucuje da se prati ligasko takmicenje, prema prilozenom opisu.
2. Na osnovu datog opisa, projektant treba da identifikuje najvaznija pravila i da pokaze kako baza podrzava ta pravila. Na

primer: pravilo 'tim moze u jednom kolu odigrati najvise jednu utakmicu' podrazno je sa UNIQUE constraint na tabeli tblKola

po poljima (KoloID, timID)

Posto sam ja samo dobrovoljni direktor lige, ne razumem se u projektovanje baza podataka ja prema tome ne znam sta su

pravila, pa vam ih ne mogu izlistati. Mogu da vam opisujem kako mi to radimo pesice, a prjektant neka vidi sta ce.

1.1 Trebalo bi prvo da definišemo nazive i kolone prostih tabela, tj. šifarnika ili registara.

Ovdje nam može najviše pomoći sam direktor i u startu ćemo smanjiti moguća "vozanja",
u smislu "zaboravio sam da vam kažem da mi vodimo evidenciju i o ...". Ovakva situacija je u stvari i najčešća u praksi.
Neke od njih su već očigledne, predložiću neke nazive, a vi dodajte ili ih promijenite. Važno je da probamo da svi koristimo kasnije iste nazive.
Neka direktor (on je ipak glavni ) na kraju odluči koji su nazivi i za njega prihvatljivi i intuitivni (pošto je on laik za eventualne skraćenice...), a mi da se držimo toga.
I odmah pitanje za njega: neka dobro pogleda ove i ranije šifarnike i razmisli o svakom šifarniku posebno.
Potrebno je da se prisjeti kakvi su još osnovni podaci potrebni, bilo gdje da se trebaju pojaviti, recimo na spiskovima za sudije, na internetu, treba li evidencija
o roditeljima, školama ili još o nečemu što do sada nije spomenuo. Znači, kao da utakmice još nisu počele, samo pravimo
liste sportova, timova, igrača... Treba li voditi evidenciju o zaduživanju opreme (lopte, dresovi, palice...), zbog čega bi bilo
neophodno napraviti i šifarnik sportske opreme (stvari).
Što se tiče popunjavanja tabela nekakvim podacima, bilo bi dobro da nam direktor da već gotove spiskove timova, igrača... Tako će njemu to biti najpribližnije i lako prepoznatljivo, a mi ostali možemo koristiti iste nazive, da ne izmišljamo.

-----------------------------------------------------------------------------------------------------------
SPORTOVI (ovaj šifarnik možda nije ni potreban, ali možda nije ni loše zbog preglednosti)
sportID, NAZIV (ovdje može biti unesen i samo naziv jednog sporta, recimo FUDBAL, ako pratimo samo taj sport)

-----------------------------------------------------------------------------------------------------------
TIMOVI (prost spisak svih timova iz svih sportova, sa osnovnim generalijama)
timID, ŠIFRA, NAZIV, ADRESA, MJESTO, EMAIL, WEB_ADRESA, SLIKA, TRENER, POMOĆNIK, SPORT, DIVIZIJA, SPONZOR

pojašnjenje samo za neke kolone:
SLIKA - zbog objavljivanja na webu možda bi trebalo da se može prikazati i amblem tima ili grupna slika
TRENER, POMOĆNIK - prezime i ime trenera i pomoćnika trenera (možda napraviti i poseban šifarnik trenera i pomoćnika
sa generalijama?)
SPORT - naziv sporta u kome se tim takmiči (unosi se NAZIV iz tabele SPORTOVI)
DIVIZIJA - starosna kategorija kojoj tim pripada
SPONZOR - kratki naziv glavnog sponzora tog tima (SNAZIV iz tabele SPONZORI)

-----------------------------------------------------------------------------------------------------------
IGRAČI (spisak svih igrača koji učestvuju, iz svih timova i sportova)
igracID, JMBG, PREZIME, IME, POL, DATUM_ROĐENJA, ADRESA, MJESTO, EMAIL, TELEFON

pojašnjenje samo za neke kolone:
DATUM_ROĐENJA - odavde se može izvući godina zbog svrstavanja u starosnu kategoriju (DIVIZIJA)
napomena: ovdje ne treba stavljati kolonu kojem klubu pripada, jer se to u sezoni može mijenjati
-----------------------------------------------------------------------------------------------------------
TERENI (spisak svih terena, za sve vrste sportova, na kojima će se odigravati utakmice)
terenID, NAZIV, MJESTO, VRSTA

pojašnjenje samo za neke kolone:
VRSTA - travnati, beton, led (da se samo zna za koji sport se može koristiti)

-----------------------------------------------------------------------------------------------------------
SUDIJE (spisak svih sudija koje će suditi, za sve sportove)
sudijaID, JMBG, PREZIME, IME, POL, DATUM_ROĐENJA, ADRESA, MJESTO, EMAIL, TELEFON, SPORT

-----------------------------------------------------------------------------------------------------------
SPONZORI (prost spisak svih sponzora za sve sportove, sa osnovnim generalijama)
sponzorID, SNAZIV, NAZIV, ADRESA, MJESTO, EMAIL, WEB_ADRESA, SLIKA, TEKST

pojašnjenje samo za neke kolone:
SNAZIV - kratki naziv ili skraćenica sponzora
NAZIV - puni naziv sponzora

-----------------------------------------------------------------------------------------------------------
TRENERI (spisak svih trenera i pomoćnika, za sve timove)
trenerID, JMBG, PREZIME, IME, POL, DATUM_ROĐENJA, ADRESA, MJESTO, EMAIL, TELEFON

-----------------------------------------------------------------------------------------------------------
Dodajte još šifarnika, za koje mislite da su potrebni.
Generalno za sve tabele, svaku od onih ID kolona bi možda bilo dobro definisati tako da nije samo broj, već možda skraćeni
naziv tima, sponzora..., skraćeno prezime_ime igrača, sudije..., naravno da je jednoznačno. Ovo samo zbog nekakve
preglednosti onog ko unosi u tabele sa relacijama (na primjer u tabelu TIMOVI_IGRAČI).
Ovdje se nisam zadržavao na detaljima kao što su UNIQUE kolone, indeksi, koje kolone smiju biti nepopunjene (recimo SLIKA)...


1.2 Kad se dogovorimo o šifarnicima, onda možemo praviti tabele u kojima će biti određene relacije.

Daću samo jedan primjer:
-----------------------------------------------------------------------------------------------------------
TIMOVI_IGRAČI (ovo je tabela koja povezuje šifre timova (timID) i šifre igrača (igracID), sa datumima od kada do kada je
određeni igrač u timu. Datumi rješavaju problematiku praćenja mogućih transfera igrača. Na primjer, za određeni tim se upiše od kada (DATUM_OD) je u njegovom sastavu neki igrač. Ako bude potrebe da taj igrač iz bilo kog razloga u sezoni promijeni tim, onda se prvo upiše DATUM_DO kada je bio u tom timu, pa se u ovoj tabeli doda novi red sa šifrom novog tima, šifrom igrača i DATUM_OD kada je u tom novom timu. Tako se može dobiti statistika o transferima igrača u toku sezone (ili više sezona), koliko je utakmica odigrao u nekom timu itd... Kad se budu dijelile diplome može se upitom dobiti lista svih igrača koji su igrali za određeni tim, pa makar i u jednoj utakmici i time doprinijeli uspjehu.)
timigracID, timID, igracID, DATUM_OD, DATUM_DO, BROJ_NA_DRESU, OCENA_KVALITETA_IGRACA

pojašnjenje samo za neke kolone:
OCENA_KVALITETA_IGRACA - stavljam u ovu tabelu jer igrač može imati visoku ocjenu za fudbal, ako se nalazi u tom
timu, ali kad se zbog nedostatka igrača ili želje prebaci u tim za hokej gdje je totalni početnik, onda dobija drugu nižu ocjenu. Ovo je važno zato da bi se mogla pratiti ujednačenost snaga timova (sumiranjem ocjena igrača dobija se nekakva ocjena tima - mogući favoriti).

-----------------------------------------------------------------------------------------------------------
Zatim bi trebalo definisati tabelu sezona i utakmica u određenom sportu, rezultati, kartoni...
Znači, posao za projektante, uz eventualne konsultacije sa direktorom o detaljima u pojedinim sportovima,
uz pretpostavku da smo dobro osmislili šifarnike i da neće biti potrebe da ih mijenjamo (odnosno što manje).

Nadam se da nisam zakasnio sa ovim prijedlozima, mnogi su vjerovatno dosta već odmakli u svom radu, pa se nemojte ljutiti.
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.1.14.vie.surfer.at.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Teorija vs. praksa - modeliranje lige u nekom sportu03.09.2006. u 23:20 - pre 214 meseci
Evo kako sam ja to sve shvatio i kako sam na primjeru fudbalske lige slozio dizajn baze, odnosno napravio ER dijagram.



- PROCES -

Za fudbalsku ligu u sezoni 2006/2007 organizator (npr. direktor lige) prima prijave potencijalnih igraca.
Tabele: ORGANIZATORI, SEZONA, PRIJAVE

Moze postojati vise liga, a u svakoj lizi moze biti zastupljeno vise timova, sastavljenih od razlicitih uzrasta nekog kluba.
Tabele: LIGA, KLUB, UZRASTI, KLUB_UZRASTI, TIMOVI, LIGA_TIM

Svaki tim se sastoji od odabranih igraca na raznim pozicijama. Svaki tim ima trenera i proizvoljan broj sponzora.
Tabele: TIMOVI, IGRACI, POZICIJE, TRENERI, SPONZORI, SPONZOR_TIM

Za sezonu se u svakoj lizi odredjuje koliko ce se igrati kola.
Tabele: SEZONA, KOLA, LIGA

U svakom kolu se igra odredjen broj utakmica.
Tabele: KOLA, UTAKMICE

Utakmica se u zadano vrijeme igra na predvidjenom terenu. Zna se ko je domacin, ko je gost, ko sudi.
Tabele: UTAKMICE, TERENI, SUDIJE

Na utakmici se prate razni podaci, npr. koji igrac je dao gol i u kojoj minuti, kao i koji igrac je dobio karton.
Tabele: UTAKMICE, GOLOVI, KARTONI, IGRACI

Nakon utakmice se igraci ocjenjuju, evidentuje se rezultat i status utakmice, a delegat ili sudija pise izvjestaj.
Tabele: UTAKMICE, IGRACI, OCJENE, IGRAC_OCJENA, IZVJESTAJI, SUDIJA


U toku sezone neki igrac moze preci u neki drugi klub ili zbog starosne dobi preci u isti klub, ali u tim sa starijim uzrastom.
Tabele: IGRACI, PRELASCI, KLUBOVI, UZRASTI, KLUB_UZRASTI, TIMOVI

Detaljniji opis svakog entiteta/tabele, kao i moguce SQL izraze, napisacu sutra, jer sad idem spavati. :)

Ovo je samo radna verzija, a ocekujem od vas sugestije i daljnje prijedloge, kako bismo poboljsali postojeci ER dijagram i sklopili optimalnu bazu.

Ja sam obradio samo fudbalsku ligu, ali mozemo pokusati kasnije prosiriti i na vise sportova...
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Baze podataka :: Teorija vs. praksa - modeliranje lige u nekom sportu

Strane: 1 2 3

[ Pregleda: 19759 | Odgovora: 48 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.