Appunti Quinta
Macro-argomenti
Reti di calcolatori
Database: modello relazionale e linguaggio SQL (interrogazione)
LINK
SCHEDE RIASSUNTIVE
RETI DI CALCOLATORI
CASO DI STUDIO
ESERCIZI
DATABASE RELAZIONALI – MYSQL
TEORIA
[embeddoc url=”https://www.liceotosi.edu.it/inote/wp-content/uploads/sites/18/2019/01/00_Presentazione_database-e-mysql.ppt” download=”all” viewer=”microsoft”]
ESEMPI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
https://paiza.io/projects/epfdC47iOZFtPXrSLK4xkQ?language=mysql CREATE TABLE editori ( id_editore int(11) NOT NULL, nominativo varchar(100) NOT NULL, PRIMARY KEY (id_editore) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; INSERT INTO editori (id_editore, nominativo) VALUES (1, "rossini"), (2, "de agostini"), (3, "hoepli"), (4, "rizzardi"), (5, "rizzoli"); CREATE TABLE libri ( id_libro int(11) NOT NULL, titolo varchar(100) COLLATE utf8_unicode_ci NOT NULL, anno int(11), id_editore int(11) NOT NULL, PRIMARY KEY (id_libro), FOREIGN KEY (id_editore) REFERENCES editori (id_editore) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; INSERT INTO libri (id_libro, titolo, anno, id_editore) VALUES (1, 'ONE', 2000, 1), (2, 'BIG', 1990, 1), (3, 'X', 2000, 2), (4, 'YEAR', 1996, 3), (5, 'NEAR', 1999, 1), (6, 'RING', 2000, 2), (7, 'ROUND', 2006, 3); SELECT * FROM libri; SELECT id_libro, titolo FROM libri; SELECT id_libro, titolo FROM libri WHERE anno=2000; SELECT COUNT(*) FROM libri WHERE anno=2000; SELECT titolo FROM libri WHERE titolo LIKE "R%"; SELECT titolo FROM libri WHERE titolo LIKE "%R%"; SELECT titolo FROM libri WHERE titolo LIKE "R___"; SELECT DISTINCT nominativo FROM libri, editori WHERE editori.id_editore=libri.id_editore; SELECT nominativo FROM libri, editori WHERE editori.id_editore=libri.id_editore AND libri.titolo="ONE"; SELECT nominativo FROM editori WHERE id_editore NOT IN(SELECT DISTINCT id_editore FROM libri); SELECT id_editore, COUNT(*) FROM libri GROUP BY id_editore; SELECT nominativo, COUNT(*) FROM libri, editori WHERE editori.id_editore=libri.id_editore GROUP BY editori.id_editore ORDER BY nominativo; SELECT nominativo, COUNT(*) FROM libri, editori WHERE editori.id_editore=libri.id_editore GROUP BY editori.id_editore HAVING COUNT(*)>2; SELECT nominativo, COUNT(*) FROM libri LEFT JOIN editori ON editori.id_editore=libri.id_editore GROUP BY editori.id_editore; *************************************** CREATE TABLE editori ( id_editore int(11) NOT NULL, nominativo varchar(100) NOT NULL, PRIMARY KEY (id_editore) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; INSERT INTO editori (id_editore, nominativo) VALUES (1, "rossini"), (2, "de agostini"), (3, "hoepli"), (4, "rizzardi"), (5, "rizzoli"); CREATE TABLE libri ( id_libro int(11) NOT NULL, titolo varchar(100) COLLATE utf8_unicode_ci NOT NULL, anno int(11), id_editore int(11) NOT NULL, PRIMARY KEY (id_libro), FOREIGN KEY (id_editore) REFERENCES editori (id_editore) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; INSERT INTO libri (id_libro, titolo, anno, id_editore) VALUES (1, 'ONE', 2000, 1), (2, 'BIG', 1990, 1), (3, 'X', 2000, 2), (4, 'YEAR', 1996, 3), (5, 'NEAR', 1999, 1), (6, 'RING', 2000, 2), (7, 'ROUND', 2006, 3); CREATE TABLE autori ( id_autore int(11) NOT NULL, nome varchar(100) COLLATE utf8_unicode_ci, cognome varchar(100) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (id_autore) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; INSERT INTO autori (id_autore, nome, cognome) VALUES (1, 'Paolo', 'Rossi'), (2, '', 'Bianchi'), (3, 'Carlo', 'Rossi'), (4, 'Mario', 'Verdi'), (5, 'Anna', 'Neri'), (6, '', 'Neri'), (7, 'Luca', 'Grigi'); CREATE TABLE libri_autori ( id_libro int(11) NOT NULL, id_autore int(11) NOT NULL, PRIMARY KEY (id_libro, id_autore), FOREIGN KEY (id_autore) REFERENCES autori (id_autore), FOREIGN KEY (id_libro) REFERENCES libri (id_libro) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; INSERT INTO libri_autori (id_libro, id_autore) VALUES (1, 1), (2, 1), (2, 2), (3, 3), (3, 4), (3, 5), (4, 5), (5, 5), (6, 5), (6, 6), (7, 1); SELECT nome, cognome FROM libri, libri_autori, autori WHERE libri.id_libro=libri_autori.id_libro AND libri_autori.id_autore=autori.id_autore AND libri.titolo="X"; |
ESERCIZI