• Non ci sono risultati.

• Forma (essenziale) di una interrogazione SQL: • Funzionalità principali di SQL: Relazione = tabella con attributi (a , a , …, a ): • Linguaggio di interrogazione per basi di dati relazionali SQL

N/A
N/A
Protected

Academic year: 2021

Condividi "• Forma (essenziale) di una interrogazione SQL: • Funzionalità principali di SQL: Relazione = tabella con attributi (a , a , …, a ): • Linguaggio di interrogazione per basi di dati relazionali SQL"

Copied!
21
0
0

Testo completo

(1)

SQL

• Linguaggio di interrogazione per basi di dati relazionali

• Relazione = tabella con attributi (a

1

, a

2

, …, a

n

):

• Funzionalità principali di SQL:

Creazione delle tabelle

Interrogazione della base di dati

Modifica delle tabelle

• Forma (essenziale) di una interrogazione SQL:

a

1

a

1

… a

n

tuple (righe)

SELECT attributi FROM tabelle WHERE predicato

1.

Prodotto cartesiano delle tabelle (FROM)

2.

Selezione delle righe che soddisfano il predicato (WHERE)

3.

Proiezione sulle colonne degli attributi (SELECT)

(2)

Esempio di Interrogazione SQL

Quali docenti hanno tenuto un corso di cui Silvia ha superato l’esame ?

Laboratorio di Modellazione Virtuale II SQL - 1

studente esame voto anna analisi 28 anna fisica 27 luigi algebra 24 silvia disegno 30 silvia fisica 25 mino algebra 24 laura algebra 26

corso crediti docente

algebra 10 bianchi analisi 5 rossi disegno 5 verdi

fisica 5 viola

esami

corsi

SELECT docente FROM esami, corsi

WHERE corso = esame AND studente = 'silvia'

docente verdi

viola

2

(3)

Esempio di Interrogazione SQL (ii)

studente esame voto corso crediti docente

anna analisi 28 algebra 10 bianchi anna analisi 28 analisi 5 rossi anna analisi 28 disegno 5 verdi anna analisi 28 fisica 5 viola anna fisica 27 algebra 10 bianchi anna fisica 27 analisi 5 rossi anna fisica 27 disegno 5 verdi

anna fisica 27 fisica 5 viola

luigi algebra 24 algebra 10 bianchi luigi algebra 24 analisi 5 rossi luigi algebra 24 disegno 5 verdi luigi algebra 24 fisica 5 viola silvia disegno 30 algebra 10 bianchi silvia disegno 30 analisi 5 rossi silvia disegno 30 disegno 5 verdi silvia disegno 30 fisica 5 viola silvia fisica 25 algebra 10 bianchi silvia fisica 25 analisi 5 rossi silvia fisica 25 disegno 5 verdi silvia fisica 25 fisica 5 viola mino algebra 24 algebra 10 bianchi mino algebra 24 analisi 5 rossi mino algebra 24 disegno 5 verdi mino algebra 24 fisica 5 viola laura algebra 26 algebra 10 bianchi laura algebra 26 analisi 5 rossi laura algebra 26 disegno 5 verdi laura algebra 26 fisica 5 viola

studente esame voto corso crediti docente silvia disegno 30 disegno 5 verdi silvia fisica 25 fisica 5 viola

docente verdi viola

SELECT docente FROM esami, corsi

WHERE corso = esame AND

studente = 'silvia'

(4)

Creazione delle Tabelle

Laboratorio di Modellazione Virtuale II SQL - 1

esami studente

esame voto

corsi corso crediti docente

docenti nome dipartimento

eta

CREATE TABLE esami

( studente VARCHAR(15), esame VARCHAR(30), voto INT,

PRIMARY KEY(studente, esame)

)

CREATE TABLE corsi

( corso VARCHAR(15), crediti INT,

docente VARCHAR(15), PRIMARY KEY(corso)

)

CREATE TABLE docenti

( nome VARCHAR(15), dipartimento VARCHAR(15), eta INT,

PRIMARY KEY(nome)

)

4

CREATE TABLE nome-tabella (

nome-attributo-1 tipo-attributo-1, nome-attributo-2 tipo-attributo-2,

nome-attributo-n tipo-attributo-n,

PRIMARY KEY (lista-attributi)

)

(5)

Istanziazione delle Tabelle

esami studente

esame voto

corsi corso crediti docente

docenti nome dipartimento

eta

INSERT INTO esami (studente, esame, voto) VALUES ('anna', 'analisi', 28),

('anna', 'fisica', 27), ('luigi', 'algebra', 24), ('silvia', 'disegno', 30), ('silvia', 'fisica', 25), ('mino', 'algebra', 24), ('laura', 'algebra', 26)

INSERT INTO corsi (corso, crediti, docente) VALUES ('algebra', 10, 'bianchi'),

('analisi', 5, 'rossi'), ('disegno', 5, 'verdi'), ('fisica', 5, 'viola')

INSERT INTO docenti (nome, dipartimento, eta) VALUES ('bianchi', 'matematica', 32),

('rossi', 'matematica', 44),

('verdi', 'design', 39),

('viola', 'scienze', 54),

('neri', 'design', 36),

('gialli', 'scienze', 50)

(6)

Istanziazione delle Tabelle (ii)

Laboratorio di Modellazione Virtuale II SQL - 1

studente esame voto anna analisi 28 anna fisica 27 luigi algebra 24 silvia disegno 30 silvia fisica 25 mino algebra 24 laura algebra 26

corso crediti docente algebra 10 bianchi

analisi 5 rossi disegno 5 verdi fisica 5 viola

esami corsi docenti

nome dipartimento eta bianchi matematica 32

rossi matematica 44 verdi design 39 viola scienze 54

neri design 36

gialli scienze 50

6

(7)

Interrogazione della Base di Dati (1)

Chi sono gli studenti che hanno sostenuto l'esame di algebra?

studente laura

luigi mino studente esame voto

anna analisi 28

anna fisica 27

luigi algebra 24

silvia disegno 30

silvia fisica 25

mino algebra 24

laura algebra 26

SELECT studente FROM esami

WHERE esame = 'algebra'

(8)

Interrogazione della Base di Dati (2)

Quali esami ha sostenuto silvia?

Laboratorio di Modellazione Virtuale II SQL - 1

studente esame voto

anna analisi 28

anna fisica 27

luigi algebra 24

silvia disegno 30

silvia fisica 25

mino algebra 24

laura algebra 26

SELECT esame FROM esami

WHERE studente = 'silvia'

esame disegno

fisica

8

(9)

Interrogazione della Base di Dati (3)

Chi sono gli studenti che hanno sostenuto l'esame di analisi o quello di algebra?

studente esame voto

anna analisi 28

anna fisica 27

luigi algebra 24

silvia disegno 30

silvia fisica 25

mino algebra 24

laura algebra 26

SELECT studente FROM esami

WHERE esame = 'analisi' OR esame = 'algebra'

studente anna laura luigi mino

(10)

Interrogazione della Base di Dati (4)

Quali sono gli esami superati da almeno uno studente con il voto 30?

Laboratorio di Modellazione Virtuale II SQL - 1

studente esame voto

anna analisi 28

anna fisica 27

luigi algebra 24

silvia disegno 30

silvia fisica 25

mino algebra 24

laura algebra 26

SELECT esame FROM esami

WHERE voto = 30

esame disegno

10

(11)

Interrogazione della Base di Dati (5)

Chi sono gli studenti che hanno sostenuto un esame con voto maggiore di 27?

studente esame voto

anna analisi 28

anna fisica 27

luigi algebra 24

silvia disegno 30

silvia fisica 25

mino algebra 24

laura algebra 26

SELECT studente FROM esami

WHERE voto > 27

studente anna silvia

(12)

Interrogazione della Base di Dati (6)

Chi sono i docenti con età compresa tra 30 e 40 anni?

Laboratorio di Modellazione Virtuale II SQL - 1

SELECT nome FROM docenti

WHERE eta >= 30 AND eta <= 40

nome bianchi

verdi neri

SELECT nome FROM docenti

WHERE eta BETWEEN 30 AND 40

nome dipartimento eta

bianchi matematica 32

rossi matematica 44

verdi design 39

viola scienze 54

neri design 36

gialli scienze 50

12

(13)

Interrogazione della Base di Dati (7)

Quali sono i dipartimenti con un docente di età maggiore di 50?

SELECT dipartimento FROM docenti

WHERE eta > 50

dipartimento scienze nome dipartimento eta

bianchi matematica 32

rossi matematica 44

verdi design 39

viola scienze 54

neri design 36

gialli scienze 50

(14)

Interrogazione della Base di Dati (8)

Indicare i docenti del dipartimento di design, e la loro età

Laboratorio di Modellazione Virtuale II SQL - 1

SELECT nome, eta FROM docenti

WHERE dipartimento = 'design'

nome dipartimento eta

bianchi matematica 32

rossi matematica 44

verdi design 39

viola scienze 54

neri design 36

gialli scienze 50

nome eta

verdi 39

neri 36

14

(15)

Interrogazione della Base di Dati (9)

Quali sono i corsi afferenti al dipartimento di matematica?

SELECT corso

FROM corsi, docenti

WHERE docente = nome AND

dipartimento = 'matematica'

nome dipartimento eta

bianchi matematica 32

rossi matematica 44

verdi design 39

viola scienze 54

neri design 36

gialli scienze 50

corso algebra

analisi corso crediti docente

algebra 10 bianchi

analisi 5 rossi

disegno 5 verdi

fisica 5 viola

(16)

Interrogazione della Base di Dati (10)

Quanti anni ha il docente di disegno?

Laboratorio di Modellazione Virtuale II SQL - 1

SELECT eta

FROM corsi, docenti

WHERE docente = nome AND corso = 'disegno'

nome dipartimento eta

bianchi matematica 32

rossi matematica 44

verdi design 39

viola scienze 54

neri design 36

gialli scienze 50

eta 39 corso crediti docente

algebra 10 bianchi

analisi 5 rossi

disegno 5 verdi

fisica 5 viola

16

(17)

Interrogazione della Base di Dati (11)

Quali sono i dipartimenti cui afferisce un corso di 10 crediti?

SELECT dipartimento FROM corsi, docenti

WHERE docente = nome AND crediti = 10

nome dipartimento eta

bianchi matematica 32

rossi matematica 44

verdi design 39

viola scienze 54

neri design 36

gialli scienze 50

dipartimento matematica corso crediti docente

algebra 10 bianchi

analisi 5 rossi

disegno 5 verdi

fisica 5 viola

(18)

Interrogazione della Base di Dati (12)

Chi sono gli studenti che hanno sostenuto un esame afferente al dip. di scienze?

Laboratorio di Modellazione Virtuale II SQL - 1 18

SELECT studente

FROM esami, corsi, docenti WHERE esame = corso AND docente = nome AND

dipartimento = 'scienze'

nome dipartimento eta

bianchi matematica 32

rossi matematica 44

verdi design 39

viola scienze 54

neri design 36

gialli scienze 50

studente anna silvia corso crediti docente

algebra 10 bianchi

analisi 5 rossi

disegno 5 verdi

fisica 5 viola

studente esame voto

anna analisi 28

anna fisica 27

luigi algebra 24

silvia disegno 30

silvia fisica 25

mino algebra 24

laura algebra 26

(19)

Interrogazione della Base di Dati (13)

Quali sono i dip. cui afferiscono corsi di cui silvia ha sostenuto qualche esame?

SELECT dipartimento

FROM esami, corsi, docenti WHERE esame = corso AND docente = nome AND studente = 'silvia'

nome dipartimento eta

bianchi matematica 32

rossi matematica 44

verdi design 39

viola scienze 54

neri design 36

gialli scienze 50

dipartimento design scienze corso crediti docente

algebra 10 bianchi

analisi 5 rossi

disegno 5 verdi

fisica 5 viola

studente esame voto

anna analisi 28

anna fisica 27

luigi algebra 24

silvia disegno 30

silvia fisica 25

mino algebra 24

laura algebra 26

(20)

Interrogazione della Base di Dati (14)

Chi sono e quanti anni hanno i docenti relativi ad esami superati con voto > 27 ?

Laboratorio di Modellazione Virtuale II SQL - 1 20

SELECT nome, eta

FROM esami, corsi, docenti WHERE esame = corso AND docente = nome AND voto > 27

nome dipartimento eta

bianchi matematica 32

rossi matematica 44

verdi design 39

viola scienze 54

neri design 36

gialli scienze 50

corso crediti docente

algebra 10 bianchi

analisi 5 rossi

disegno 5 verdi

fisica 5 viola

studente esame voto

anna analisi 28

anna fisica 27

luigi algebra 24

silvia disegno 30

silvia fisica 25

mino algebra 24

laura algebra 26 nome eta

rossi 44 verdi 39

(21)

Interrogazione della Base di Dati (15)

Quali sono i voti degli esami relativi a docenti con più di 50 anni?

SELECT voto

FROM esami, corsi, docenti WHERE esame = corso AND docente = nome AND eta > 50

nome dipartimento eta

bianchi matematica 32

rossi matematica 44

verdi design 39

viola scienze 54

neri design 36

gialli scienze 50

corso crediti docente

algebra 10 bianchi

analisi 5 rossi

disegno 5 verdi

fisica 5 viola

studente esame voto

anna analisi 28

anna fisica 27

luigi algebra 24

silvia disegno 30

silvia fisica 25

mino algebra 24

laura algebra 26 voto

27 25

Riferimenti

Documenti correlati

Al fine di elucidare meglio le posizioni di Anna in merito all’idea di cittadinanza femminile e al diritto di voto, cercherò di riassumere le principali tesi da lei sostenute negli

Definizione di funzione di una variabile reale: grafico di una funzione, funzioni matematiche elementari, funzioni simmetriche, funzioni periodiche; composizione

(c) Trovare il nome del meccanico e il numero totale di riparazioni del meccanico che ha effeJuato più riparazioni totali tra quelli che hanno effeJuato almeno una riparazione di

[r]

Researchers interested in studying ‘areas of pressing concern’ 1 can certainly empathise with the reluctance to stop the analysis, which transpires from the

Amministr Via Vai Milano Prod P.le Lavater 3 Torino Distrib Via Segre 9 Roma Direzione Via Vai 2 Milano Ricerca Via Morone 6 Milano Dipartimento(Nome, Indirizzo,

8- Per ciascun museo di Londra, il numero di opere di artisti italiani ivi conservate 9- Il codice ed il nome dei musei di Londra che non conservano opere di Tiziano Vecellio 10-

Le autrici sono partite da un in- terrogativo molto generale, ciascuna articolandolo diversamente e adattan- dolo alla dimensione politica e sociale prescelta: quali