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

SQL Mozgalica br. 5 (masterwork)

[es] :: Baze podataka :: SQL Mozgalica br. 5 (masterwork)

[ Pregleda: 3076 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

miličić.marko
Miličić Marko
Novi Sad

Član broj: 12598
Poruke: 346
*.as1.dla.dublin.eircom.net.

Sajt: milicicmarko.blogspot.com


+1 Profil

icon SQL Mozgalica br. 5 (masterwork)23.03.2007. u 21:31 - pre 207 meseci
Evo jos jedne SQL mozgalice. Nadam se da ce privuci paznju SQL majstora


Prica:

U jednoj tablei imamo pacijente. Svaki pacijent ima ime i prezime, id i

frekvenciju preporucenih poseta lekara.

PACIJENTI
ID|IME I PREZIME|FREKVENCIJA|CESCE
----------------------------------
01|PERA PERIC |3 dana |da
02|MIKA MIKIC |7 dana |ne
03|LAZA LAZIC |10 dana |ne
04|SIMA SIMIC |2 dana |ne


Lekar uredno vodi evidenciju posete pacijenata

OBILASCI
ID|PACIJENT_ID|DATUM
-------------------------
01|01 |2006-12-01
02|01 |2006-12-02
03|04 |2006-12-03



Napisati SQL query koji ce lekaru omoguciti da ne zapostavlja svoje

pacijente, ali i da ga spreci da pacijente obilazi cesce nego sto je

potrebno. Dakle izvrsavanjem querija lekar treba da dobije ime i prezime

pacijenta koga sledeceg treba da obidje.


Zahtevi:
1. Lekar moze imati proizvoljno mnogo pacijenata
2. Lekar na pocetku nema podatke tj. ni jedan zapis u tabeli OBILASCI
2. Lekar ne sme obilaziti pacijente cesce nego sto je potrebno sem ukoliko pacijent to ne zahteva (kolona cesce)
3. Lekar je veoma precizan i pamti obilaske sa rezolucijom od 10 minuta
4. Lekar je 'fer' i ukoliko u nekom danu treba da obidje nekoliko

pacijenata uvek odabere najbolji moguci redosled tako da svi pacijenti
budu obsluzeni 'fer' redosledu.




a da... lekar ima tacan sat koji koristi ukucavanjem SQL funkcije NOW()
Skripte iz oblasti računarstva na Srpskom jeziku
kontakt email milicic [tacka] marko [na] gmail [tacka] com

Numizmatička kolekcija:
http://numismaticscollection.blogspot.com/
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

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

Sajt: www.baze-podataka.net


+4 Profil

icon Re: SQL Mozgalica br. 5 (masterwork)24.03.2007. u 21:17 - pre 207 meseci
Koliko poseta lekar moze da obavi u jednom danu? Koliko traje jedna poseta?
"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

miličić.marko
Miličić Marko
Novi Sad

Član broj: 12598
Poruke: 346
*.as1.dla.dublin.eircom.net.

Sajt: milicicmarko.blogspot.com


+1 Profil

icon Re: SQL Mozgalica br. 5 (masterwork)25.03.2007. u 01:07 - pre 207 meseci
Nema ograncenja. Koliko god puta stisne enter (izvrsi query) query uvek mora da bude u pravu. Dakle, ako nema nikog da poseti query vrati prazan resultset. A ako ima onda vrati onog pacijenta sa najvecim prioritetom.
Skripte iz oblasti računarstva na Srpskom jeziku
kontakt email milicic [tacka] marko [na] gmail [tacka] com

Numizmatička kolekcija:
http://numismaticscollection.blogspot.com/
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.DIALUP-SMIN.neobee.net.



+41 Profil

icon Re: SQL Mozgalica br. 5 (masterwork)25.03.2007. u 08:54 - pre 207 meseci
Bojim se da ces imati malo konkretnih odgovora; Suvise je proizvoljnosti u postavci problema, a vecina nas voli jasno definisan, precizan i konkretan problem, a ne da se pretpostavlja gomila nekih stvari. Meni licno nije jasan taj "nulti" momenat, tj nigde ne postoji datum poslednjeg obilaska pacijenta, ili se mozda pretpostavlja da niko od njih jos nije posecen, sto onda dovodi do pitanja jednoznacnosti redosleda ako u tom "nultom" danu postoji vise njih kojima je frekvencija 1 dan, pa onda i pitanje koje je postavio chachka postaje neizbezno i zahteva odgovor.

Dakle, ne vidim da ovako definisan problem moze da se resi tako kako ti predlazes (a narocito ne vidim kakve veze ima ENTER taster sa SQL problemom)
 
Odgovor na temu

miličić.marko
Miličić Marko
Novi Sad

Član broj: 12598
Poruke: 346
*.as1.dla.dublin.eircom.net.

Sajt: milicicmarko.blogspot.com


+1 Profil

icon Re: SQL Mozgalica br. 5 (masterwork)26.03.2007. u 22:17 - pre 207 meseci
1. Enter taster je trebao da docara jednostavnost querija. Dakle query nije ninakoji nacin parametrizovan.

2. Upravo je poenta u tom nultom momentu. Dakle lekar pocinje sa radom kada u svojoj evidenciji nema ni jedan obilazak.

3. Ovo je na neki nacin specijalizacija generalnog algoritma za obsluzivanje redova cekanja... Dakle treba napraviti automat koji ima definisan odgovor u svakom trenutku. Generalno gledano, problem se i moze resiti projektovanjem konacnog automata sa zadatim stanjima i prelazima, a kasnije to portovati na sintaksu SQL jezika.

M
Skripte iz oblasti računarstva na Srpskom jeziku
kontakt email milicic [tacka] marko [na] gmail [tacka] com

Numizmatička kolekcija:
http://numismaticscollection.blogspot.com/
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: SQL Mozgalica br. 5 (masterwork)27.03.2007. u 00:53 - pre 207 meseci
OK, ja sam tebe pitao sledece:

Ako imamo u "nultom" momentu ovo:

PACIJENTI
ID|IME I PREZIME|FREKVENCIJA|CESCE
----------------------------------
01|PERA PERIC |1 dan |da
02|MIKA MIKIC |7 dana |ne
03|LAZA LAZIC |10 dana |ne
04|SIMA SIMIC |2 dana |ne
05|MIRA PERIC |3 dana |da
06|DJOKA MIKIC |1 dan |da
07|TOZA LAZIC |1 dan |da
08|FEMA SIMIC |5 dana |ne

Kod koga prvog doktor treba da ide po tebi, posto ih ima 3 "za odmah"? Kako to moze biti jednoznacno, tj ko po tebi ovde ima najveci prioritet od njih trojice? onaj ko da vise para? I sta kada ih ima 60 takvih, a poseta traje bar pola sata? Mission impossible?

Dakle, duzan si da navedes ogranicenja kojih ocigledno mora biti da bi zadatak uopste imao smisla.

Pozdrav!
 
Odgovor na temu

miličić.marko
Miličić Marko
Novi Sad

Član broj: 12598
Poruke: 346
89.124.143.*

Sajt: milicicmarko.blogspot.com


+1 Profil

icon Re: SQL Mozgalica br. 5 (masterwork)28.03.2007. u 22:01 - pre 207 meseci
Hvala na sugestiji i pitanju.


U slucaju da ima vise pacijenata sa istim prioritetom, da bi doktor bio fer odabace nasumice... koristeci RAND() ali samo u prvom prvom trnutku kada je njegova arhiva o posetama prazna. Svaki sledeci put ce moci da odabere pacijenta koji je najduze cekao (makar za nekoliko sekundi) i otici kod njega.

Samo da naglasim, ne radi se 'real-time' sistemu da moramo imati apsolutno besprekornu frekvenciju po kojoj neki pacijent ima pristup deljivom resursu (lekaru). Dovoljno je napraviti algoritam za odabir korisnika koji ce opsluzivati korisnike (pacijente) fer i korektno u granici mogucnosti lekara. Dakle, cak i ako lekar kasni 10 dana (prebukran) korisnici nece izgubiti svoj prioritet u redu za cekanje.


U slicaju prebukiranosti ('mission impossible') lekar ce zaposliti pomocnika i o obojica ce koristi isti algoritam, samo sto ce ovoga puta 'kapacitet' biti veci.



Skripte iz oblasti računarstva na Srpskom jeziku
kontakt email milicic [tacka] marko [na] gmail [tacka] com

Numizmatička kolekcija:
http://numismaticscollection.blogspot.com/
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
85.222.162.*

Sajt: www.baze-podataka.net


+4 Profil

icon Re: SQL Mozgalica br. 5 (masterwork)02.04.2007. u 14:15 - pre 207 meseci
S obzirom da niko nije dao resenje ove mozgalice (cak mi se cini da je niko nije ni razumeo), apelujem na autora da prezentuje resenje. Mozda ce tada biti jasnije sta treba uraditi.

PS: Po meni je ovo obican ORDER BY uz spajanje dve tabele i eventualno grupisanje.
"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

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: SQL Mozgalica br. 5 (masterwork)02.04.2007. u 14:30 - pre 207 meseci
Predlazem da ubuduce pri postavljanju mozgalice autor odmah objavi da li ima sopstveno resenje, ma kakvo bilo, ili ne. Ne mra odmah da objavi resenja, ali posle dan dva trebalo bi da autor kaze 'evo kako sam ja to zamislio', pa makar i ne radilo 100% kakao treba. Cisto da ne bi neko optuzio autora da hoce da mu se uradi zadatak. Kao sto mene jedan optuzi za jednu od pocetnih mozgalica
 
Odgovor na temu

[es] :: Baze podataka :: SQL Mozgalica br. 5 (masterwork)

[ Pregleda: 3076 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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