Basi di Dati: Elementi

Похожие документы
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

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:

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:

Corso di Laurea in Informatica Basi di Dati a.a

Basi di dati Appello del Soluzione del compito B

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

Gestione NARRATIVA del 900

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

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

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

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

Interrogazioni nidificate

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

Corso di Basi di Dati

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)

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

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

Laboratorio di Basi di Dati

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

Транскрипт:

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}