−Indice
Esercitazione 7, 19 maggio 2009 COMUNICAZIONI PROGETTO FINALE
CONSEGNA DESCRIZIONE Progetto finale Esercizio 1 Esercizio 2 Esercizio 3
Esercizio 4 (Solo per chi deve recuperare CFU)
Esercitazione 7, 19 maggio 2009
COMUNICAZIONI
DOMANI 20 maggio 2009 RECUPERO ORE 9-11 AULA H Discutere su consegna, criteri di valutazione
PROGETTO FINALE
CONSEGNA
Appelli nella sessione estiva (date entro le quali consegnare l'elaborato):
31 maggio, 10 giugno, 30 giugno, 15 luglio.
DESCRIZIONE
Esercizi/Quesiti richiesti per chi sostiene l'esame "normale"
1. Gli esercizi 1, 2 e 3 sono obbligatori.
2. Nell'esercizio 2:
▪ Parte A: A1, A2, A3 obbligatori.
▪ Parte B: B3 obbligatorio, almeno uno (a scelta) tra B1 e B2.
▪ Parte C: almeno uno (a scelta) tra i tre.
3. Nell'esercizio 3:
▪ Il quesito T1 e` obbligatorio.
▪ Almeno uno (a scelta) tra T2 e T3.
Esercizi/Quesiti richiesti per chi sostiene l'esame recuperando CFU 1. Gli esercizi 1, 2 e 3, 4 sono obbligatori.
2. Esercizio 2:
▪ Parte A: A1, A2, A3 obbligatori.
▪ Parte B: B1, B2, B3 obbligatori.
▪ Parte C: C1, C2, C3 obbligatori.
3. Esercizio 3:
▪ Il quesito T1 e` obbligatorio.
▪ Almeno uno (a scelta) tra T2 e T3.
4. Esercizio 4:
▪ Quesito D1, obbligatorio.
Progetto finale
A partire dalle tabelle create come indicato qui di seguito:
CREATE TABLE Libro ( isbn integer PRIMARY KEY, titolo varchar(150) NOT NULL, id_ed integer NOT NULL, anno integer NOT NULL,
prezzo numeric(6,2) NOT NULL CHECK(prezzo > 0), num_pag integer NOT NULL CHECK(num_pag > 0), FOREIGN KEY (id_ed) REFERENCES Editore(ID) );
CREATE TABLE Editore ( id integer PRIMARY KEY, nome varchar(100) NOT NULL, citta varchar(100) NOT NULL, nazione varchar(100) NOT NULL );
CREATE TABLE Autore ( id integer PRIMARY KEY, nome varchar(100) NOT NULL, cognome varchar(100) NOT NULL, anno_nascita integer NOT NULL );
CREATE TABLE AutoriLibri ( id_aut integer NOT NULL, isbn integer NOT NULL, PRIMARY KEY (isbn, id_aut),
FOREIGN KEY (isbn) REFERENCES Libro(isbn), FOREIGN KEY (id_aut) REFERENCES Autore(id) );
CREATE TABLE Cliente ( id integer PRIMARY KEY, nome varchar(100) NOT NULL, cognome varchar(100) NOT NULL,
anno_nascita integer CHECK (anno_nascita >= 1880), residenza varchar(100) NOT NULL
);
CREATE TABLE Acquisto ( id integer PRIMARY KEY, id_cl integer NOT NULL, isbn integer NOT NULL,
FOREIGN KEY (id_cl) REFERENCES Cliente(id), FOREIGN KEY(isbn) REFERENCES Libro(isbn) );
CREATE TABLE giudizio ( id_cl integer NOT NULL, isbn integer NOT NULL,
voto integer NOT NULL CHECK(voto >= 1 AND voto <=5), PRIMARY KEY (id_cl, isbn),
FOREIGN KEY (id_cl) REFERENCES Cliente(id), FOREIGN KEY (isbn) REFERENCES Libro(isbn)
INSERT INTO Editore VALUES (1, 'Mondadori', 'Segrate', 'Italia');
INSERT INTO Editore VALUES (2, 'Bompiani', 'Milano', 'Italia');
INSERT INTO Editore VALUES (3, 'Adelphi', 'Milano', 'Italia');
INSERT INTO Editore VALUES (4, 'Franco Angeli', 'Milano', 'Italia');
INSERT INTO Editore VALUES (5, 'Amphoto Books', 'New York', 'USA');
INSERT INTO Editore VALUES (6, 'Penguin Press', 'New York', 'USA');
INSERT INTO Editore VALUES (7, 'North Light Books', 'Fairfield', 'USA');
INSERT INTO Editore VALUES (8, 'Bantam Books', 'Unknown', 'USA');
INSERT INTO Editore VALUES (9, 'Zanichelli', 'Bologna', 'Italia');
INSERT INTO Editore VALUES (10, 'Pearson Education Italia', ' ', 'Italia');
INSERT INTO Editore VALUES (11, 'Rizzoli', 'Milano', 'Italia');
INSERT INTO Editore VALUES (12, 'NAL Trade', 'New York', 'USA');
INSERT INTO Cliente VALUES (1000, 'Mario', 'Rossi', 1975, 'Pisa');
INSERT INTO Cliente VALUES (1001, 'Carla', 'Gialli', 1980, 'Roma');
INSERT INTO Cliente VALUES (1002, 'Maria', 'Verdi', 1960, 'Milano');
INSERT INTO Cliente VALUES (1003, 'Ciro', 'Neri', 1990, 'Napoli');
INSERT INTO Cliente VALUES (1004, 'Marco', 'Celesti', 1950, 'Pisa');
INSERT INTO Cliente VALUES (1005, 'Giulia', 'Azzurri', 1978, 'Roma');
INSERT INTO Cliente VALUES (1006, 'Antonio', 'Grigi', 1975, 'Roma');
INSERT INTO Acquisto VALUES (9, 1000, 1);
INSERT INTO Acquisto VALUES (10, 1000, 1);
INSERT INTO Giudizio VALUES (1000,1,3);
INSERT INTO Acquisto VALUES (11, 1000, 2);
INSERT INTO Giudizio VALUES (1000, 2, 2);
INSERT INTO Acquisto VALUES (12, 1000, 3);
INSERT INTO Giudizio VALUES (1000, 3, 4);
INSERT INTO Acquisto VALUES (13, 1000, 4);
INSERT INTO Giudizio VALUES (1000, 4, 5);
INSERT INTO Acquisto VALUES (141, 1001, 5);
INSERT INTO Acquisto VALUES (14, 1001, 5);
INSERT INTO Acquisto VALUES (15, 1001, 6);
INSERT INTO Acquisto VALUES (16, 1001, 7);
INSERT INTO Acquisto VALUES (17, 1002, 7);
INSERT INTO Giudizio VALUES(1002, 7, 5);
INSERT INTO Acquisto VALUES (18, 1002, 8);
INSERT INTO Acquisto VALUES (19, 1002, 9);
INSERT INTO Giudizio VALUES(1002, 9, 3);
INSERT INTO Acquisto VALUES (20, 1006, 10);
INSERT INTO Giudizio VALUES(1006, 10, 3);
INSERT INTO Acquisto VALUES (21, 1006, 12);
INSERT INTO Giudizio VALUES(1006, 12, 2);
INSERT INTO Acquisto VALUES (22, 1006, 13);
INSERT INTO Giudizio VALUES(1006, 13, 3);
INSERT INTO Acquisto VALUES (23, 1003, 17);
INSERT INTO Giudizio VALUES(1003, 17, 5);
INSERT INTO Acquisto VALUES (24, 1003, 18);
INSERT INTO Giudizio VALUES(1003, 18, 5);
INSERT INTO Acquisto VALUES (25, 1003, 19);
INSERT INTO Giudizio VALUES(1003, 19, 5);
INSERT INTO Acquisto VALUES (26, 1003, 24);
INSERT INTO Giudizio VALUES(1003, 24, 5);
INSERT INTO Acquisto VALUES (27, 1004, 20);
INSERT INTO Giudizio VALUES(1004, 20, 1);
INSERT INTO Acquisto VALUES (28, 1004, 21);
INSERT INTO Giudizio VALUES(1004, 21, 1);
INSERT INTO Acquisto VALUES (29, 1004, 22);
INSERT INTO Giudizio VALUES(1004, 22, 2);
INSERT INTO Acquisto VALUES (30, 1004, 23);
INSERT INTO Giudizio VALUES(1004, 23, 4);
INSERT INTO Acquisto VALUES (31, 1005, 6);
INSERT INTO Giudizio VALUES(1005, 6, 1);
INSERT INTO Acquisto VALUES (32, 1005, 7);
INSERT INTO Giudizio VALUES(1005, 7, 1);
INSERT INTO Acquisto VALUES (33, 1005, 8);
INSERT INTO Giudizio VALUES(1005, 8, 1);
INSERT INTO Acquisto VALUES (34, 1005, 19);
INSERT INTO Giudizio VALUES(1005, 19, 1);
Formulare le query che restituiscono le seguenti tabelle (NB: non piu` o meno le stesse tabelle… esattamente le stesse tabelle) T1
Nome Cognome Titolo NomeEdit Citta Nazione
Bryan Peterson Understanding exposure Amphoto Books New York USA Bryan Peterson Understanding shutter speed Amphoto Books New York USA
Bryan Burrough The big rich Penguin Press New York USA
Bryan Peterson Design Basics for Creative Results North Light Books Fairfield USA Frederick Forsyth The Odessa file Bantam Books Unknown USA Ken Follett The pillars of the Earth NAL Trade New York USA
Ken Follett World without end NAL Trade New York USA
T2
Nome Citta Nazione Numero Libri Bompiani Milano Italia 2 Amphoto Books New York USA 2
Rizzoli Milano Italia 2
NAL Trade New York USA 2
Adelphi Milano Italia 3
Mondadori Segrate Italia 7 T3
Cognome Editore Numero Libri
Albano Pearson Education Italia 1
Albano Zanichelli 1
Asimov Bompiani 2
Asimov Mondadori 3
Burrough Penguin Press 1
Follett Mondadori 2
Follett NAL Trade 2
Forsyth Bantam Books 1
Forsyth Franco Angeli 1
Forsyth Mondadori 2
Ghelli Zanichelli 1
Hesse Adelphi 1
Kundera Adelphi 2
Orsini Zanichelli 1
Peterson Amphoto Books 2 Peterson North Light Books 1
Rizzo Rizzoli 2
Silverberg Bompiani 1
Stella Rizzoli 2