Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi A - F > Basi di dati ~ comunicazione digitale > interrogazione postgres
  Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
kyuss
.simpatizzante.

User info:
Registered: May 2007
Posts: 17 (0.00 al dì)
Location:
Corso:
Anno:
Time Online: 6:11:53 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
interrogazione postgres

A proposito di un'interrogazione riportata negli esercizi di laboratorio del Valtolina sulla base di dati in allegato:

2. la media dei voti registrati presso il corso di laurea di informatica;

Che differenza c'è fra queste due interrogazioni?

SELECT AVG(voto) FROM esami JOIN corsi ON corso=corsi.id JOIN corsidilaurea ON corsodilaurea=corsidilaurea.id WHERE corsidilaurea.denominazione='Informatica'

oppure

SELECT AVG(voto) FROM esami JOIN studenti ON matricola=studente JOIN corsidilaurea ON corsodilaurea=id WHERE denominazione='Informatica'


Secondo me dovrebbero portare entrambe allo stesso risultato, ma non è così.


Grazie.

Attachment: creazioneunimi.rar
This has been downloaded 4 time(s).

09-06-2008 11:15
Click Here to See the Profile for kyuss Click here to Send kyuss a Private Message Find more posts by kyuss Add kyuss to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
altin
.precettore.

User info:
Registered: Jun 2003
Posts: 84 (0.01 al dì)
Location: milano
Corso: comunicazine digitale
Anno: 1
Time Online: 1 Day, 9:12:53 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

devi partire dal codice a creare la schema relazionale,e da li devi penso che devi guardare le cardinalita delle entita e delle associazioni.
a me come entita mi sono uscite Professore,Studenti,Corsi,CorsiDiLaurea e Esami(qui avevo un dubbio ma visto che pure data fa parte della chiave primaria e le altre due li prendi matricola-->da Studenti e Id-->Corso per questo pure esame è entita.
a me l'unica associazione mi esce PianoDiStudio con cardinalita (n,n).ritornando alla tua domanda.
allora io ho fatto cosi::
ho Studenti(0,n)--FA--(0,1)Esame
cioè un studente può fare un esame ma ne puo fare n di esami. e l'esame di quella data puo essere o no svolto dallo studente.
Esami(0,1)--fa parte--(1,n)Corsi un esame puo fare parte di un corso o no , e un corso puo avere un esame o n esami("qui ho un dubbio sulla cardinalita da parte dei Esame ma penso che sia giusta")


Corsi(1,1)--fa parte--(1,n)(CorsoDiLaurea)
un corso fa parte di uno e un corso di laurea,e un CorsoDiLaurea puo avere da 1 a n corsi

12-07-2008 00:54
Click Here to See the Profile for altin Click here to Send altin a Private Message Find more posts by altin Add altin to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
altin
.precettore.

User info:
Registered: Jun 2003
Posts: 84 (0.01 al dì)
Location: milano
Corso: comunicazine digitale
Anno: 1
Time Online: 1 Day, 9:12:53 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

se faqi caso alle cardinalita puo capire che dalla prima query che:
SELECT AVG(voto) FROM esami JOIN corsi ON corso=corsi.id JOIN corsidilaurea ON corsodilaurea=corsidilaurea.id WHERE corsidilaurea.denominazione='Informatica'

il rpimo join fra Esami e Corsi puo darti solo i studenti di quell esame in quella data ("qui noti che nn tieni conto dei studenti che nn hanno partecipato").
il secondo join fra Corsi e CorsiDiLaurea lo fai per ricavare quelli del informatica.

12-07-2008 00:57
Click Here to See the Profile for altin Click here to Send altin a Private Message Find more posts by altin Add altin to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
altin
.precettore.

User info:
Registered: Jun 2003
Posts: 84 (0.01 al dì)
Location: milano
Corso: comunicazine digitale
Anno: 1
Time Online: 1 Day, 9:12:53 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

ho sbagliato sopra..ripetto tutto scusa

12-07-2008 00:58
Click Here to See the Profile for altin Click here to Send altin a Private Message Find more posts by altin Add altin to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
altin
.precettore.

User info:
Registered: Jun 2003
Posts: 84 (0.01 al dì)
Location: milano
Corso: comunicazine digitale
Anno: 1
Time Online: 1 Day, 9:12:53 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

la differenza sta che nella prima tu puoi recuperare le medie dei esami di un corso della facolta di informatica.

nella seconda tu selezioni tutti i studenti che hanno fatto un certo esame della facolta di informatica e su qeusti esami vai a recuperare la media("fai atenzione xke qui puoi avere dei studenti che non hanno fatto nessun esame che fanno parte della facolta di informatica",da qui puoi capire ch eperdi la media dei esami che dei studenti non hanno fatto.)suponi che devi fare l'esame di programmazione e di statistica.hai dei studenti che hanno partecipato solo al esame di programmazione.con il secondo query tu fai il join tra studente e esame("significa che prendi in considerazione solo gli esami che lo studente ha partecipato e non tutti gli altri").se quel studente che ha fatto programmazione non ha fatto statistica vuol dire se tu fai join tra studente e corso non puoi recuperare l'esame di statistica.
o meglio imagina che l'esame di statistica e del 3 anno e programmazione del 1.hai dei studenti del secondo anno.se fai join dei studenti con gli esami vedi subito che statistica del 3 anno non lo ha fatto nessuno xke sono tutti del secondo anno.
tu puoi avere che ad un esame nn ha partecipato nessuno

12-07-2008 11:10
Click Here to See the Profile for altin Click here to Send altin a Private Message Find more posts by altin Add altin to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 20:17.    Post New Thread    Post A Reply
  Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

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
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.075 seconds (71.15% PHP - 28.85% MySQL) con 23 query.