· 4 years ago · Jan 07, 2021, 08:16 PM
1drop schema if exists negozi;
2create schema negozi;
3use negozi;
4-- tabelle
5create table Prodotto(
6 id_prodotto char(1)primary key,
7 nome varchar(20),
8 categoria varchar(20),
9 prezzo numeric(5,2)
10);
11create table Negozio(
12 id_negozio char(1)primary key,
13 nome varchar(20)
14);
15create table Vendita(
16 prodotto char(1),
17 negozio char(1),
18 _data char(10),
19 quantita int(2),
20 primary key(prodotto,negozio,_data),
21 foreign key(prodotto) references Prodotto(id_prodotto),
22 foreign key(negozio) references Negozio(id_negozio)
23);
24-- inserimenti di prodotto
25insert into Prodotto(id_prodotto,nome,categoria,prezzo)
26values('1',"Maglione","Abbigliamento",22.99);
27insert into Prodotto(id_prodotto,nome,categoria,prezzo)
28values('2',"Scarpe","Abbigliamento",50.40);
29insert into Prodotto(id_prodotto,nome,categoria,prezzo)
30values('3',"Cintura","Abbigliamento",10.00);
31insert into Prodotto(id_prodotto,nome,categoria,prezzo)
32values('4',"Decoder","Elettronica",100.00);
33insert into Prodotto(id_prodotto,nome,categoria,prezzo)
34values('5',"Stampante","Elettronica",80.50);
35insert into Prodotto(id_prodotto,nome,categoria,prezzo)
36values('6',"Monitor","Elettronica",208.50);
37-- inserimenti di negozio
38insert into Negozio(id_negozio,nome) values('1',"Gigastore");
39insert into Negozio(id_negozio,nome) values('2',"Fitness Boutique");
40insert into Negozio(id_negozio,nome) values('3',"MediaWorld");
41-- inserimenti di vendita
42insert into Vendita(prodotto,negozio,_data,quantita) values('1','1','1/1/2016',1);
43insert into Vendita(prodotto,negozio,_data,quantita) values('1','2','1/1/2016',2);
44insert into Vendita(prodotto,negozio,_data,quantita) values('2','1','1/1/2016',5);
45insert into Vendita(prodotto,negozio,_data,quantita) values('2','2','5/2/2016',1);
46insert into Vendita(prodotto,negozio,_data,quantita) values('2','2','4/2/2016',10);
47insert into Vendita(prodotto,negozio,_data,quantita) values('3','1','6/2/2016',5);
48insert into Vendita(prodotto,negozio,_data,quantita) values('3','2','6/3/2016',1);
49insert into Vendita(prodotto,negozio,_data,quantita) values('3','1','10/4/2016',10);
50insert into Vendita(prodotto,negozio,_data,quantita) values('4','2','4/10/2016',20);
51insert into Vendita(prodotto,negozio,_data,quantita) values('4','2','10/11/2016',50);
52insert into Vendita(prodotto,negozio,_data,quantita) values('4','2','11/12/2016',1);
53insert into Vendita(prodotto,negozio,_data,quantita) values('2','1','10/7/2017',25);
54insert into Vendita(prodotto,negozio,_data,quantita) values('5','2','10/7/2017',10);
55-- modifiche
56alter table Negozio add column NroAddetti int(3);
57alter table Negozio add column Citta varchar(10);
58update Negozio set NroAddetti=10 where id_negozio='1';
59update Negozio set NroAddetti=10 where id_negozio='2';
60update Negozio set NroAddetti=10 where id_negozio='3';
61
62update Negozio set Citta="Milano" where id_negozio='1';
63update Negozio set Citta="Roma" where id_negozio='2';
64update Negozio set Citta="Bari" where id_negozio='3';
65
66update Negozio set NroAddetti=NroAddetti+10 where Citta="Milano"or Citta="Roma";
67alter table Negozio add unique(nome,Citta);
68
69-- interrogazioni
70-- q1
71select Prodotto.nome,Prodotto.prezzo from Prodotto
72where Prodotto.categoria="Abbigliamento" order by Prodotto.nome asc;
73
74-- q2
75select Prodotto.nome as NomeProdotto,Negozio.nome as NegozioNome
76from Prodotto,Vendita,Negozio
77where Prodotto.id_prodotto=Vendita.prodotto and Vendita.negozio=Negozio.id_negozio;
78
79-- q3
80select sum(Prodotto.prezzo) from Prodotto,Vendita
81where Prodotto.id_prodotto=Vendita.prodotto and _data like '%2016';
82
83-- q4
84select Prodotto.nome as nomeProdotto from Prodotto,Vendita
85where Prodotto.id_prodotto not in (select prodotto from Vendita) group by Prodotto.nome;
86
87-- q5
88select Prodotto.nome,Vendita._data from Prodotto,Vendita
89where Prodotto.id_prodotto=Vendita.prodotto and _data like '%/2_2016';