Uni.TemaEsame31106 History
Hide minor edits - Show changes to markup
AUTORE (ID, Nome, Cognome)
ARTICOLO(ID, Titolo, NumPagine, NomeRivista, NumRivista, Data)
PUBBLICA (IDAutore, IDArticolo)
AUTORE (ID Nome, Cognome)
ARTICOLO(ID, Titolo, NumPagine, NomeRivista, NumRivista, Data)
PUBBLICA (IDAutore, IDArticolo)
- GROUP BYNomeRivista)'''
- GROUP BYNomeRivista)
Attach:http://doppioclic.altervista.org/wiki/uploads/Uni/3_nov_2006.jpg Δ
ho uploadato l'immagine ma non si vede.. prendetela con l'attach
- GROUP BYNomeRivista)'''
- GROUP BYNomeRivista)'''
schema E-R
Attach:
SELECT Nome,,Cognome
FROM Autore JOIN Pubblica ON ID=IDAutore
JOIN Articolo ON ID=IDArticolo
WHERE NomeRivista='ACM'
Determinare il nome delle riviste che tra il 9 febbraio 2004 e il 12 settembre 2006 hanno pubblicato il maggior numero di pagine
SELECT Nome,,Cognome
FROM Autore JOIN Pubblica ON ID=IDAutore
WHERE NomeRivista='ACM'
Determinare il nome delle riviste che tra il 9 febbraio 2004 e il 12 settembre 2006 hanno pubblicato il maggior numero di pagine
SELECT DISTINCT NomeRivista
FROM Articolo
WHERE Data BETWEEN 09/02/2004 AND 12/09/2006
GROUP BY NomeRivista
HAVING SUM(NumPagine)>=ALL
- (SELECT SUM(NumPagine)FROM ArticoloWHERE Data BETWEEN 09/02/2004 AND 12/09/2006GROUP BYNomeRivista)'''
Algebra
1: Determinare il nome di tutte le riviste dove ha pubblicato un articolo di almeno 5 pagine il professor Mario Rossi
Algebra
Determinare il nome di tutte le riviste dove ha pubblicato un articolo di almeno 5 pagine il professor Mario Rossi
1: Determinare nome e cognome degli autori che non hanno alcuna pubblicazione che superi le 20 pagine
Determinare nome e cognome degli autori che non hanno alcuna pubblicazione che superi le 20 pagine
SQL
Determinare nome e cognome degli autori che hanno alcuna pubblicato almeno un articolo sulla riviosta "ACM"
SQL
1: Determinare nome e cognome degli autori che hanno alcuna pubblicato almeno un articolo sulla riviosta "ACM"'''
''
1: Determinare il nome delle riviste che tra il 9 febbraio 2004 e il 12 settembre 2006 hanno pubblicato il maggior numero di pagine \\
SELECT Nome,,Cognome
FROM Autore JOIN Pubblica ON ID=IDAutore
JOIN Articolo ON ID=IDArticolo
WHERE NomeRivista='ACM'
Determinare il nome delle riviste che tra il 9 febbraio 2004 e il 12 settembre 2006 hanno pubblicato il maggior numero di pagine
RISULTATO:=πNome, Cognome(PMI20 |X|IDAutore=IDAUTORE)
RISULTATO:=πNome, Cognome(PMI20 |X|IDAutore=IDAUTORE)
!!!SQL
1: Determinare nome e cognome degli autori che hanno alcuna pubblicato almeno un articolo sulla riviosta "ACM"'''
''
1: Determinare il nome delle riviste che tra il 9 febbraio 2004 e il 12 settembre 2006 hanno pubblicato il maggior numero di pagine \\
!!!Algebra
Algebra
''Join tra PUBBLICA e ARTICOLO. Seleziono le tuple docve NumPagine >20 e ne proietto l'IDArticolo
PMA20:=πIDarticolo(σNumPagine>20(PUBBLICA|X|IDArticolo=IDARTICOLO))
Join tra PUBBLICA e ARTICOLO. Seleziono le tuple docve NumPagine >20 e ne proietto l'IDArticolo
PMA20:=πIDarticolo(σNumPagine>20(PUBBLICA|X|IDArticolo=IDARTICOLO))
Ora prendo l'IDArticolo di tutte le pubblicazioni
TUTTI:=πIDArticolo(PUBBLICA)
Ora tutti - quelli che hanno pubblicato + di 20 pagine
PMI20:=TUTTI - PMA20
Join tra coloro che hanno pubblicato meno di 20 pagine e AUTORE per proiettare nome e cognome
RISULTATO:=πNome, Cognome(PMI20 |X|IDAutore=IDAUTORE)
RISULTATO:= πNomeRivista(σNumPagine>=5(MR |X|ID=IDArticoloARTICOLO))
RISULTATO:= πNomeRivista(σNumPagine>=5(MR |X|ID=IDArticoloARTICOLO))
1: Determinare nome e cognome degli autori che non hanno alcuna pubblicazione che superi le 20 pagine
''Join tra PUBBLICA e ARTICOLO. Seleziono le tuple docve NumPagine >20 e ne proietto l'IDArticolo
PMA20:=πIDarticolo(σNumPagine>20(PUBBLICA|X|IDArticolo=IDARTICOLO))
MR:=πIDArticolo(PUBBLICA |X|IDAutore=ID(σNome='Mario' ^ Cognome='Rossi'AUTORE)
MR:=πIDArticolo(PUBBLICA |X|IDAutore=ID(σNome='Mario' ^ Cognome='Rossi'AUTORE)
Join tra MR e Articolo. Da questa tabella seleziono le tuple che hanno NumPagine >5 e ne proietto l nome rivista
RISULTATO:= πNomeRivista(σNumPagine>=5(MR |X|ID=IDArticoloARTICOLO))
(:Title Basi di Dati temi d'esame:)
Torna alla pagina di Basi di Dati
3 novembre 2006
AUTORE (ID, Nome, Cognome)
ARTICOLO(ID, Titolo, NumPagine, NomeRivista, NumRivista, Data)
PUBBLICA (IDAutore, IDArticolo)
!!!Algebra
1: Determinare il nome di tutte le riviste dove ha pubblicato un articolo di almeno 5 pagine il professor Mario Rossi
Seleziono Mario Rossi dalla tabella Autore e faccio il join con PUBBLICA per sapere l'ID dell'articolo che ha pubblicato
MR:=πIDArticolo(PUBBLICA |X|IDAutore=ID(σNome='Mario' ^ Cognome='Rossi'AUTORE)