Errata Corrige dell edizione 2007

Documenti analoghi
PROVA SCRITTA DI TECNOLOGIA DATABASE 02/12/2004 Corso di Laurea Specialistica in Ingegneria Informatica - NOD PROF.

Modello Relazionale. Chiavi

PROVA SCRITTA DI TECNOLOGIA DATABASE 14/12/2005 Corso di Laurea Specialistica in Ingegneria Informatica - NOD PROF.

Basi di Dati Corso di Laura in Informatica Umanistica

Progettazione logica: criteri di ottimizzazione

Soluzione prova scritta di basi di dati del 30 Settembre 2002

Progettazione concettuale usando il modello Entità-Relazione (ER)

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni

Progettazione logica: criteri di ottimizzazione

INTRODUZIONE AL 2 TEST IN ITINERE. a.a

ESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLASSE IL 25 MAGGIO 2011)

LA PROGETTAZIONE LOGICA

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 6 MARZO 2015 Tempo: 2h30m

Unità 3. Modello Relazionale

ESAME di INFORMATICA e ARCHIVIAZIONE

Concettuale. Giuseppe Amato

PROGETTO LOGICO RELAZIONALE. progetto logico relazionale 1

IL MODELLO RELAZIONALE

Basi di dati I 28 gennaio 2014 Compito A Tempo a disposizione: un ora e quarantacinque minuti.

Prova Scritta di Basi di Dati

ESERCIZIO DEL 25 MAGGIO -

IL MODELLO RELAZIONALE

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola:

Lezione 4. Dallo schema ER al relazionale

La gestione delle interrogazioni

Esercizi di Informatica Documentale

Esercitazione 4: Trigger in DB2

Basi di dati: appello 14/07/06

Sommario. Introduzione... 13

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la gestione di un sito di blog.

ESERCITAZIONE: Fornitore-Fornisce-Articolo

Basi di dati I 19 settembre 2016 Tempo a disposizione: un ora e 45 minuti.

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica

Prefazione. Parte Prima Basi di dati relazionali: modello e linguaggi 15

PROVA SCRITTA DI TECNOLOGIA DATABASE 05/12/2003 Corso di Laurea Specialistica in Ingegneria Informatica - NOD PROF.

REGISTRO DELLE LEZIONI

Linguaggio SQL: fondamenti

Manuale SQL. Manuale SQL - 1 -

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

Progettazione Logica. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Elena Baralis 2007 Politecnico di Torino 1

Esercitazione ER e Algebra Relazionale

SQL - Structured Query Language

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

Elena Baralis 2013 Politecnico di Torino 1

B a s i d i D a t i ( M o d u l o T e o r i a ) P r o v a s c r i t t a

Basi di dati: appello 04/07/06

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione

Basi di dati I 14 febbraio 2019 Compito A Tempo a disposizione: un ora e quindici minuti per la prova breve, due ore per la prova lunga

IPOTESI con riferimento al testo proposto come simulazione in preparazione all Esame di Stato 2015

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati. Esercitazione SQL. 18 maggio 2007

Basi di dati I 22 settembre 2014 Tempo a disposizione: un ora e trenta minuti.

PRODOTTO CARTESIANO Caso Generale

Laboratorio di Basi di Dati Esercizio 8.4/9.1

Basi di dati I Prova di autovalutazione 30 ottobre 2014

Basi di dati Soluzione per l appello del

Basi di Dati Corso di Laura in Informatica Umanistica

Primo Compitino di Basi di Dati

Esame di Basi di Dati

Laboratorio di Basi di Dati

PROGETTO LOGICO DA SCHEMI E/R. progetto logico da E/R 1

PROGETTAZIONE DI DATABASE Linguaggio SQL

Basi di Dati. Esercitazione SQL. 17 novembre 2011

Schema Del DB Operazionale TELEFONATE

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006

Viene richiesto di MIN CARD(S,E) = 1 UPDATE DELETE MAX CARD(S,E) = 3 INSERT UPDATE

Basi di Dati: Corso di laboratorio

Corso di Informatica Medica

Basi di Dati: Elementi

Basi di Dati: Corso di laboratorio

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m

Esercitazione Simulazione Compito

Basi di Dati. SOLUZIONE della Prova Scritta del 12 Gennaio 2007

Persona(CodiceFiscale, Cognome, Nome, DataDiNascita, LuogoDiNascita, Indirizzo)

La progettazione concettuale

Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data

Versione 1.0. (DB Visite Specialistiche)

Basi di Dati: Corso di laboratorio

ESAME di INFORMATICA e ARCHIVIAZIONE

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

SQL: definizione schema

ESEMPIO TELEFONATE. Esempio di progettazione con indicazioni per lo svolgimento della Tesina. DIAGRAMMA RELAZIONALE

Database 2 a puntata. Pablo Genova I. I. S. Angelo Omodeo Mortara Indirizzo Tecnico-Economico A. S.

Esercitazione 7 Correzione della prova di autovalutazione

Basi di dati Modelli e linguaggi di interrogazione

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

REGISTRO DELLE LEZIONI

Basi di dati: appello 28/02/06

Caratteristiche dei linguaggi per Database

Basi di dati Appello del Compito A

Prova del 14/09/09. Considerare la seguente descrizione di un campeggio:

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

Transcript:

Errata Corrige dell edizione 2007 Aggiornata al 30/03/2011 pag 11 ASSOCIAZIONI card(studente,esame)=(0,n) pag 17 IDENTIFICATORI Un identificatore di un entità E è una collezione di attributi e/o di entità in associazione con E che individua in modo univoco tutte le istanze di E. pag 18 Identificatori per l entità DETTAGLIO ORDINE L entità DETTAGLIO ORDINE è identificata da DISTINTA ORDINE insieme a PRODOTTO oppure da NUMERO LINEA insieme a DISTINTA ORDINE pag 19 Simboli grafici nel modello ER pag 44 Applicazione della strategia top-down Nello schema finale l entità STATO deve essere sostituita dall entità REGIONE pag 45 Applicazione della strategia bottom-up Nei due schemi intermedi e nello schema finale l entità STATO deve essere sostituita dall entità REGIONE pag 46 Applicazione della strategia mixed Nello schema di LUOGO e nello schema finale l entità STATO deve essere sosti- 1

tuita dall entità REGIONE pag 50 Raffinamenti top-down 2. l associazione ASSOCIATO A viene ridefinita con due associazioni: HAN- NO SEGUITO e SEGUONO pag 52 Schema ER Nello schema N TESSERA è identificatore dell entità ATLE- TA pag 53 Volume dei dati Il volume dei dati è il seguente: (togliere con le principali ipotesi fatte) Tabella dei volumi (invece di Tavola ) pag 54 Operazione 1 Lo schema di navigazione, oltre a servire per verificare l eseguibilità delle operazioni sullo schema concettuale ottenuto dall analisi dei requisiti relativi ai dati, può essere utilizzato per stimare il costo di un operazione in termini del numero degli accessi logici ai dati. La tabella seguente (Tabella degli Accessi) indica tali accessi logici. Per stimare il costo complessivo, si indica come costo 1 quello di una lettura; il costo di una scrittura è stimato pari al doppio di quello di lettura (2). Il costo dell esecuzione dell operazione una volta sola è quindi: (1 + 2 + 2 +.6 + 2) = 7.6 Considerando pari a 100/mese la frequenza di questa operazione, il suo costo mensile è il seguente: (1 + 2 + 2 +.6 + 2)*100 = 760 pag 58 schema ER pag 61 Esempio Progettazione da File Esistenti Le associazioni tra questi concetti sono espresse tramite tre differenti campi usati come puntatori Le cardinalità dell anello su PROGETTO sono invertite: PROGETTO è SUPER di (0,n) PROGETTI e SUB di (1,1) PROGETTI 2

pag 64 Progettazione da file esistenti Sull entità FATTURA mancano i due attributi CLIENTE e AZIENDA Sull entità LINEA FATTURA mancal attributo CODICE ARTICOLO pag 66 Documentazione di schemi E/R card(studente, RAPPRES)=(0,1) CODICEFISCALE ulteriore identificatore dell entità STUDENTE pag 67 Un esempio semplificato Nella seconda tabella, il nome della prima colonna è Associazione invece di Relazione Nella terza tabella: RV2 Uno studente non può essere iscritto a più Facoltà contemporaneamente, sia della stessa Università sia di diverse Università pag 75 Vincolo di Entity Integrity Formalmente, un istanza r di uno schema di relazione R con chiave K 1,K 2,...,K m (togliere primaria ) pag 81 Outer-join Al secondo punto: tali tuple (invece di tale tuple) pag 84 Esercizio In tabella ACCESSORIO sostituire CODACC al posto di CODAUTO pag 82 Es. Studenti che frequentano i corsi (almeno uno) del docente D2 Nell ultima interrogazione in algebra relazionale il predicato di selezione COD- DOC = D2 pag 98 Collasso verso il basso Se la copertura non è totale non si può fare (invece di completa) pag 100 Accorpamento di entità L attributo DATA nello schema accorpato è opzionale: DATA(0,1) Partizionamento e accorpamento di associazioni In questo caso il partizionamento è tipicamente orizzontale pag 105 Traduzione standard Ogni entità è tradotta con una relazione con gli stessi attributi: - la chiave primaria (anzichè a chiave primaria) 3

- se la chiave straniera fa parte di una delle chiavi non è necessario indicare NOT NULL. pag 109 Anello uno a Molti Dipendente(CF,Nome) invece di Dipendente(CF,Nome,CF-Capo) pag 111 Esempio di traduzione di un anello Nella figura in basso, la cardinalità di partecipazione di PROGETTO a DIRIGE (1,1) pag 119 Traduzione non standard di un associazione n-aria Nello schema E/R l identificatore di FACOLTÀ è CodFac invece di Indirizzo pag 121 Esempio di implementazione di regole aziendali Lo schema logico relazionale : UNIVERSITA(CODUNI) FACOLTA(CODFAC,NUM ISCR,CODUNI) FK: CODUNI REFERENCES UNIVERSITA STUDENTE(MATR,CODFAC) FK: CODFAC REFERENCES FACOLTA RAPPRES(MATR,CODFAC,COFAC1) FK: CODFAC REFERENCES FACOLTA FK: CODFAC1 REFERENCES FACOLTA La regola aziendale RV2 è implementabile in relazionale aggiungendo l attributo CF nella relazione STUDENTE e ponendo tale attributo come chiave alternativa. Conseguentemente la definizione della relazione STUDENTE diventa STUDENTE(MATR,CODFAC,CF) AK: CF FK: CODFAC REFERENCES FACOLTA Le regole aziendali RV4, RV5, RD1 non sono esprimibili in relazionale e possono essere implementate attraverso opportuni TRIGGER. pag 134 Indici Eliminare la frase riferita ad unique: equivale quindi a dichiarare < listacolonne > come chiave di < tabella > pag 135 Vincoli di tabella FOREIGN KEY (<lista-colonne>) REFERENCES <tabella> [(<lista-colonne-riferita>)] 4

<lista-colonne-riferita> deve essere definita in <tabella> come chiave; in assenza di (<lista-colonne-riferita>) è riferita alla primary key di <tabella> pag 185 Es. Elencare i clienti che non hanno acquistato nessun prodotto In modo analogo a quanto fatto nelle interrogazioni precedenti, occore fare una differenza tra tutti i clienti e i clienti che hanno acquistato pag 186 Es. Elencare il nome dei clienti che non hanno acquistato nessun prodotto Si utilizza la query precedente che forniva la differenza tutti i clienti e i clienti che hanno acquistato pag 209 Uso di Statement Trigger WHEN 10 < ANY (invece di <=) pag 221 Definizione 1 (Dipendenza Funzionale) È facile verificare che se Z Y allora Y Z. Queste dipendenze funzionali vengono dette banali. pag 223 Dato un insieme di attributi Y = A 1 A 2... A n, una conseguenza notevole è che dalla regola di decomposizione: {X Y } {X A 1, X A 2,..., X A n }, e da quella di unione: {X A 1, X A 2,..., X A n } {X Y }. pag 231 Non considerare anomalia di modifica e anomalia di cancellazione pag 232 infatti è possibile inserire le due tuple (Argentina,CentroCampista) e (Zanetti,Argentina) in π SR (r) e π GS (r) rispettivamente, in quanto non vengono violate le dipendenze dei singoli schemi. diventa infatti è possibile inserire la tupla (Zanetti,Argentina) in π GS (r) in quanto non vengono violate le dipendenze dei singoli schemi. pag 253 Soluzione Esercizio 2 La relazione INTERESSATO può essere tradotta nel seguente modo: INTERESSATO(CF-ACQUIRENTE,TIPOLOGIA,DIMENSIONE) FK: CF-ACQUIRENTE REFERENCES ACQUIRENTE FK: TIPOLOGIA REFERENCES TIPOLOGIA 5

Non è necessario il controllo NOT NULL sulla FK: TIPOLOGIA in quanto è un attributo chiave della relazione. Nella relazione PROPRIETA: PROPRIETA(CODICE,DIMENSIONE REALE,TIPOLOGIA,CF-PROPRIETARIO) FK: CF-PROPRIETARIO REFERENCES OFFERENTE NOT NULL FK: TIPOLOGIA REFERENCES TIPOLOGIA NOT NULL pag 257 Soluzione Esercizio 3 Relazione LISTA REGALI: LISTA REGALI(CODICE,DATA,CF-SOCIO) FK: CF-SOCIO REFERENCES SOCIO NOT NULL Aggiungendo la Foreign Key CF-SOCIO si traduce l associazione RICHIESTA tra LISTA REGALI e SOCIO. pag 274 Schema ER Esercizio 6 Aggiungere l attributo Tipologia sull entità LUOGO pag 288 Soluzione Esercizio 9 Relazione BIGLIETTO: BIGLIETTO(CODICE,PREZZO,DATA,VALIDITA,CF-VIP,SCONTO)) FK: CF-VIP REFERENCES VIP pag 296 Soluzione Esercizio 2 Con il dato derivato: operazione 1: si accede ai concetti: PARTITASINGOLA,EFFETTUA,GIOCATORE,GIOCATORE operazione 2: si accede ai concetti: PARTITASQUADRA,IN,GIOCATORE,GIOCATORE Senza il dato derivato: operazione 1: si accede ai concetti: PARTITASINGOLA,EFFETTUA operazione 2: si accede ai concetti: PARTITASQUADRA,IN pag 297 Soluzione Esercizio 3 Con il dato derivato: operazione 2: Costo 1*10= 10/giorno Senza il dato derivato: operazione 2: Costo 81*10= 810/giorno pag 298 Soluzione Esercizio 4 Senza il dato derivato: 6

CONCETTO ACC. TIPO Operazione 2 Cassa 1 L 101 accessi in lettura Entra 30 L 101*10 = 1010/giorno Entrata 30 L Esce 20 L Uscita 20 L Operazione 3 Uscita 1 S 3 accessi in scrittura Esce 2 S 6*1 = 6/giorno Totale : 1416/giorno pag 299 Soluzione Esercizio 5 La soluzione riportata sul libro non corrisponde al testo dell esercizio. Con il dato derivato: CONCETTO ACC. TIPO Operazione 1 Prelievo 1 S 1 accesso in lettura In 1 S 5 accessi in scrittura ContoCorrente 1 L 11*10 = 110/giorno ContoCorrente 1 S Operazione 2 Trasferimento 1 S 2 accessi in lettura Tra 2 S 5 accessi in scrittura ContoCorrente 2 L 12*10 = 120/giorno ContoCorrente 2 S Operazione 3 ContoCorrente 1 L 1 accesso in lettura 1*4 = 4/giorno Totale : 1988/giorno Senza il dato derivato: 7

CONCETTO ACC. TIPO Operazione 1 Prelievo 1 S 2 accesso in scrittura In 1 S 4*100 = 400/giorno Operazione 2 Trasferimento 1 S 3 accessi in scrittura Tra 2 S 6*10 = 60/giorno Operazione 3 ContoCorrente 1 L 101 accessi in lettura In 30 L 101*4 = 404/giorno Prelievo 30 L Tra 20 L Trasferimento 20 L Totale : 864/giorno Conclusione: Conviene eliminare il dato derivato. pag 310 Soluzione Esercizio 3 Soluzione Esercizio 3 1a) SELECT SALA FROM MOSTRA, ESPONE, QUADRO WHERE MOSTRA.CM=ESPONE.CM AND ESPONE.CQ=QUADRO.CQ AND ANNO=1997 AND AUTORE=Picasso 2b) WHERE 5<= invece di WHERE 5>= pag 315 Soluzione Esercizio 6 e) Nella subquery, GROUP BY C.NCAMPO invece di GROUP BY CAMPO.NCAMPO pag 317 Soluzione Esercizio 8 1a) WHERE NOT EXIST invece di WHERE CT NOT EXIST pag 319 Soluzione Esercizio 10 1a) SELECT G.* FROM GIOCATOREGOLF G, PARTECIPA P, GARA GR WHERE G.CF=P.CF AND G.CG=P.CG AND LIVELLO=Nazionale 2b) σ punteggio>0 (PARTECIPA) 8

pag 325 Soluzione Esercizio 1 4 AC ADBCE applicazione della pseudotransitività e dell unione alla 3 e FD1 9

Errata Corrige Esercizi Allegati pag 51 Q2: SELECT F.COD FOTO, COSTO, COUNT(*) AS NUM PERS FROM FOTO F, CONTIENE C WHERE F.COD FOTO = C.COD FOTO AND C.COD FOTO = :COD FOTO: GROUP BY F.COD FOTO, COSTO pag 59 La query corretta del trigger è la seguente: CREATE TRIGGER ControlloNumeroProdotti ON Contiene FOR INSERT, UPDATE AS --- Dichiaro il contatore Declare @cont int Declare @cont2 int Select @cont = (count(*)), @cont2 = Max(@cont) from Contiene, inserted, Prodotti where Contiene.CodT = inserted.codt And Prodotti.CodP = Contiene.CodP And Contiene.CodP IN (SELECT CodP FROM Prodotti P WHERE P.Tipo = Prodotti.Tipo) GROUP BY Contiene.CodT 10