Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Basi di dati ~ comunicazione digitale (http://www.dsy.it/forum/forumdisplay.php?forumid=108)
-- Esempi di algebra relazionale e SQL (http://www.dsy.it/forum/showthread.php?threadid=31412)
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
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
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
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
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
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.
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.
__________________
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
io sinceramente in alcuni ci capisco ben poco perchè io li faccio diversamente ma non so fino a che punto siano uguali!!!!
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
Premesso che devo ancora superare questo esame
La mia interpretazione è che:
__________________
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
All times are GMT. The time now is 05:23. | Show all 11 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.