![]() |
Pages (4): [1] 2 3 4 » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Basi di dati ~ informatica triennale (http://www.dsy.it/forum/forumdisplay.php?forumid=211)
-- [COMPITINO] Primo compitino (http://www.dsy.it/forum/showthread.php?threadid=28291)
primo compitino..
ciao a tutti.. visti i tempi d'attesa x il risultato del primo compitino della castano che oscillano tra il mese e l'anno (nel senso ke potremmo dover aspettare il 2007)
direi di provare a corregerceli da soli per farci 1 idea:
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
(amenoche il tetto max d voto nn sia 30 ma 28, in tal caso siamo focchiuti)
io avevo il tema B (mi pare) ma cmq i temi erano pressoche identici; le domande chiuse erano le stesse ma in ordine differente e i 2 esercizi variavano nel nome della relazione ma avevano identico svolgimento.
a sto punto cerco di ricordarmi le domande (una mano è gradita se mi sbaglio):
1) esercizio col left join
2) domanda sulla divisione (grado e cardinalità)
3) esercizio sull'atleta (quello con gli AND e gli OR)
4) domanda sulla chiave esterna (references)
5) domanda sul livello intermedio
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)
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.
grazie a tutti ! ! ! ![]()
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
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
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)
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]
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);
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!!!
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.
Credo sia una formalita', in classe abbiamo fatto un esercizio che si svolgeva nello stesso identico modo.
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!!!
chi ha già fatto compitini sa più o meno in quanto tempo li corregge e come fa sapere i risultati?
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
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.
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....
ha ragione zonker..senza dubbio..
__________________
Saluti - Davide
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.
qualcuno sa qualcosa riguardo i voti di questo compitino(quando?) e per quanto riguardo il secondo compitino si sa qualcosa?
| All times are GMT. The time now is 01:17. | Pages (4): [1] 2 3 4 » Show all 51 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.