|
Voodoo |
Esempi di algebra relazionale |
05-07-2007 10:26 |
|
|
| |
|
WillyWonka |
2) Trovare gli anni in cui è stato eletto un pres ... |
13-09-2007 16:03 |
|
|
WillyWonka |
.consigliere.
Registered: Oct 2005
Posts: 142 (0.02 al dì)
Location: Desio
Corso: COM DIG
Anno: terzo
Time Online: 1 Day, 13:17:44 [...]
Status: Offline
Edit | Report | IP: Logged |
2) Trovare gli anni in cui è stato eletto un presidente repubblicano dell'Illinois.
è corretta dire questo?
∏anno(∏nomeP,DataN(σPartito=’Repubblicano’ Λ stato=’Illinois’(PRESIDENTE)JOIN ELEZIONE)
e
5)Trovare i nomi di persone che hanno partecipato alle elezioni presidenziali.
è corretta questa implementazione?
∏nomeP, nomePerd(ELEZIONE)
nn è più semplice così in teoria?
Nella soluzione proposta per il punto 6) invece non capisco come si faccia ad identificare che l'anno è quello in cui la California è stata ammessa negli USA.
Last edited by WillyWonka on 13-09-2007 at 16:53
|
13-09-2007 16:03 |
|
|
| |
|
Voodoo |
[QUOTE][i]Originally posted by WillyWonka [/i]
... |
13-09-2007 22:08 |
|
|
Voodoo |
.grande:maestro.
Registered: Jan 2004
Posts: 1009 (0.13 al dì)
Location: Pisa
Corso: com. dig.
Anno: dottore :)
Time Online: 6 Days, 23:28:00: [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by WillyWonka
2) Trovare gli anni in cui è stato eletto un presidente repubblicano dell'Illinois.
è corretta dire questo?
∏anno(∏nomeP,DataN(σPartito=’Repubblicano’ Λ stato=’Illinois’(PRESIDENTE)JOIN ELEZIONE)
e
5)Trovare i nomi di persone che hanno partecipato alle elezioni presidenziali.
è corretta questa implementazione?
∏nomeP, nomePerd(ELEZIONE)
nn è più semplice così in teoria?
Nella soluzione proposta per il punto 6) invece non capisco come si faccia ad identificare che l'anno è quello in cui la California è stata ammessa negli USA.
Per la prima va bene,la selezione nell'esempio vien fatta per alleggerire il join e basta. La seconda potrebbe andare bene,ma non ritornerebbe i nomi come lista,in cui ogni riga ha un nome,bensì due nomi (un output confuso dunque).
Per la terza non ho controllato ma se ti fai i calcoli il risultato viene.
__________________
GET DROPBOX
# il grado di lentezza è direttamente proporzionale all'intensità della memoria;il grado di velocità è direttamente proporzionale all'intensità dell'oblio (Kundera) #
BLOG: Byte Strike
ChRiS
|
13-09-2007 22:08 |
|
|
| |
|
el-mundo |
io sinceramente in alcuni ci capisco ben poco perc ... |
21-09-2007 16:54 |
|
|
el-mundo |
.grande:maestro.
Registered: Oct 2005
Posts: 561 (0.08 al dì)
Location: milano
Corso: comunicazione digitale
Anno:
Time Online: 2 Days, 9:27:52 [...]
Status: Offline
Edit | Report | IP: Logged |
io sinceramente in alcuni ci capisco ben poco perchè io li faccio diversamente ma non so fino a che punto siano uguali!!!!
|
21-09-2007 16:54 |
|
|
| |
|
Von Neumann |
E' indifferente fare una selezione "a monte" o "a ... |
11-12-2008 16:27 |
|
|
Von Neumann |
.illuminato.
Registered: Oct 2005
Posts: 188 (0.03 al dì)
Location: Brianza
Corso: Comunicazione Digitale
Anno: Domini
Time Online: 1 Day, 14:39:02: [...]
Status: Offline
Edit | Report | IP: Logged |
E' indifferente fare una selezione "a monte" o "a valle" di un JOIN?
Mi spiego con un esercizio:
INSEGNAMENTI(Codice,Denominazione)
STUDENTI(Matricola,Cognome,Nome)
ESAMI(Studente,Corso,Data,Voto)
specificare la seguente interrogazione in algebra relazionale: “trovare denominazione, data e voto per gli
esami superati da Bartolomeo Pestalozzi”
La soluzione proposta è la seguente
∏Denominazione,Data,Voto(Insegnamenti JOIN ON Codice=Corso Esami JOIN ON Studente=Matricolaσ Cognome='Pestalozzi AND Nome='Bartolomeo'(Studenti))
Domanda: E' la stessa cosa fare così:
∏Denominazione,Data,Voto(σVoto>=18 AND Nome='Bartolomeo' AND Cognome='Pestalozzi'(Insegnamenti JOIN ON Codice=Corso Esami JOIN ON Studente=Matricola Studenti))
__________________
Vendo libri Comunicazione digitale
Vendo Basso
Vendo Cartucce 88 HP
|
11-12-2008 16:27 |
|
|
| |
|
*°§_-??? |
[SIZE=1]Premesso che devo ancora superare questo e ... |
15-12-2008 08:58 |
|
|
*°§_-??? |
-.-''
Registered: Oct 2005
Posts: 383 (0.05 al dì)
Location: Milan (again)
Corso: Comunicazione Digitale
Anno: (3+x) | x>0
Time Online: 10 Days, 4:34:18 [...]
Status: Offline
Edit | Report | IP: Logged |
Premesso che devo ancora superare questo esame
La mia interpretazione è che:
- la prima query premette che gli esami registrati riportino una valutazione positiva (e quindi non esistono record di esami con valutazioni insufficienti)
- la seconda soluzione risulta più gravosa da un punto di vista computazionale (pur logicamente restituendo mi pare lo stesso risultato) dato che il calcolo prevede la creazione di risultati partendo dalla serie di join (dove i join associano a TUTTI gli studenti gli esami fatti) solo successivamente si limitano i risultati con la selezione (mentre nel calcolo precedente la prima operazione effettua una selezione sullo studente)
da un punto di vista di premesse il controllo del voto è più preciso (anche se sostituibile con una semplice indicazione iniziale)
In conclusione: credo che le due soluzioni siano equivalenti logicamente anche se differenti per gravosità computazionale e quindi tempo di risposta
__________________
Last edited by *°§_-??? on 15-12-2008 at 09:01
|
15-12-2008 08:58 |
|
|
| |
|
Ste Ramone |
qualcuno di voi può dirmi se le due query si equi ... |
17-01-2010 14:57 |
|
|
Ste Ramone |
.fhtagn.
Registered: Jun 2003
Posts: 2987 (0.38 al dì)
Location: dove capita
Corso: ComunicaDigitalizia Ponti
Anno: il tempo nn esiste
Time Online: 42 Days, 0:15:48 [...]
Status: Offline
Edit | Report | IP: Logged |
qualcuno di voi può dirmi se le due query si equivalgono?
lo schema di partenza è:
Libri (Codice, Titolo, Genere, Autore) con vincolo di ir fra Autore e la chiave di Scrittori
Edizioni (Libro,Editore,Collana,Anno) con vincolo di ir fra Libro e la chiave di Libri, e fra Editore e la chiave di Editori
Editori (Sigla, Nome, Città)
Scrittori (Codice, Cognome, Nome)
1- Trovare Nome e Cognome degli autori di libri pubblicati da editori di Milano
la soluzione proposta è:
SELECT Cognome, Nome
FROM Scrittori, Libri, Edizioni, Editori
WHERE Scrittori.Codice = Autore AND Libri.Codice = Libro AND Editore = Sigla AND Città = 'Milano';
si può dire anche così?
SELECT Cognome, Nome
FROM Scrittori INNER JOIN Libri ON (Libri.Autore = Scrittori.Codice) INNER JOIN Edizioni ON (Edizioni.Libri = Libri.Codice AND Edizioni.Editore = Editore.Sigla) INNER JOIN Editori ON (Editori.Sigla = Edizioni.Editore)
WHERE Città = 'Milano';
__________________
"The more the water, the higher the boat"
DeviantART - Blog - Portfolio
Last edited by Ste Ramone on 17-01-2010 at 15:08
|
17-01-2010 14:57 |
|
|
| |
|
All times are GMT. The time now is 20:03. |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|