 |
PaU |
| io l'ho risolto con una group by ma non ho messo t ... |
24-11-2006 12:11 |
|
 |
PaU |
.precettore.
Registered: Oct 2004
Posts: 80 (0.01 al dì)
Location:
Corso: Infomatica
Anno: Primo
Time Online: 16:33:29 [...]
Status: Offline
Edit | Report | IP: Logged |
io l'ho risolto con una group by ma non ho messo tutti gli attributi che c'eranno nella select...piccola imprecisioni 
__________________
L'ignoranza è il pane dei poveri
|
|
24-11-2006 12:11 |
|
|
|  |
 |
Simeon |
| Re: primo compitino.. |
24-11-2006 12:51 |
|
 |
Simeon |
:D
Registered: Aug 2004
Posts: 984 (0.13 al dì)
Location: Milano
Corso: Informatica
Anno: IT IS OVER!
Time Online: 14 Days, 19:29:42 [...]
Status: Offline
Edit | Report | IP: Logged |
Re: primo compitino..
Originally posted by edwin85
c sono 2 possibilità di valutazione sulle 5 domande di teoria e i 2 esercizi:
- 3 punti alle prime e 7,5 ai secondi
- 4 punti alle prime e 5 ai secondi
Secondo me la prima.
gli esercizi del tema 2 erano questi(piu o meno):
6) algebra: c'erano 3 relazioni sul cinema (attore, film e 1 altra che univa queste 2 mi sembra)
fattosta che la risoluzione andava fatta con l'operatore meno (e sono abbastanza certo xke il sondaggio di fine compitino la dava vincente)
Si si faceva al 100% con la differenza, inoltre probabilmente non era nemmeno richiesta un'operazione di join.
7) e qui c'è da divertirsi 
la richiesta era di trovare tutti i prodotti di una relazione prodotto (codice , prezzo, tipologia) con la medesima tipologia.
io l'ho risolto in maniera molto semplice ma sarebbero graditi pareri diversi xke credo ke questo fosse l'esercizio più ostico.
[/B]
io ho fatto
select p1.codice, p1.prezzo, p1.tipologia
from prodotto as p1, prodotto as p2
where p1.codice <> p2.codice AND p1.tipologia = p2.tipologia
che DOVREBBE essere giusto 
|
|
24-11-2006 12:51 |
|
|
|  |
 |
zonker |
| Mi spiace rendere questo dispiacere a chi ha fatto ... |
24-11-2006 13:07 |
|
 |
zonker |
.illuminato.
Registered: Mar 2003
Posts: 200 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 2 Days, 6:24:53 [...]
Status: Offline
Edit | Report | IP: Logged |
Mi spiace rendere questo dispiacere a chi ha fatto l'esercizio con la join come Simeon...ma è sbagliato.
Nel senso che restituisce tutte le righe che servono ma ne restituisce in eccesso duplicate.
La join sarebbe corretta se si facessa una SELECT DISTINCT p1.codice, p1.prezzo, p1.tipologia etc etc.
Altimenti una soluzione valida è con EXISTS:
SELECT a.* FROM prodotto a WHERE EXISTS (SELECT * FROM prodotto b WHERE a.codice <> b.codice AND a.tipologia = b.tipologia);
|
|
24-11-2006 13:07 |
|
|
|  |
 |
edwin85 |
| ho fatto anke io come simeon.. quindi voto x lui.. ... |
24-11-2006 13:17 |
|
 |
edwin85 |
.simpatizzante.
Registered: Sep 2004
Posts: 17 (0.00 al dì)
Location: brescia
Corso: informatica
Anno: primo
Time Online: 8:58:11 [...]
Status: Offline
Edit | Report | IP: Logged |
ho fatto anke io come simeon.. quindi voto x lui.. 
ho pensato anke io al fatto ke potrebbero esserci duplicati ma selezionando solo codice, tipo e prezzo da prodotto 1 si gestisce questo problema secondo me..
ps: probabilmente si poteva fare anke col group by ma.. ke casino!!!
|
|
24-11-2006 13:17 |
|
|
|  |
 |
zonker |
| Putroppo non è sufficente fare una selezione solo ... |
24-11-2006 13:47 |
|
 |
zonker |
.illuminato.
Registered: Mar 2003
Posts: 200 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 2 Days, 6:24:53 [...]
Status: Offline
Edit | Report | IP: Logged |
Putroppo non è sufficente fare una selezione solo su una tabella.
In questo modo elimini il problema delle colonne duplicate ma senza DISTINC ti resta il problema sulle righe.
Con la JOIN fai una selezione sul carestesiano, quindi se hai al massimo due prodotti per tipologia il risultato è giusto ma se ne hai tre nella stessa la righe ti si duplicano.
Puoi facilmente verificarlo facendo la query su una tabella che contenga
codice1, 100, 'A'
codice2, 200, 'A'
codice3, 300, 'B'
codice4, 400, 'A'
vedrai che giustamente la riga codice3 non comparirà, ma le altre saranno duplicate.
|
|
24-11-2006 13:47 |
|
|
|  |
 |
Simeon |
| Credo sia una formalita', in classe abbiamo fatto ... |
24-11-2006 13:54 |
|
 |
Simeon |
:D
Registered: Aug 2004
Posts: 984 (0.13 al dì)
Location: Milano
Corso: Informatica
Anno: IT IS OVER!
Time Online: 14 Days, 19:29:42 [...]
Status: Offline
Edit | Report | IP: Logged |
Credo sia una formalita', in classe abbiamo fatto un esercizio che si svolgeva nello stesso identico modo.
|
|
24-11-2006 13:54 |
|
|
|  |
 |
Diuzza |
| [QUOTE][i]Originally posted by edwin85 [/i]
... |
25-11-2006 11:05 |
|
 |
Diuzza |
.illuminato.

Registered: Aug 2004
Posts: 169 (0.02 al dì)
Location:
Corso: Informatica
Anno: 2
Time Online: 1 Day, 8:30:45 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by edwin85
ho fatto anke io come simeon.. quindi voto x lui.. 
ho pensato anke io al fatto ke potrebbero esserci duplicati ma selezionando solo codice, tipo e prezzo da prodotto 1 si gestisce questo problema secondo me..
ps: probabilmente si poteva fare anke col group by ma.. ke casino!!!
Questo esercizio era un macello. Non si capiva bene quel che chiedeva. Per questo ho chiamato circa 3000000 di volte il prof per avere delucidazioni.
E a quanto mi ha detto lui non è così che andava svolto.
Come avete fatto voi seleziona i prodotti di un tipologia che contiene almeno 2 prodotti con codice diverso. Nel senso che se di una tipologia c'è un solo prodotto non lo seleziona.
E così poteva sembrare dal testo.
Invece chiedendo al prof (quello delle esercitazioni) mi ha detto che per ogni tipologia bisognava selezionare tutti i suoi prodotti, e se di 1 tipologia ce n'era solo 1 bisognava selezionarlo ugualmente.
Quindi c'era da fare un semplice raggruppamento:
select *
from prodotti
group by tipologia, codice, nome, prezzo;
Stop.
O almeno lui mi ha fatto intendere così!!
|
|
25-11-2006 11:05 |
|
|
|  |
 |
GiKappa |
| chi ha già fatto compitini sa più o meno in quan ... |
25-11-2006 19:24 |
|
 |
GiKappa |
Dubbioso a Progetto
Registered: Oct 2004
Posts: 1800 (0.23 al dì)
Location: Brescia
Corso: Informatica
Anno: Laureato Triennale
Time Online: 9 Days, 22:40:44 [...]
Status: Offline
Edit | Report | IP: Logged |
chi ha già fatto compitini sa più o meno in quanto tempo li corregge e come fa sapere i risultati?
|
|
25-11-2006 19:24 |
|
|
|  |
 |
zonker |
| Perdonami ma:
... |
26-11-2006 11:15 |
|
 |
zonker |
.illuminato.
Registered: Mar 2003
Posts: 200 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 2 Days, 6:24:53 [...]
Status: Offline
Edit | Report | IP: Logged |
Perdonami ma:
select *
from prodotti
group by tipologia, codice, nome, prezzo;
con codice chiave primaria non raggruppa proprio niente...
questa scrittura è identia a:
select * from prodotti
|
|
26-11-2006 11:15 |
|
|
|  |
 |
Diuzza |
| No. Prima li raggruppa per tipologia, poi i gruppi ... |
26-11-2006 20:05 |
|
 |
Diuzza |
.illuminato.

Registered: Aug 2004
Posts: 169 (0.02 al dì)
Location:
Corso: Informatica
Anno: 2
Time Online: 1 Day, 8:30:45 [...]
Status: Offline
Edit | Report | IP: Logged |
No. Prima li raggruppa per tipologia, poi i gruppi di tipologia li raggruppa per codice, che restituiscono le singole ennuple, poi le raggruppa x nome ecc.
|
|
26-11-2006 20:05 |
|
|
|  |
 |
zonker |
| Si è vero, il raggruppamento come indicato raggru ... |
27-11-2006 09:00 |
|
 |
zonker |
.illuminato.
Registered: Mar 2003
Posts: 200 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 2 Days, 6:24:53 [...]
Status: Offline
Edit | Report | IP: Logged |
Si è vero, il raggruppamento come indicato raggruppa per tipologia, a parità di tipologia per codice, a parità di codice per nome, a parità di nome per prezzo....quindi in effetti è più corretto dire che sia equivalente a SELECT DISTINCT * FROM PRODOTTI.
Ma essendo per definizione di modello relazionale impossibile (sebbene lo sia poi in pratica) che esistano tuple con tutti i campi uguali si torna alla mia SELECT * FROM PRODOTTI.
Provare per credere....
|
|
27-11-2006 09:00 |
|
|
|  |
 |
davene |
| ha ragione zonker..senza dubbio.. ... |
27-11-2006 10:05 |
|
 |
davene |
.fedelissimo.
Registered: Nov 2006
Posts: 43 (0.01 al dì)
Location: Legnano (MI)
Corso: Informatica
Anno: secondo
Time Online: 1 Day, 3:18:55 [...]
Status: Offline
Edit | Report | IP: Logged |
ha ragione zonker..senza dubbio..
__________________
Saluti - Davide
|
|
27-11-2006 10:05 |
|
|
|  |
 |
zonker |
| Ok, appurato l'esercizio sul SQL che ne dite di qu ... |
27-11-2006 10:51 |
|
 |
zonker |
.illuminato.
Registered: Mar 2003
Posts: 200 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 2 Days, 6:24:53 [...]
Status: Offline
Edit | Report | IP: Logged |
Ok, appurato l'esercizio sul SQL che ne dite di quello dell'algebra?
La soluzione dovrebbe essere questa:
PROIEZIONE[CodiceV](SELEZIONE[Città='Milano'](PRO
IEZIONE[CodiceV, Città](Venditori)))
-
PROIEZIONE[CodiceV](SELEZIONE[DATA BETWEEN 01/01/2006 AND 31/12/2006](Vendite))
ossia tutti gli agenti di milano meno tutti quelli che hanno fatto almeno una vendita nel 2006.
|
|
27-11-2006 10:51 |
|
|
|  |
 |
bledar |
| qualcuno sa qualcosa riguardo i voti di questo com ... |
27-11-2006 12:22 |
|
 |
bledar |
.arcimaestro.

Registered: Oct 2003
Posts: 256 (0.03 al dì)
Location:
Corso:
Anno:
Time Online: 6 Days, 3:07:56 [...]
Status: Offline
Edit | Report | IP: Logged |
qualcuno sa qualcosa riguardo i voti di questo compitino(quando?) e per quanto riguardo il secondo compitino si sa qualcosa?
|
|
27-11-2006 12:22 |
|
|
|  |
 |
| All times are GMT. The time now is 09:11. |
|
|
 |
|
 |
|
|
|  |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|