Basi di Dati: Elementi

Documenti analoghi
Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.

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

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

Esame di Basi di Dati SOLUZIONE APPELLO 14/06/2011

ESAME di INFORMATICA e ARCHIVIAZIONE

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Basi di Dati. Esercitazione Algebra Relazionale. 16 maggio 2008

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

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una piattaforma di gestione di gare podistiche:

ed SQL 10 Novembre 2009

Basi di dati I Prova di autovalutazione 30 ottobre 2014

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

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un negozio di libri online:

Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009

Basi di dati: appello 14/07/06

Laboratorio di Basi di Dati prova totale 20 febbraio 2013

Basi di dati: appello 07/02/06

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una Software (SW) House:

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

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative all amministrazione di un condominio:

Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi.

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la comunità scientifica di ricerca paleontologica.

Basi di dati: appello 04/07/06

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

Sommario. Introduzione... 13

Equivalenza di Espressioni Algebriche

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di società di assicurazioni che erogano polizze sanitarie.

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

Progettazione di Basi di Dati

MODULO 2. Query normali e parametriche Query di:

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per un concessionario di automobili.

BASI DATI: algebra relazionale

Basi di Dati. Esercitazione 1: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL

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

Metodologie e modelli di progetto

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

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di un sistema di gestione di campionati di basket.

σ data 15/12/2013 data 20/12/2014

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009

Basi di dati (database)

Interrogazioni nidificate

COGNOME MATRICOLA. STUDENTE(Codice, Nome, Cognome, LuogoNascita) CDL (Codice, Nome, PunteggioMinimo) QUIZ(CodiceCorso, CodiceStudente, Punteggio)

Compito Basi di Dati. Tempo concesso: 2 ore 18 Febbraio 2013 Nome: Cognome: Matricola:

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

Basi di dati (nuovo ordinamento) 16 giugno 2008 Compito A

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita

Compito Basi di Dati. Tempo concesso : 90 minuti 28 aprile 2005 Nome: Cognome: Matricola:

Laboratorio di Basi di Dati

COGNOME MATRICOLA. Con vincoli di integrità referenziale: RECENSIONE.NomeUtente à UTENTE.Username RECENSIONE.TitoloSerie à SERIETV.

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella

Il linguaggio SQL: le viste

Corso di Laurea in Informatica Basi di Dati a.a

Basi di dati Appello del Soluzione del compito B

Algebra relazionale e interrogazioni

Business Intelligence

Basi di Dati Corso di Laura in Informatica Umanistica

Structured Query Language

Conversione Modello ER in Modello Relazionale. A.Bardine - Conversione Modello ER in Modello Relazionale

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

PIL Percorsi di Inserimento Lavorativo

Gestione NARRATIVA del 900

Basi di Dati 1 Esercitazione 5 08/01/2013. Matteo Picozzi

Gestione e Analisi dei Dati. Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti

Basi di dati: appello 08/03/06

Fondamenti di Informatica 2

Basi di dati: appello 28/02/06

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

Progettazione logica: criteri di ottimizzazione

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

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

Compito Basi di Dati. Tempo concesso : 90 minuti 21 Gennaio 05 Nome: Cognome: Matricola: Esercizio 1

<Nome Tabella>.<attributo>

Basi di dati: appello 21/09/12

SQL QUERY: Le interrogazioni del database

Progettazione logica Fase 2: Traduzione nel modello relazionale. adattato da Atzeni et al., Basi di dati, McGrawHill

La gestione delle interrogazioni

Interrogazioni nidificate

Esercitazione: Dalle Specifiche alla Modellazione ER. Roberto Basili a.a. 2011/2012

Corso di Basi di Dati

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

Simulazione prova pratica

Tipi di sottoquery SQL

BASE DI DATI. Esercizio: Campionato corse Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

Modello Entità-Relazione (E-R)

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale

Operazioni Relazionali. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni

LA PROGETTAZIONE LOGICA

Esame di Basi di Dati

SCHEMA E/R DI UNA UNIVERSITA'

Requisiti della base di dati. Schema concettuale

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 27 Marzo 07 Nome: Cognome: Matricola:

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO e SCHEMA FISICO Costruzione delle tabelle

Elena Baralis 2007 Politecnico di Torino 1

Basi di dati Appello del Compito A

Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie:

Laboratorio di Basi di Dati

Le Basi di Dati. Sommario. Sistema Informatico. Sistema Informativo. Fondamenti di Informatica Anno Accademico 2010/2011

Giovedì 02 Luglio 2009 Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2008/2009

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

matr. Nome Cognome firma Basi di Dati Prova del 22 Dicembre 2008

Transcript:

Basi di Dati: Elementi Docente: Prof. Pierangela Samarati Appello online - 20 Marzo 2010 Soluzioni Domanda 1) Nell ambito del modello ER illustrare le proprietà che caratterizzano le gerarchie di generalizzazione/specializzazione e quindi i diversi tipi di gerarchia che possono esistere. Per ciascuno di questi fornire degli esempi. Discutere inoltre i possibili approcci per l eliminazione delle gerarchie nella ristrutturazione dello schema. Domanda 2) Nell ambito del modello relazionale, dire cosa si intende per vincolo di integrità referenziale, spiegare quali controlli vengono eseguiti dal DBMS (su quali tabelle e secondo quale principio) per verificarne la violazione e il soddisfacimento. Infine, elencare e descrivere le politiche di reazione che possono essere associate al vincolo di integrità referenziale in SQL. Domanda 3) Con riferimento alla proprietà di Distributività degli operatori rispetto a e, dire quali delle seguenti affermazioni valgono: Distributività della selezione rispetto a Distributività della selezione rispetto a Distributività della proiezione rispetto a Distributività della proiezione rispetto a fornendo la formula di equivalenza nel caso valgano, o la motivazione nel caso non valgano. Domanda 4) Siano R1(A,B) e R2(C,D) due relazioni non vuote collegate da integrità referenziale: R1.B references R2.C R2.D references R1.A Dire se: R1 ha cardinalità maggiore di R2 R2 ha cardinalità maggiore di R1 R1 e R2 hanno la stessa cardinalità Non si può dire nulla sulla cardinalità delle relazioni Non può essere che le due relazioni si referenziano a vicenda Domanda 5) Date le seguenti tre relazioni non vuote: r(a,c, D) s(b, E) t(a,b,f) Compilare la Tabella allegata indicando lo schema, il grado e le cardinalità minima e massima delle seguenti relazioni non vuote. Si noti che attributi con uguale nome sono legati dal vincolo di integrità referenziale. (Ove l operazione non sia ben definita indicare non applicabile ) 1. r s 2. v := π F (σ F=0 (s t)) 3. σ A 20 r σ A=18 r

Tabelle per Domanda 4) Dire se: R1 ha cardinalità maggiore di R2 R2 ha cardinalità maggiore di R1 R1 e R2 hanno la stessa cardinalità Non si può dire nulla sulla cardinalità delle relazioni Non può essere che le due relazioni si referenziano a vicenda Tabella per Domanda 5) schema grado card. min card. max 1 r s (A,B,C,D,E) 5 r s r s 2 v := π F (σ F=0 (s t)) v(f) 1 0 1 3 σ A 20 r σ A=18 r (A,C,D) 3 0 1

Esercizio 1) Si considerino i seguenti schemi relazionali: SOCIETA(PIVA, RagioneSociale, Indirizzo, Citta) MOBILE(Codice, PIVASocieta, Nome, Tipo, Colore, Prezzo, NomeMateriale) MATERIALE(Nome, Descrizione, PrezzoUnitario) Scrivere in SQL le seguenti interrogazioni: 1. Determinare la PIVA delle società che hanno il prezzo medio dei mobili più alto. 2. Determinare la ragione sociale delle società che non producono alcun mobile usando materiali dal prezzo unitario superiore a 25 Euro. Scrivere in algebra relazionale le seguenti interrogazioni: 1. Determinare la PIVA delle società che producono almeno due mobili di colore rosso. 2. Determinare per ogni società il mobile (codice) di prezzo più basso. SQL 1 CREATE VIEW SocietaPrezzoMedio (PIVA, PrezzoMedio) AS SELECT PIVASocieta, AVG( Prezzo) SELECT PIVA WHERE PrezzoMedio = ( SELECT MAX( PrezzoMedio) ) Soluzione alternativa: CREATE VIEW SocietaPrezzoMedio (PIVA, PrezzoMedio) AS SELECT PIVASocieta, AVG( Prezzo) SELECT PIVA WHERE PrezzoMedio >= ALL ( SELECT PrezzoMedio )

Soluzione alternativa: SELECT PIVASocieta HAVING AVG( Prezzo) >= ALL ( SELECT AVG( Prezzo) ) SQL 2 SELECT RagioneSociale FROM SOCIETA AS S WHERE NOT EXISTS ( SELECT * FROM MOBILE AS MO JOIN MATERIALE AS MA ON MO.NomeMateriale = MA.Nome WHERE S.PIVA = MO.PIVASocieta AND MA.PrezzoUnitario > 25.00 ) Soluzione alternativa: SELECT RagioneSociale FROM SOCIETA AS S WHERE PIVA NOT IN ( SELECT MO.PIVASocieta FROM MOBILE JOIN MATERIALE ON NomeMateriale = Nome WHERE PrezzoUnitario > 25.00 ) AR 1 T1 := π Codice, PIVASocieta(σ Colore= rosso (MOBILE) ) T2 := ρ C, PIVA Codice, PIVASocieta(T1) RIS := π PIVASocieta(T1 Codice C PIVASocieta=PIVA T2 ) AR 2 M1 := π Codice, PIVASocieta, Prezzo(MOBILE) M2 := ρ C, PIVA, P Codice, PIVASocieta, Prezzo(M1) RIS := π PIVASocieta, Codice(M1) π PIVASocieta, Codice(M1 Prezzo>P PIVASocieta=PIVA M2)

Esercizio 2) La società Casa Sempre Pulita (CSP) vuole realizzare una applicazione di basi di dati per organizzare e gestire la produzione dei suoi robot per la pulizia domestica. DESCRIZIONE DEL PROBLEMA. La CSP si occupa della produzione di piccoli robot per le pulizie domestiche. Ogni modello di robot prodotto è caratterizzato da un codice univoco, dalle dimensioni (composte da altezza, larghezza e profondità) espresse in cm e dal peso (espresso in Kg). I robot prodotti dalla CSP si suddividono in tre categorie: aspirapolveri, lavapavimenti e lavavetri (si noti che la CSP produce anche dei robot che combinano le caratteristiche dei robot aspirapolveri e lavapavimenti). I robot aspirapolvere sono caratterizzati dalla capacità del serbatoio di raccolta polveri (espressa in litri); i robot lavapavimento dalle capacità dei serbatoi per l acqua pulita e per l acqua sporca (entrambi espresse in litri). Invece per i robot lavavetri è importante tenere traccia di quali modelli di ventose montano e, per ciascun modello, del loro numero. Ogni modello di ventosa è caratterizzato da un codice univoco, dalla portata (espressa in Kg) e dal raggio della ventosa stessa. Si noti che ogni modello di robot lavavetri può montare diversi modelli di ventosa, e che lo stesso modello di ventosa può essere usato su differenti modelli di robot. Ogni robot può utilizzare diversi modelli di batteria (come lo stesso modello di batteria può essere utilizzato su diversi modelli di robot). Di ogni modello di batteria si vuole tener traccia del tipo (e.g., al litio), e della potenza (espressa in mah). Di ogni produttore di batterie si vuole, invece, tener traccia della PIVA (che associata ad un codice identifica univocamente ciascun modello di batteria), della ragione sociale e di uno o più numeri di telefono. Si noti che ogni produttore di batterie può produrre diversi modelli di batteria. In ogni modello di robot è, infine, installato un firmware appositamente studiato per quel modello e quindi non compatibile con gli altri modelli di robot. Per ogni firmware si vuole tenere traccia del nome, della versione (che lo identificano in modo univoco) e della dimensione (espressa in kb). Per lo sviluppo di questi firmware, la CSP si rivolge a sviluppatori esterni di comprovata fiducia e abilità. Per ogni sviluppatore la CSP è interessata a tenere traccia del CF, del nome, del cognome, del numero di telefono di contatto e della email. Si noti che mentre ogni sviluppatore può aver sviluppato più firmware, ogni firmware è stato sviluppato da un solo sviluppatore. 1. Progettare lo schema E-R che descrive le entità e le associazioni sopra descritte. (si ricorda che lo schema concettuale deve comprendere l indicazione delle cardinalità di associazioni e attributi e l indicazione degli identificatori di tutte le entità) 2. Tradurre lo schema E-R in tabelle di una base di dati relazionale, indicando anche eventuali vincoli di integrità referenziale.

NumTel CF EMail PIva Rag sociale Produttore Nome Cognome Sviluppatore Sviluppare (1,1) Telefono Prodotto (1, 1) Altezza Profondità Larghezza Dimensione Firmware Nome Versione Codice Tipo Dimensioni Codice Peso (1,1) Batteria Utilizzare Robot Installare (t,s) (1,1) Portata Potenza Quantità Aspirapolvere Lavapavimenti Lavavetri Montare Ventose Codice Capacità Serbatoio Cap. Serbatoio Acqua Pulita Cap. Serbatoio Acqua Pulita Raggio La gerarchia di generalizzazione dell entità ROBOT è stata ristrutturata con un collasso verso l alto. Dato che la gerarchia è totale e sovrapposta, si aggiungono tre selettori: SelAspira, SelLava e SelVetri. L attributo CapSerbatoio dell entità ASPIRAPOLVERE (dopo la ristrutturazione) può prendere il valore NULLO. Gli attributi CapPulita e CapSporca dell entità LAVAPAVIMENTI (dopo la ristrutturazione) può prendere il valore NUL- LO. L attributo NumTel dell entità PRODUTTORE che presenta cardinalità (1, n) (dopo la ristrutturazione) viene tradotto attraverso una entità TELEFONO in relazione 1 : n con PRODUTTORE. L attributo Dimensioni dell entità ROBOT, essendo composto, viene tradotto attraverso tre attributi che rappresentano le sue componenti: Altezza, Profondità e Larghezza. Relazione ROBOT VENTOSE PRODUTTORE TELEFONO BATTERIA FIRMWARE SVILUPPATORE MONTARE UTILIZZARE Attributi Codice, Peso, Altezza, Profondità, CapSerbatoio, CapPulita, Cap- Sporca, Larghezza, SelAspira, SelLava, SelVetri Codice, Portata, Raggio PIVA, RagSociale Numero, PIVAProduttore PIVAProduttore, Codice, Tipo, Potenza Nome, Versione, Dimensione, CodiceRobot, CFSviluppatore CF, Nome, Cognome, Telefono, EMail CodiceRobot, CodiceVentosa, Quantità CodiceRobot, PIVAProduttore, CodiceBatteria Chiave Esterna TELEFONO.PIVAProduttore BATTERIA.PIVAProduttore FIRMWARE.CodiceRobot FIRMWARE.CFSviluppatore MONTARE.CodiceRobot MONTARE.CodiceVentosa UTILIZZARE.CodiceRobot UTILIZZARE.{PIVAProduttore,CodiceBatteria} Referenzia PRODUTTORE.PIVA PRODUTTORE.PIVA ROBOT.Codice SVILUPPATORE.CF ROBOT.Codice VENTOSE.Codice ROBOT.Codice BATTERIA.{PIVAProduttore,Codice}