Uni.TemaEsame16022007 History
Hide minor edits - Show changes to output
Changed line 83 from:
''Tutti - quelli che hanno comandato almeno 2 navi''
to:
''Tutti - quelli che hanno comandato almeno 2 navi (non è T-NO????)''
Changed lines 1-2 from:
(:Title Basi di Dati temi d'esame:)\\ %center bgcolor=#fff0f5 border='1px solid #cccccc' font-size=12pt padding=3px define=soluzione%
to:
(:Title Basi di Dati: temi d'Esame:)
Added lines 4-6:
%titolo%''':: Basi di Dati: temi d'Esame'''
Changed lines 47-49 from:
%soluzione%T:=ρ'_IDArmatore, CFComandante <- ID,CF (TUTTI)
to:
%soluzione%T:=ρ'_IDArmatore, CFComandante <- ID,CF_' (TUTTI)
Changed lines 71-74 from:
%soluzione%T2:=ρ'_CFC,N_'(T)
to:
%soluzione%T2:=ρ'_CFC,N <- CFComandante, Nome_'(T)
Changed line 84 from:
%soluzione%RIS:='_CFComandante_'(TUTTI - NO)
to:
%soluzione%RIS:=π'_CFComandante_'(TUTTI - NO)
Added lines 1-84:
(:Title Basi di Dati temi d'esame:)\\ %center bgcolor=#fff0f5 border='1px solid #cccccc' font-size=12pt padding=3px define=soluzione% [[Torna alla pagina di Basi di Dati->Basi di Dati]] ---- %center%%bgcolor=#d9e4f2 font-size=11pt padding=4px padding-left=50px padding-right=50px% 16 febbraio 2007
'''NAVE({+Nome,IDArmatore+}, Lunghezza, NumPasseggeri, NumPiani, NumCFComandante)'''\\ '''ARMATORE({+ID+}, Nome, Cognome)'''\\ '''COMANDANTE({+CF+}, Nome, Cognome, DataNascita)'''
!!!%blue%SQL
!!%red%Determinare il numero di navi che possono ospitare più di 2500 passeggeri comandate da un comandante nato prima del 20 agosto 1968%black%\\
SELECT COUNT(DISTINCT Nome)\\ FROM Nave JOIN Comandante ON CFComandante=CF\\ WHERE DataNascita<= 20/08/1968 AND ->NumPasseggeri>2500
!!%red%Determinare l'ID, nome e cognome dell'armatore con il maggior numero di navi%black%\\
SELECT A.ID, A.Nome, A.Cognome\\ FROM Armatore AS A JOIN Nave AS N ON CF=CFComandante\\ GROUP BY A.ID\\ HAVING COUNT(N.Nome) >= ALL -->SELECT COUNT(Nome) -->FROM Nave -->GROUP BY IDArmatore
!!!%blue%ALGEBRA
!!%red%Determinare tutte le coppie IDArmatore-CFComandante che non sono mai stati in relazione (il comandante non ha mai prestato servizio su una nave dell'armatore)%black%\\
''Proietto tutte le coppie POSSIBILI ''
%soluzione%TUTTI:=π'_ID,CF_'(ARMATORE X COMANDANTE)
''Li rinomino''
%soluzione%T:=ρ'_IDArmatore, CFComandante <- ID,CF (TUTTI)
''Ora proietto solo le reali coppie''
%soluzione%R:=π'_IDArmatore, CFComandante_'(NAVE)
''Tutti i possibili - i reali = quelli mai incontrati''
%soluzione%RIS:= T - R
!!%red%Determinare il CF dei comandanti che hanno comandato solo una nave in tutta la loro carriera%black%\\
''Proietto i comandanti e le loro navi''
%soluzione%T:=π'_CFComandante, Nome_'(NAVE)
''Ne faccio una copia''
%soluzione%T2:=ρ'_CFC,N_'(T)
''Trovo coloro che hanno comandato almeno 2 navi''
%soluzione%NO:=π'_CFComandante, Nome_'(T |X|'_CFC=CFComandante ^ Nome <>N_' T2)
''Tutti - quelli che hanno comandato almeno 2 navi''
%soluzione%RIS:='_CFComandante_'(TUTTI - NO)
|