Esempio didattico Mysql: Galleria di quadri (Classe IV A Mercurio)

Schema E/R

Schema relazionale





PITTORI(NomePittore, Genere)
QUADRI(Titolo, Autore, Altezza, Larghezza)




Schema relazionale esteso



CREARE LE TABELLE



CREATE TABLE PITTORI
(
  NomePittore CHAR(30) not null,
  Genere      CHAR(20),

  primary key(NomePittore)
);

CREATE TABLE QUADRI
(
  Titolo    CHAR(40) not null,
  Autore    CHAR(30) not null,
  Altezza   DECIMAL(5, 2),
  Larghezza DECIMAL(5, 2),

  primary key(Titolo, Autore)
);

Inserire i dati

INSERT INTO PITTORI VALUES ("Rossi",   "paesaggista");
INSERT INTO PITTORI VALUES ("Bianchi", "ritrattista");
INSERT INTO PITTORI VALUES ("Verdi",   "paesaggista");
INSERT INTO QUADRI  VALUES ("Tramonto", "Rossi",   1.20, 2.40);
INSERT INTO QUADRI  VALUES ("Tramonto", "Verdi",   1.20, 2.40);
INSERT INTO QUADRI  VALUES ("Egitto",   "Verdi",   0.60, 0.60);
INSERT INTO QUADRI  VALUES ("Andrea",   "Bianchi", 0.60, 0.40);

Aumentare di 10 cm le misure dei quadri di Verdi

UPDATE QUADRI
SET Larghezza=Larghezza+0.10, Altezza=Altezza+0.10
WHERE (Autore = "Verdi");

Cancellare i quadri di Verdi

DELETE *
FROM QUADRI
WHERE (Autore = "Verdi");

Query

Elencare tutti i quadri





SELECT *
FROM QUADRI;

Elencare tutti i quadri del pittore Verdi

SELECT *
FROM QUADRI
WHERE (Autore = "Verdi");

Elencare tutti i titoli dei quadri presenti

SELECT Titolo
FROM QUADRI;

Elencare i quadri di forma quadrata, con la loro superficie

SELECT QUADRI.*, Altezza*Larghezza AS Superficie
FROM QUADRI
WHERE (Altezza = Larghezza);

Elencare tutti i quadri di pittori del genere paesaggista

SELECT QUADRI.*
FROM QUADRI, PITTORI
WHERE (NomePittore = Autore) AND
  (Genere = "paesaggista");

SELECT QUADRI.*
FROM QUADRI INNER JOIN PITTORI ON QUADRI.NomePittore=PITTORI.Autore
WHERE (Genere = "paesaggista");

Quanti quadri ha fatto ciascun pittore?

SELECT Autore, Count(*)
FROM QUADRI
GROUP BY Autore;

fonte didattica: http://www.valentinocondoluci.it


 

Commenti

Post popolari in questo blog

Simulazioni di reti (con Cisco Packet Tracer)

Esercizi sulla rappresentazione della virgola mobile IEEE 754 (Floating Point)