· 7 years ago · Feb 01, 2019, 08:32 AM
1CREATE DATABASE IF NOT EXISTS Film;
2
3CREATE TABLE Attori(
4id_attore VARCHAR(50) NOT NULL,
5nominativo VARCHAR(50) NOT NULL,
6nazionalita VARCHAR(40) NOT NULL,
7sesso CHAR(1) NOT NULL,
8data_nascita DATE NOT NULL,
9note VARCHAR(200) NOT NULL,
10CONSTRAINT ChiavePrimaria PRIMARY KEY(id_attore)
11);
12
13
14CREATE TABLE Genere(
15id_genere VARCHAR(50) NOT NULL,
16descrizione VARCHAR(200) NOT NULL,
17CONSTRAINT ChiavePrimaria PRIMARY KEY(id_genere)
18);
19
20CREATE TABLE Premi(
21id_premio VARCHAR(50) NOT NULL,
22descrizione VARCHAR(200) NOT NULL,
23manifestazione VARCHAR(200) NOT NULL,
24CONSTRAINT ChiavePrimaria PRIMARY KEY(id_premio)
25);
26
27CREATE TABLE Musicisti(
28id_musicista VARCHAR(50) NOT NULL,
29nominativo VARCHAR(50) NOT NULL,
30nazionalita VARCHAR(25) NOT NULL,
31data_nascita DATE NOT NULL,
32sesso CHAR(1) NOT NULL,
33note VARCHAR(200) NOT NULL,
34CONSTRAINT ChiavePrimaria PRIMARY KEY(id_musicista)
35);
36
37CREATE TABLE Film(
38id_film VARCHAR(50) NOT NULL,
39titolo VARCHAR(50) NOT NULL,
40anno YEAR NOT NULL,
41regista VARCHAR(50) NOT NULL,
42nazionalita VARCHAR(50) NOT NULL,
43produzione VARCHAR(50) NOT NULL,
44distribuzione VARCHAR(50) NOT NULL,
45durata VARCHAR(50) NOT NULL,
46colore VARCHAR(50) NOT NULL,
47trama VARCHAR(50) NOT NULL,
48valutazione VARCHAR(50) NOT NULL,
49id_genere VARCHAR(50) NOT NULL,
50note VARCHAR(200) NOT NULL,
51CONSTRAINT ChiavePrimaria PRIMARY KEY(id_film)
52);
53
54CREATE TABLE Recita_In(
55id_recitain VARCHAR(50) NOT NULL,
56personaggio VARCHAR(50) NOT NULL,
57valutazione VARCHAR(25) NOT NULL,
58id_attore VARCHAR(50) NOT NULL,
59id_film VARCHAR(50) NOT NULL,
60CONSTRAINT ChiavePrimaria PRIMARY KEY(id_recitain),
61CONSTRAINT CHIAVE2 FOREIGN KEY (id_attore)
62REFERENCES Attori(id_attore),
63CONSTRAINT CHIAVE3 FOREIGN KEY (id_film)
64REFERENCES Film(id_film)
65);
66
67CREATE TABLE Colonne_Sonore(
68id_musicista VARCHAR(50) NOT NULL,
69id_film VARCHAR(50) NOT NULL,
70valutazione VARCHAR(25) NOT NULL,
71brano VARCHAR(50) NOT NULL,
72id_colonnesonore VARCHAR(50) NOT NULL,
73CONSTRAINT ChiavePrimaria PRIMARY KEY(id_colonnesonore),
74CONSTRAINT CHIAVE21 FOREIGN KEY (id_film)
75REFERENCES Film(id_film),
76CONSTRAINT CHIAVE31 FOREIGN KEY (id_musicista)
77REFERENCES Musicisti(id_musicista)
78);
79
80CREATE TABLE Ha_Vinto(
81id_premio VARCHAR(50) NOT NULL,
82id_film VARCHAR(50) NOT NULL,
83valutazione VARCHAR(25) NOT NULL,
84brano VARCHAR(50) NOT NULL,
85id_havinto VARCHAR(50) NOT NULL,
86CONSTRAINT ChiavePrimaria PRIMARY KEY(id_havinto),
87CONSTRAINT CHIAVE232 FOREIGN KEY (id_film)
88REFERENCES Film(id_film),
89CONSTRAINT CHIAVE43 FOREIGN KEY (id_premio)
90REFERENCES Premi(id_premio)
91);
92
93QUERY
94
95SELECT film.titolo,COUNT(ha_vinto.id_premio)
96FROM film,ha_vinto,premi
97WHERE film.id_film=ha_vinto.id_film AND premi.id_premio=ha_vinto.id_premio and ha_vinto.anno='2010'
98GROUP BY film.titolo
99---------------------------------------------------------------------------------------------------------------
100SELECT film.titolo
101FROM film,recita_in,attori
102WHERE film.id_film=recita_in.id_film AND recita_in.id_attore=attori.id_attore AND attori.nominativo="Brad Pitt"
103ORDER BY film.anno
104---------------------------------------------------------------------------------------------------------------
105SELECT DISTINCT Film.titolo
106FROM fILM,colonne_sonore,musicisti,ha_vinto,premi
107WHERE musicisti.nazionalita="Italiana" AND musicisti.id_musicista=colonne_sonore.id_musicista AND
108colonne_sonore.id_film=film.id_film AND film.id_film=ha_vinto.id_film AND ha_vinto.id_premio=premi.id_premio
109---------------------------------------------------------------------------------------------------------------
110SELECT DISTINCT attori.id_attore,COUNT(film.id_film)
111FROM film,recita_in,attori
112WHERE attori.id_attore=recita_in.id_attore AND recita_in.id_film=film.id_film
113GROUP BY attori.id_attore
114---------------------------------------------------------------------------------------------------------------
115SELECT COUNT(*),film.nazionalita
116FROM attori,recita_in,film,ha_vinto,premi
117WHERE attori.id_attore=recita_in.id_attore AND film.id_film=recita_in.id_film AND film.id_film=ha_vinto.id_film AND premi.id_premio=ha_vinto.id_premio AND premi.descrizione="Oscar" AND ha_vinto.anno IN ('2000','2001')
118GROUP BY film.nazionalita
119---------------------------------------------------------------------------------------------------------------
120SELECT COUNT(*), attori.id_attore
121FROM attori,recita_in,film
122WHERE attori.id_attore=recita_in.id_attore AND recita_in.id_film=film.id_film AND attori.sesso="F" AND film.anno-YEAR(attori.data_nascita) <'18'
123GROUP BY attori.id_attore
124---------------------------------------------------------------------------------------------------------------
125SELECT DISTINCT musicisti.id_musicista,musicisti.nominativo
126FROM musicisti,colonne_sonore,film,genere,ha_vinto,premi
127WHERE musicisti.id_musicista=colonne_sonore.id_musicista AND colonne_sonore.id_film=film.id_film AND genere.id_genere=film.id_genere
128AND genere.descrizione="Commedia" AND film.id_film=ha_vinto.id_film AND ha_vinto.id_premio=premi.id_premio
129---------------------------------------------------------------------------------------------------------------