SlideShare a Scribd company logo
Corso di Basi di Dati e Laboratorio




  ALGEBRA RELAZIONALE
   (trasformazione di espressioni algebriche)
                      Prof. Silvana Castano




 A.A. 2005/2006             Basi di Dati e Laboratorio   1




EQUIVALENZA DI ESPRESSIONI
ALGEBRICHE
• L’algebra permette di formulare espressioni fra loro
  equivalenti (che producono lo stesso risultato)
• Le interrogazioni SQL sono tradotte in algebra e si valuta
  il costo in termini di dimensioni dei risultati intermedi; la
  scelta fra varie alternative equivalenti e’ per quella a
  costo minore
• In questo contesto vengono utilizzate delle trasformazioni
  di equivalenza, cioè operazioni che sostituiscono
  un’espressione con un’altra equivalente
• Sono di interesse le trasformazioni che riducono le
  dimensioni dei risultati intermedi e quelle che
  preparatorie a ciò


 A.A. 2005/2006             Basi di Dati e Laboratorio   2
REGOLE DI TRASFORMAZIONE
• Atomizzazione delle selezioni
     σ C1 ∧ C2 (R) = σ C1 (σ C2 (R))
  Una selezione congiuntiva può essere sostituita
  da una serie di selezioni atomiche (preliminare
  ad altre)
• Commutatività di σ
         σ C1 (σ C2 (R)) = σ C2 (σ C1 (R))
• Idempotenza delle proiezioni
  ∏ X (R) = ∏ X (∏ XY (R))
  cascata di proiezioni che eliminano i vari attributi
  in fasi diverse (preliminare ad altre)

 A.A. 2005/2006        Basi di Dati e Laboratorio    3




REGOLE DI TRASFORMAZIONE
• Anticipazione della selezione rispetto al join
       σ C (R S) = ( σ C (R)) S
  la condizione C coinvolge solo attributi di R

• Conversione di una sequenza (σ, X ) in un join
       σ C (R X S) = R     CS
  se la condizione C corrisponde a una condizione di join.




 A.A. 2005/2006        Basi di Dati e Laboratorio    4
REGOLE DI TRASFORMAZIONE
• Anticipazione della proiezione rispetto al join
  R e S definite su X1 e X2 rispettivamente; J1 e J2
  denotano rispettivamente gli attributi di R e S coinvolti
  nella condizione di join C; Y1= (X1 ∩ Y) e Y2= (X2 ∩ Y).
  Se C coinvolge solo attributi inclusi in Y (J1 ∪ J2 ⊆ Y)
       ∏ Y (R     C S) = (∏ Y1 (R))      C (∏ Y2 ( S))


   Se C coinvolge ulteriori attributi non inclusi in Y, allora
       ∏ Y (R    C S) = ∏ Y (( ∏ Y1J1 (R))        C ( ∏ Y2J2 ( S)))


In sintesi, si possono eliminare subito gli attributi di
ciascuna relazione che non sono coinvolti nel join e non
sono utilizzati nella lista degli attributi della proiezione.

  A.A. 2005/2006            Basi di Dati e Laboratorio            5




GENERAZIONE SCHEMA RELAZIONALE
PRESIDENTE STATI UNITI

PRESIDENTE(NomeP, DataN, DataM, Partito, NomeMoglie,NomeStato)

CONGRESSO(NumCong, %S/R,%S/D,%C/R, %C/D)

AMMINISTRAZIONE(NumAmm, DataIn, VicePres, NomeP, DataN)

ELEZIONE(Anno, NomePerd, VotiPerd, PartitoPerd, VotiVinc,
  NomeP,DataN)

STATO(NomeStato, #Abit, #Votanti, NumAmm)

PARTECIPA(NomeP, DataN, NumCong)

(N.B. le chiavi primarie sono sottolineate; le chiavi esterne hanno lo
   stesso nome delle corrispondenti chiavi primarie)

  A.A. 2005/2006            Basi di Dati e Laboratorio            6
LINGUAGGIO DI INTERROGAZIONE

• Trovare lo stato di provenienza del
  presidente Kennedy.
   – Input : Nome del presidente.
   – Output: Stato del presidente.
    Nella stessa relazione ‘PRESIDENTE’
• Input : Selezione
         • σ NomeP = ‘Kennedy’ (PRESIDENTE)
• Output: Proiezione
         • ∏ NomeStato (σ    NomeP = ‘Kennedy’      (PRESIDENTE) )

 A.A. 2005/2006              Basi di Dati e Laboratorio          7




LINGUAGGIO DI INTERROGAZIONE

Trovare gli anni in cui è stato eletto un presidente
repubblicano dell’Illinois.
   Input : Partito e stato del presidente.
   Output: anno di elezione.
               Nella relazione ‘PRESIDENTE’                          X
                 Nella relazione ‘ELEZIONE’


∏Anno (σ                            (PRESIDENTE X ELEZIONE))
         (PRESIDENTE.Partito = ‘Repubblicano’ ∧
         PRESIDENTE.NomeStato = ‘Illinois’ ∧
         ELEZIONE.NomeP = PRESIDENTE.NomeP ∧
         ELEZIONE.DataN = PRESIDENTE.DataN)




 A.A. 2005/2006              Basi di Dati e Laboratorio          8
USO DI TRASFORMAZIONI

 • ∏ Anno (σ              (PRESIDENTE X ELEZIONE))
                   (PRESIDENTE.Partito = ‘Repubblicano’ ∧
                   PRESIDENTE.NomeStato = ‘Illinois’ ∧
                   ELEZIONE.NomeP = PRESIDENTE.NomeP ∧
                   ELEZIONE.DataN = PRESIDENTE.DataN)




• ∏ Anno (σ                (PRESIDENTE                       ELEZIONE))
                    (PRESIDENTE.Partito = ‘Repubblicano’ ∧
                    PRESIDENTE.NomeStato = ‘Illinois’)




  A.A. 2005/2006               Basi di Dati e Laboratorio                  9




USO DI TRASFORMAZIONI

 Spinta delle selezioni in basso
 ∏ Anno ((σ (PRESIDENTE ) ) ELEZIONE)
                   PRESIDENTE.Partito = ‘Repubblicano’ ∧
                   PRESIDENTE.NomeStato = ‘Illinois’




 Proiezione solo sugli attributi di interesse
 ∏ Anno ((∏ NomeP,DataN (σ (PRESIDENTE) ))
                                           PRESIDENTE.Partito = ‘Repubblicano’ ∧
                                           PRESIDENTE.NomeStato = ‘Illinois’

 (∏ NomeP,DataN,Anno (ELEZIONE)))
  A.A. 2005/2006               Basi di Dati e Laboratorio                  10
LINGUAGGIO DI INTERROGAZIONE



 Nomi di tutti i presidenti texani che sono anche
 vicepresidenti dopo il 1950.
        (∏ NomeP (σ NomeStato = ‘Texas’ (PRESIDENTE) ) )
                                             ∩
         (∏ VicePres (σ    DataIn > 1950    (AMMINISTRAZIONE) ) )




   A.A. 2005/2006                 Basi di Dati e Laboratorio     11




LINGUAGGIO DI INTERROGAZIONE



 Nomi delle mogli dei presidenti provenienti dalla California
 eletti dopo il 1960.



∏NomeMoglie ((σ     Anno > 1960   (ELEZIONE))
                           σ NomeStato = ‘California’ (PRESIDENTE)))




   A.A. 2005/2006                 Basi di Dati e Laboratorio     12
LINGUAGGIO DI INTERROGAZIONE



Nomi di persone che hanno partecipato a elezioni
presidenziali.


                  (∏ NomeP (PRESIDENTE))
                                  U
                   (∏NomePerd (ELEZIONE))




 A.A. 2005/2006         Basi di Dati e Laboratorio        13




LINGUAGGIO DI INTERROGAZIONE



Data di morte del presidente dell’anno in cui la California fu
ammessa negli Stati Uniti.



     ∏ DataM ((σ NomeStato = ‘California’ (STATO))
     (AMMINISTRAZIONE)                    (PRESIDENTE))




 A.A. 2005/2006         Basi di Dati e Laboratorio        14
LINGUAGGIO DI INTERROGAZIONE



Percentuale dei repubblicani al Senato e alla Camera dei
congressi tenuti da presidenti repubblicani eletti dopo il
1945.

       ∏ %S/R, %C/R (CONGRESSO               PARTECIPA
       (σ Partito = ‘Repubblicano’ (PRESIDENTE))
       (σ Anno > 1945 (ELEZIONE)))




 A.A. 2005/2006        Basi di Dati e Laboratorio        15

More Related Content

More from guestbe916c

Laboratorio Di Basi Di Dati 09 Il Linguaggio P H P
Laboratorio Di  Basi Di  Dati 09  Il Linguaggio  P H PLaboratorio Di  Basi Di  Dati 09  Il Linguaggio  P H P
Laboratorio Di Basi Di Dati 09 Il Linguaggio P H Pguestbe916c
 
Laboratorio Di Basi Di Dati 12 P H P Gestione Di File X M L
Laboratorio Di  Basi Di  Dati 12  P H P   Gestione Di File  X M LLaboratorio Di  Basi Di  Dati 12  P H P   Gestione Di File  X M L
Laboratorio Di Basi Di Dati 12 P H P Gestione Di File X M Lguestbe916c
 
Laboratorio Di Basi Di Dati 11 P H P Interazione Con I D B M S
Laboratorio Di  Basi Di  Dati 11  P H P   Interazione Con I  D B M SLaboratorio Di  Basi Di  Dati 11  P H P   Interazione Con I  D B M S
Laboratorio Di Basi Di Dati 11 P H P Interazione Con I D B M Sguestbe916c
 
Laboratorio Di Basi Di Dati 01 Introduzione
Laboratorio Di  Basi Di  Dati 01 IntroduzioneLaboratorio Di  Basi Di  Dati 01 Introduzione
Laboratorio Di Basi Di Dati 01 Introduzioneguestbe916c
 
Laboratorio Di Basi Di Dati 10 P H P Cookie E Sessioni
Laboratorio Di  Basi Di  Dati 10  P H P    Cookie E SessioniLaboratorio Di  Basi Di  Dati 10  P H P    Cookie E Sessioni
Laboratorio Di Basi Di Dati 10 P H P Cookie E Sessioniguestbe916c
 
Corso Di Basi Di Dati 09 Modelli Controllo
Corso Di  Basi Di  Dati 09  Modelli ControlloCorso Di  Basi Di  Dati 09  Modelli Controllo
Corso Di Basi Di Dati 09 Modelli Controlloguestbe916c
 
Esercitazioni 02 S Q L
Esercitazioni 02  S Q LEsercitazioni 02  S Q L
Esercitazioni 02 S Q Lguestbe916c
 
Laboratorio Di Basi Di Dati 07 Programmazione Web Lato Server
Laboratorio Di  Basi Di  Dati 07  Programmazione  Web Lato ServerLaboratorio Di  Basi Di  Dati 07  Programmazione  Web Lato Server
Laboratorio Di Basi Di Dati 07 Programmazione Web Lato Serverguestbe916c
 
Laboratorio Di Basi Di Dati 06 Programmazione Web Lato Client
Laboratorio Di  Basi Di  Dati 06  Programmazione  Web Lato ClientLaboratorio Di  Basi Di  Dati 06  Programmazione  Web Lato Client
Laboratorio Di Basi Di Dati 06 Programmazione Web Lato Clientguestbe916c
 
Corso Di Basi Di Dati 10 Transazioni
Corso Di  Basi Di  Dati 10  TransazioniCorso Di  Basi Di  Dati 10  Transazioni
Corso Di Basi Di Dati 10 Transazioniguestbe916c
 
Laboratorio Di Basi Di Dati 04 P L S Q L E P Lpg S Q L
Laboratorio Di  Basi Di  Dati 04  P L  S Q L E  P Lpg S Q LLaboratorio Di  Basi Di  Dati 04  P L  S Q L E  P Lpg S Q L
Laboratorio Di Basi Di Dati 04 P L S Q L E P Lpg S Q Lguestbe916c
 
Corso Di Basi Di Dati 06 Esercizi Di Progettazione Concettuale
Corso Di  Basi Di  Dati 06  Esercizi Di Progettazione ConcettualeCorso Di  Basi Di  Dati 06  Esercizi Di Progettazione Concettuale
Corso Di Basi Di Dati 06 Esercizi Di Progettazione Concettualeguestbe916c
 
Corso Di Basi Di Dati 03 Progettazione Concettuale
Corso Di  Basi Di  Dati 03  Progettazione ConcettualeCorso Di  Basi Di  Dati 03  Progettazione Concettuale
Corso Di Basi Di Dati 03 Progettazione Concettualeguestbe916c
 
Corso Di Basi Di Dati 05 Normalizzazione
Corso Di  Basi Di  Dati 05  NormalizzazioneCorso Di  Basi Di  Dati 05  Normalizzazione
Corso Di Basi Di Dati 05 Normalizzazioneguestbe916c
 
Corso Di Basi Di Dati 04 Progettazione Logica
Corso Di  Basi Di  Dati 04  Progettazione LogicaCorso Di  Basi Di  Dati 04  Progettazione Logica
Corso Di Basi Di Dati 04 Progettazione Logicaguestbe916c
 
Corso Di Basi Di Dati 02 S Q L D M L
Corso Di  Basi Di  Dati 02  S Q L  D M LCorso Di  Basi Di  Dati 02  S Q L  D M L
Corso Di Basi Di Dati 02 S Q L D M Lguestbe916c
 
Esercitazioni 03 Algebra + S Q L
Esercitazioni 03  Algebra +  S Q LEsercitazioni 03  Algebra +  S Q L
Esercitazioni 03 Algebra + S Q Lguestbe916c
 
Esercitazioni 04 Progettazione Concettuale E Logica
Esercitazioni 04  Progettazione Concettuale E LogicaEsercitazioni 04  Progettazione Concettuale E Logica
Esercitazioni 04 Progettazione Concettuale E Logicaguestbe916c
 
Corso Di Basi Di Dati 08 Protezione Dei Dati
Corso Di  Basi Di  Dati 08  Protezione Dei DatiCorso Di  Basi Di  Dati 08  Protezione Dei Dati
Corso Di Basi Di Dati 08 Protezione Dei Datiguestbe916c
 

More from guestbe916c (20)

Laboratorio Di Basi Di Dati 09 Il Linguaggio P H P
Laboratorio Di  Basi Di  Dati 09  Il Linguaggio  P H PLaboratorio Di  Basi Di  Dati 09  Il Linguaggio  P H P
Laboratorio Di Basi Di Dati 09 Il Linguaggio P H P
 
Laboratorio Di Basi Di Dati 12 P H P Gestione Di File X M L
Laboratorio Di  Basi Di  Dati 12  P H P   Gestione Di File  X M LLaboratorio Di  Basi Di  Dati 12  P H P   Gestione Di File  X M L
Laboratorio Di Basi Di Dati 12 P H P Gestione Di File X M L
 
Laboratorio Di Basi Di Dati 11 P H P Interazione Con I D B M S
Laboratorio Di  Basi Di  Dati 11  P H P   Interazione Con I  D B M SLaboratorio Di  Basi Di  Dati 11  P H P   Interazione Con I  D B M S
Laboratorio Di Basi Di Dati 11 P H P Interazione Con I D B M S
 
Laboratorio Di Basi Di Dati 01 Introduzione
Laboratorio Di  Basi Di  Dati 01 IntroduzioneLaboratorio Di  Basi Di  Dati 01 Introduzione
Laboratorio Di Basi Di Dati 01 Introduzione
 
Laboratorio Di Basi Di Dati 10 P H P Cookie E Sessioni
Laboratorio Di  Basi Di  Dati 10  P H P    Cookie E SessioniLaboratorio Di  Basi Di  Dati 10  P H P    Cookie E Sessioni
Laboratorio Di Basi Di Dati 10 P H P Cookie E Sessioni
 
Corso Di Basi Di Dati 09 Modelli Controllo
Corso Di  Basi Di  Dati 09  Modelli ControlloCorso Di  Basi Di  Dati 09  Modelli Controllo
Corso Di Basi Di Dati 09 Modelli Controllo
 
Esercitazioni 02 S Q L
Esercitazioni 02  S Q LEsercitazioni 02  S Q L
Esercitazioni 02 S Q L
 
Laboratorio Di Basi Di Dati 07 Programmazione Web Lato Server
Laboratorio Di  Basi Di  Dati 07  Programmazione  Web Lato ServerLaboratorio Di  Basi Di  Dati 07  Programmazione  Web Lato Server
Laboratorio Di Basi Di Dati 07 Programmazione Web Lato Server
 
Laboratorio Di Basi Di Dati 06 Programmazione Web Lato Client
Laboratorio Di  Basi Di  Dati 06  Programmazione  Web Lato ClientLaboratorio Di  Basi Di  Dati 06  Programmazione  Web Lato Client
Laboratorio Di Basi Di Dati 06 Programmazione Web Lato Client
 
Corso Di Basi Di Dati 10 Transazioni
Corso Di  Basi Di  Dati 10  TransazioniCorso Di  Basi Di  Dati 10  Transazioni
Corso Di Basi Di Dati 10 Transazioni
 
Laboratorio Di Basi Di Dati 04 P L S Q L E P Lpg S Q L
Laboratorio Di  Basi Di  Dati 04  P L  S Q L E  P Lpg S Q LLaboratorio Di  Basi Di  Dati 04  P L  S Q L E  P Lpg S Q L
Laboratorio Di Basi Di Dati 04 P L S Q L E P Lpg S Q L
 
Corso Di Basi Di Dati 06 Esercizi Di Progettazione Concettuale
Corso Di  Basi Di  Dati 06  Esercizi Di Progettazione ConcettualeCorso Di  Basi Di  Dati 06  Esercizi Di Progettazione Concettuale
Corso Di Basi Di Dati 06 Esercizi Di Progettazione Concettuale
 
Corso Di Basi Di Dati 03 Progettazione Concettuale
Corso Di  Basi Di  Dati 03  Progettazione ConcettualeCorso Di  Basi Di  Dati 03  Progettazione Concettuale
Corso Di Basi Di Dati 03 Progettazione Concettuale
 
Corso Di Basi Di Dati 05 Normalizzazione
Corso Di  Basi Di  Dati 05  NormalizzazioneCorso Di  Basi Di  Dati 05  Normalizzazione
Corso Di Basi Di Dati 05 Normalizzazione
 
Corso Di Basi Di Dati 04 Progettazione Logica
Corso Di  Basi Di  Dati 04  Progettazione LogicaCorso Di  Basi Di  Dati 04  Progettazione Logica
Corso Di Basi Di Dati 04 Progettazione Logica
 
Corso Di Basi Di Dati 02 S Q L D M L
Corso Di  Basi Di  Dati 02  S Q L  D M LCorso Di  Basi Di  Dati 02  S Q L  D M L
Corso Di Basi Di Dati 02 S Q L D M L
 
Esercitazioni 03 Algebra + S Q L
Esercitazioni 03  Algebra +  S Q LEsercitazioni 03  Algebra +  S Q L
Esercitazioni 03 Algebra + S Q L
 
S Q L
S Q LS Q L
S Q L
 
Esercitazioni 04 Progettazione Concettuale E Logica
Esercitazioni 04  Progettazione Concettuale E LogicaEsercitazioni 04  Progettazione Concettuale E Logica
Esercitazioni 04 Progettazione Concettuale E Logica
 
Corso Di Basi Di Dati 08 Protezione Dei Dati
Corso Di  Basi Di  Dati 08  Protezione Dei DatiCorso Di  Basi Di  Dati 08  Protezione Dei Dati
Corso Di Basi Di Dati 08 Protezione Dei Dati
 

Corso Di Basi Di Dati 01 Algebra Relazionale Ottimizzazioni

  • 1. Corso di Basi di Dati e Laboratorio ALGEBRA RELAZIONALE (trasformazione di espressioni algebriche) Prof. Silvana Castano A.A. 2005/2006 Basi di Dati e Laboratorio 1 EQUIVALENZA DI ESPRESSIONI ALGEBRICHE • L’algebra permette di formulare espressioni fra loro equivalenti (che producono lo stesso risultato) • Le interrogazioni SQL sono tradotte in algebra e si valuta il costo in termini di dimensioni dei risultati intermedi; la scelta fra varie alternative equivalenti e’ per quella a costo minore • In questo contesto vengono utilizzate delle trasformazioni di equivalenza, cioè operazioni che sostituiscono un’espressione con un’altra equivalente • Sono di interesse le trasformazioni che riducono le dimensioni dei risultati intermedi e quelle che preparatorie a ciò A.A. 2005/2006 Basi di Dati e Laboratorio 2
  • 2. REGOLE DI TRASFORMAZIONE • Atomizzazione delle selezioni σ C1 ∧ C2 (R) = σ C1 (σ C2 (R)) Una selezione congiuntiva può essere sostituita da una serie di selezioni atomiche (preliminare ad altre) • Commutatività di σ σ C1 (σ C2 (R)) = σ C2 (σ C1 (R)) • Idempotenza delle proiezioni ∏ X (R) = ∏ X (∏ XY (R)) cascata di proiezioni che eliminano i vari attributi in fasi diverse (preliminare ad altre) A.A. 2005/2006 Basi di Dati e Laboratorio 3 REGOLE DI TRASFORMAZIONE • Anticipazione della selezione rispetto al join σ C (R S) = ( σ C (R)) S la condizione C coinvolge solo attributi di R • Conversione di una sequenza (σ, X ) in un join σ C (R X S) = R CS se la condizione C corrisponde a una condizione di join. A.A. 2005/2006 Basi di Dati e Laboratorio 4
  • 3. REGOLE DI TRASFORMAZIONE • Anticipazione della proiezione rispetto al join R e S definite su X1 e X2 rispettivamente; J1 e J2 denotano rispettivamente gli attributi di R e S coinvolti nella condizione di join C; Y1= (X1 ∩ Y) e Y2= (X2 ∩ Y). Se C coinvolge solo attributi inclusi in Y (J1 ∪ J2 ⊆ Y) ∏ Y (R C S) = (∏ Y1 (R)) C (∏ Y2 ( S)) Se C coinvolge ulteriori attributi non inclusi in Y, allora ∏ Y (R C S) = ∏ Y (( ∏ Y1J1 (R)) C ( ∏ Y2J2 ( S))) In sintesi, si possono eliminare subito gli attributi di ciascuna relazione che non sono coinvolti nel join e non sono utilizzati nella lista degli attributi della proiezione. A.A. 2005/2006 Basi di Dati e Laboratorio 5 GENERAZIONE SCHEMA RELAZIONALE PRESIDENTE STATI UNITI PRESIDENTE(NomeP, DataN, DataM, Partito, NomeMoglie,NomeStato) CONGRESSO(NumCong, %S/R,%S/D,%C/R, %C/D) AMMINISTRAZIONE(NumAmm, DataIn, VicePres, NomeP, DataN) ELEZIONE(Anno, NomePerd, VotiPerd, PartitoPerd, VotiVinc, NomeP,DataN) STATO(NomeStato, #Abit, #Votanti, NumAmm) PARTECIPA(NomeP, DataN, NumCong) (N.B. le chiavi primarie sono sottolineate; le chiavi esterne hanno lo stesso nome delle corrispondenti chiavi primarie) A.A. 2005/2006 Basi di Dati e Laboratorio 6
  • 4. LINGUAGGIO DI INTERROGAZIONE • Trovare lo stato di provenienza del presidente Kennedy. – Input : Nome del presidente. – Output: Stato del presidente. Nella stessa relazione ‘PRESIDENTE’ • Input : Selezione • σ NomeP = ‘Kennedy’ (PRESIDENTE) • Output: Proiezione • ∏ NomeStato (σ NomeP = ‘Kennedy’ (PRESIDENTE) ) A.A. 2005/2006 Basi di Dati e Laboratorio 7 LINGUAGGIO DI INTERROGAZIONE Trovare gli anni in cui è stato eletto un presidente repubblicano dell’Illinois. Input : Partito e stato del presidente. Output: anno di elezione. Nella relazione ‘PRESIDENTE’ X Nella relazione ‘ELEZIONE’ ∏Anno (σ (PRESIDENTE X ELEZIONE)) (PRESIDENTE.Partito = ‘Repubblicano’ ∧ PRESIDENTE.NomeStato = ‘Illinois’ ∧ ELEZIONE.NomeP = PRESIDENTE.NomeP ∧ ELEZIONE.DataN = PRESIDENTE.DataN) A.A. 2005/2006 Basi di Dati e Laboratorio 8
  • 5. USO DI TRASFORMAZIONI • ∏ Anno (σ (PRESIDENTE X ELEZIONE)) (PRESIDENTE.Partito = ‘Repubblicano’ ∧ PRESIDENTE.NomeStato = ‘Illinois’ ∧ ELEZIONE.NomeP = PRESIDENTE.NomeP ∧ ELEZIONE.DataN = PRESIDENTE.DataN) • ∏ Anno (σ (PRESIDENTE ELEZIONE)) (PRESIDENTE.Partito = ‘Repubblicano’ ∧ PRESIDENTE.NomeStato = ‘Illinois’) A.A. 2005/2006 Basi di Dati e Laboratorio 9 USO DI TRASFORMAZIONI Spinta delle selezioni in basso ∏ Anno ((σ (PRESIDENTE ) ) ELEZIONE) PRESIDENTE.Partito = ‘Repubblicano’ ∧ PRESIDENTE.NomeStato = ‘Illinois’ Proiezione solo sugli attributi di interesse ∏ Anno ((∏ NomeP,DataN (σ (PRESIDENTE) )) PRESIDENTE.Partito = ‘Repubblicano’ ∧ PRESIDENTE.NomeStato = ‘Illinois’ (∏ NomeP,DataN,Anno (ELEZIONE))) A.A. 2005/2006 Basi di Dati e Laboratorio 10
  • 6. LINGUAGGIO DI INTERROGAZIONE Nomi di tutti i presidenti texani che sono anche vicepresidenti dopo il 1950. (∏ NomeP (σ NomeStato = ‘Texas’ (PRESIDENTE) ) ) ∩ (∏ VicePres (σ DataIn > 1950 (AMMINISTRAZIONE) ) ) A.A. 2005/2006 Basi di Dati e Laboratorio 11 LINGUAGGIO DI INTERROGAZIONE Nomi delle mogli dei presidenti provenienti dalla California eletti dopo il 1960. ∏NomeMoglie ((σ Anno > 1960 (ELEZIONE)) σ NomeStato = ‘California’ (PRESIDENTE))) A.A. 2005/2006 Basi di Dati e Laboratorio 12
  • 7. LINGUAGGIO DI INTERROGAZIONE Nomi di persone che hanno partecipato a elezioni presidenziali. (∏ NomeP (PRESIDENTE)) U (∏NomePerd (ELEZIONE)) A.A. 2005/2006 Basi di Dati e Laboratorio 13 LINGUAGGIO DI INTERROGAZIONE Data di morte del presidente dell’anno in cui la California fu ammessa negli Stati Uniti. ∏ DataM ((σ NomeStato = ‘California’ (STATO)) (AMMINISTRAZIONE) (PRESIDENTE)) A.A. 2005/2006 Basi di Dati e Laboratorio 14
  • 8. LINGUAGGIO DI INTERROGAZIONE Percentuale dei repubblicani al Senato e alla Camera dei congressi tenuti da presidenti repubblicani eletti dopo il 1945. ∏ %S/R, %C/R (CONGRESSO PARTECIPA (σ Partito = ‘Repubblicano’ (PRESIDENTE)) (σ Anno > 1945 (ELEZIONE))) A.A. 2005/2006 Basi di Dati e Laboratorio 15