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 > Esempi di algebra relazionale e SQL
  Last Thread   Next Thread
Author
Thread    Post New Thread    Post A Reply
Voodoo
.grande:maestro.

User info:
Registered: Jan 2004
Posts: 1009 (0.14 al dì)
Location: Pisa
Corso: com. dig.
Anno: dottore :)
Time Online: 6 Days, 23:28:00: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
Esempi di algebra relazionale

I seguenti esercizi provengono dal corso di basi di dati della Castano,in informatica triennale. Siccome gli argomenti sono gli stessi,possono essere un valido aiuto.
Dato il seguente schema trovare il algebra relazionale le seguenti richieste:



1)Trovare lo stato di provenienza del presidente Kennedy



2) Trovare gli anni in cui è stato eletto un presidente repubblicano dell'Illinois.



3) Trovare i nomi di tutti i presidenti texani che sono anche vicepresidenti dopo il 1950.



4)Trovare i nomi delle mogli dei presidenti provenienti dalla California eletti dopo il 1960.



5)Trovare i nomi di persone che hanno partecipato alle elezioni presidenziali.



6)Trovare la data di morte del presidente dell'anno in cui la california è stata ammessa negli Stati Uniti d'America.



7)Trovare la percentuale dei repubblicani al Senato e alla Camera dei congressi tenuti da presidenti repubblicani eletti dopo il 1945.

__________________
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 :ciao:

Last edited by Voodoo on 05-07-2007 at 12:49

05-07-2007 10:26
Click Here to See the Profile for Voodoo Click here to Send Voodoo a Private Message Visit Voodoo's homepage! Find more posts by Voodoo Add Voodoo to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Voodoo
.grande:maestro.

User info:
Registered: Jan 2004
Posts: 1009 (0.14 al dì)
Location: Pisa
Corso: com. dig.
Anno: dottore :)
Time Online: 6 Days, 23:28:00: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Relazione di riferimento:



1) Determinare codice e nome dei clienti che hanno acquistato prodotti gestionali a Milano.



2)Determinare i codici dei clienti con sconto che hanno acquistato prodotti gestionali e office automation.



3)Determinare il nome dei prodtti acquistati da tutti i clienti provvisti di sconto.



__________________
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 :ciao:

Last edited by Voodoo on 09-07-2007 at 16:14

09-07-2007 15:16
Click Here to See the Profile for Voodoo Click here to Send Voodoo a Private Message Visit Voodoo's homepage! Find more posts by Voodoo Add Voodoo to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Voodoo
.grande:maestro.

User info:
Registered: Jan 2004
Posts: 1009 (0.14 al dì)
Location: Pisa
Corso: com. dig.
Anno: dottore :)
Time Online: 6 Days, 23:28:00: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Relazione di riferimento: FORNITURA.Fornitore è chiave esterna per FORNITORE.PIVA,così per FORNITURA.Cliente a CLIENTE.Matricola. Negli esempi a seguire,per la ridenominazione, nel loro corso hanno usatoscambiare i posti degli insieme di attributi,ma Perlasca dice che è solo questione di convenzione.



1)Trovare matricola e nome dei clienti che hanno ricevuto forniture da fornitori milanesi.



2) Trovare le città in cui risiedono sia i clienti sia i fornitori.



3) Trovare il nome del fornitore che ha effettuato forniture a tutti i clienti

__________________
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 :ciao:

Last edited by Voodoo on 09-07-2007 at 16:48

09-07-2007 16:16
Click Here to See the Profile for Voodoo Click here to Send Voodoo a Private Message Visit Voodoo's homepage! Find more posts by Voodoo Add Voodoo to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Voodoo
.grande:maestro.

User info:
Registered: Jan 2004
Posts: 1009 (0.14 al dì)
Location: Pisa
Corso: com. dig.
Anno: dottore :)
Time Online: 6 Days, 23:28:00: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
SQL

Relazioni di riferimento (le chiavi hanno un asterisco a fianco del nome):

IMPIEGATO (ID*,Nome,Cognome,Ufficio,Stipendio,DipN)
DIPARTIMENTO (Nome*,Indirizzo,Direttore)


1) Dire quanti sono gli stipendi diversi fra loro che percepiscono gli impiegati.



2) Dire quanti sono gli impiegati del dipartimento di produzione.



3) Determinare l'ammontare degli stipendi del dipartimento di amministrazione.



4)si vuole sapere lo stipendio massimo tra quelli degli impiegati che lavorano in un dipartimento di Houston in Texas.



5)Determinare per ciascun dipartimento il numero di impiegati e la somma dei loro stipendi.



6)Determinare i dipartimenti che spendono di più di 130KE in stipendi.



7)Per i dipartimenti in cui lavorano almeno due impiegati con stipendio superiore a 40KE mostrare il nome del dipartimento e il numero totale di impiegati.



8)Determinare i cognomi degli impiegati che sono anche nomi.



9)Trovare i codici degli impiegati che non sono direttori



10)Trovare i nomi e i cognomi degli impiegati che lavorano a Houston in Texas



11)Trovare nomi e cognomi degli impiegati che lavorano nello stesso ufficio di qualche impiegato del dipartimento di produzione,escludendo quelli del dipartimento stesso di produzione.



12)Trovare i dipartimenti dove non lavorano persone di nome Smith.



13) Trovare il dipartimento con gli stipendi più elevati



14)Determinare gli impiegati che guadagnano più dello stipendio medio del proprio dipartimento con ordinamento del risultato per dipartimento



15)Trovare gli impiegati che hanno omonimi



__________________
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 :ciao:

Last edited by Voodoo on 15-07-2007 at 10:02

09-07-2007 18:21
Click Here to See the Profile for Voodoo Click here to Send Voodoo a Private Message Visit Voodoo's homepage! Find more posts by Voodoo Add Voodoo to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Voodoo
.grande:maestro.

User info:
Registered: Jan 2004
Posts: 1009 (0.14 al dì)
Location: Pisa
Corso: com. dig.
Anno: dottore :)
Time Online: 6 Days, 23:28:00: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Considerare la seguente base di dati:



1)Vogliamo sapere i codici degli impiegati che partecipano a tutti i progetti con un budget superiore di 50000. Esprimerla in algebra relazionale e in SQL.



__________________
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 :ciao:

15-07-2007 10:15
Click Here to See the Profile for Voodoo Click here to Send Voodoo a Private Message Visit Voodoo's homepage! Find more posts by Voodoo Add Voodoo to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
WillyWonka
.consigliere.

User info:
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

Post actions:

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
Click Here to See the Profile for WillyWonka Click Here to See the Blog of WillyWonka Click here to Send WillyWonka a Private Message Find more posts by WillyWonka Add WillyWonka to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Voodoo
.grande:maestro.

User info:
Registered: Jan 2004
Posts: 1009 (0.14 al dì)
Location: Pisa
Corso: com. dig.
Anno: dottore :)
Time Online: 6 Days, 23:28:00: [...]
Status: Offline

Post actions:

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 :ciao:

13-09-2007 22:08
Click Here to See the Profile for Voodoo Click here to Send Voodoo a Private Message Visit Voodoo's homepage! Find more posts by Voodoo Add Voodoo to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
el-mundo
.grande:maestro.

User info:
Registered: Oct 2005
Posts: 561 (0.08 al dì)
Location: milano
Corso: comunicazione digitale
Anno:
Time Online: 2 Days, 9:27:52 [...]
Status: Offline

Post actions:

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
Click Here to See the Profile for el-mundo Click here to Send el-mundo a Private Message Find more posts by el-mundo Add el-mundo to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Von Neumann
.illuminato.

User info:
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

Post actions:

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
Click Here to See the Profile for Von Neumann Click here to Send Von Neumann a Private Message Find more posts by Von Neumann Add Von Neumann to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
*°§_-???
-.-''

User info:
Registered: Oct 2005
Posts: 383 (0.06 al dì)
Location: Milan (again)
Corso: Comunicazione Digitale
Anno: (3+x) | x>0
Time Online: 10 Days, 4:34:18 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Premesso che devo ancora superare questo esame
La mia interpretazione è che:

  1. la prima query premette che gli esami registrati riportino una valutazione positiva (e quindi non esistono record di esami con valutazioni insufficienti)
  2. 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

__________________
:pccrash::pccrash:

Last edited by *°§_-??? on 15-12-2008 at 09:01

15-12-2008 08:58
Click Here to See the Profile for *°§_-??? Click here to Send *°§_-??? a Private Message Find more posts by *°§_-??? Add *°§_-??? to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Ste Ramone
.fhtagn.

User info:
Registered: Jun 2003
Posts: 2987 (0.39 al dì)
Location: dove capita
Corso: ComunicaDigitalizia Ponti
Anno: il tempo nn esiste
Time Online: 42 Days, 0:15:48 [...]
Status: Offline

Post actions:

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
Click Here to See the Profile for Ste Ramone Click Here to See the Blog of Ste Ramone Click here to Send Ste Ramone a Private Message Visit Ste Ramone's homepage! Find more posts by Ste Ramone Add Ste Ramone to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 21:56.    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.043 seconds (84.10% PHP - 15.90% MySQL) con 25 query.