Basi di Dati: Elementi

Похожие документы
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 I 19 settembre 2016 Tempo a disposizione: un ora e 45 minuti.

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

ESAME di INFORMATICA e ARCHIVIAZIONE

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

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

Istituto Statale E.Torricelli Liceo Scientifico Tecnologico-Tecnico Industriale. Compiti Estivi Informatica

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

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

ed SQL 10 Novembre 2009

Basi di dati: appello 14/07/06

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

Basi di dati I Prova di autovalutazione 30 ottobre 2014

Laboratorio di Basi di Dati

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

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

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

Structured Query Language

Basi di dati: appello 04/07/06

Basi di Dati. Esercitazione Algebra Relazionale. 16 maggio 2008

Terza Prova Intracorso Fondamenti di Informatica e Programmazione, A.A. 2017/18. Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe II)

Basi di dati: appello 07/02/06

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

2. le operazioni nettamente più frequenti sono due, che accedono rispettivamente a tutte le occorrenze

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

Basi di dati Appello del Soluzione del compito B

Basi di Dati 1 Esercitazione 4 27/11/2012. Matteo Picozzi

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

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

Basi di Dati 1! Esercitazione 4. Matteo Picozzi!

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione

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

Laboratorio di Basi di Dati prova totale 20 febbraio 2013

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

QL (Query Language) Alice Pavarani

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

Basi di Dati Corso di Laura in Informatica Umanistica

Транскрипт:

Basi di Dati: Elementi Docente: Prof. Pierangela Samarati Appello di Maggio online - 22 Maggio 2010 Tempo a disposizione 2:00h Soluzioni Domanda 1) Illustrare e commentare le diverse fasi del ciclo di vita di una base di dati, specificando cosa ogni singola fase prende in ingresso e cosa produce. Nella descrizione, discutere anche i diversi passi della progettazione. Domanda 2) Nell ambito dell algebra relazionale, spiegare la differenza tra natural join e theta join. Si richiede inoltre, utilizzando delle relazioni opportune, di fornire la definizione di questi due operatori usando solo gli operatori di base dell algebra relazionale (ρ, σ, π,,, ). Domanda 3) Dire il numero minimo di tabelle relazionali che servono per rappresentare lo schema concettuale illustrato in figura, motivando la risposta. Tradurre quindi lo schema concettuale in uno schema logico corrispondente e composto dal numero minimo di tabelle. a A (0, 1) R1 D d k R2 (0, n) B R2 b (0, 1) c C E e Il numero minimo di tabelle relazionali che servono è 4. La traduzione è Tabella Attributi A a, b, c, d B b C c ED e, d, k Domanda 4) Rispondere brevemente, ma in modo preciso e completo, alle seguenti domande. 1. Nell ambito del linguaggio di interrogazione SQL, dire se esistono viste non modificabili, spiegando il perché e fornendo, se esiste, un esempio. 2. Con riferimento a SQL, spiegare il significato delle funzioni coalesce e nullif e fornire un esempio per ognuna. 3. Dire cosa si intende per componente intensionale e componente estensionale di una base di dati.

Domanda 5) Date le seguenti tre relazioni non vuote: r(a, B,C) s(d, E) t(a,d) 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. v := π B r π D s 2. σ B=2 B=0 r 3. π A t π A r 4. r t schema grado card. min card. max 1 v := π B r π D s Non Applicabile 2 σ B=2 B=0 r (A,B,C) 3 0 r 3 π A t π A r (A) 1 0 0 4 r t (A, B,C, D) 4 t t

Esercizio 1) Si considerino i seguenti schemi relazionali: AUTOMOBILE(NumeroTelaio, Marca, Modello, DataAcquisto) OFFICINA(PIVA, RagioneSociale) MECCANICO(Matricola, PIVAOfficina, Nome, Cognome, DataAssunzione) RIPARAZIONE(PIVAOfficina, MatricolaMeccanico, NumeroTelaioAutomobile, Data, DescrizioneGuasto) Scrivere in SQL le seguenti interrogazioni: 1. Determinare la Marca delle automobili acquistate nel 2008 che hanno subito almeno 3 interventi di riparazione nel 2010. 2. Determinare le automobili (NumeroTelaio) di Marca Fias che sono state riparate sempre nella stessa officina. Scrivere in algebra relazionale le seguenti interrogazioni: 1. Determinare Numero del Telaio delle Automobili che sono state riparate da tutti i meccanici dell officina con P. IVA 001122334455. 2. Determinare la Matricola e la Ragione Sociale dell officina cha ha più recentemente assunto un meccanico. SQL 1 SELECT DISTINCT Marca FROM Automobile JOIN Riparazione ON NumeroTelaio = NumeroTelaioAutomobile WHERE DataAcquisto BETWEEN 2008-01-01 AND 2008-12-31 AND Data BETWEEN 2010-01-01 AND 2010-12-31 GROUP BY NumeroTelaio,Marca HAVING COUNT( *) >= 3 SQL 2 SELECT FROM WHERE NumeroTelaio Automobile JOIN Riparazione AS R1 ON NumeroTelaio = NumeroTelaioAutomobile Marca = Fias AND NOT EXISTS ( SELECT * FROM Riparazione AS R2 WHERE R1.NumeroTelaioAutomobile = R2.NumeroTelaioAutomobile AND R1.PIVAOfficina <> R1.PIVAOfficina ) oppure: SELECT FROM WHERE NumeroTelaio Automobile JOIN Riparazione AS R1 ON NumeroTelaio = NumeroTelaioAutomobile Marca = Fias AND NumeroTelaio NOT IN ( SELECT R2.NumeroTelaioAutomobile FROM Riparazione AS R2 WHERE R1.NumeroTelaioAutomobile = R2.NumeroTelaioAutomobile AND R1.PIVAOfficina <> R1.PIVAOfficina )

AR 1 MEC := ρ MatricolaMeccanico Matricola( π Matricola,PIVAOfficina( MECCANICO )) TEL := ρ NumeroTelaioAutomobile NumeroTelaio( π NumeroTelaio(AUTOMOBILE )) TUTTI := MEC TEL REALI := π MatricolaMeccanico,PIVAOfficina,NumeroTelaioAutomobile( σ PIVAOfficina= 001122334455 ( RIPARAZIONE )) RIS := π NumeroTelaioAutomobile(REALI) π NumeroTelaioAutomobile(TUTTI REALI) AR 2 MEC := ρ M,P,D Matricola,PIVAOfficina,DataAssuzione(π Matricola,PIVAOfficina,DataAssuzione(MECCANICO)) MECREC := π Matricola,PIVAOfficina( π Matricola,PIVAOfficina(MECCANICO) π Matricola,PIVAOfficina( MECCANICO DataAssuzione<D MEC ) RIS := π Matricola,RagioneSociale(MECREC PIVAOfficina=PIVA OFFICINA )

Esercizio 2) La società PASTA SOLO PASTA (PSP) vuole realizzare una applicazione di basi di dati per organizzare e gestire la propria attività, legata alla produzione di pasta alimentare. DESCRIZIONE DEL PROBLEMA. La PSP si occupa da decenni della produzione di pasta. La pasta prodotta dalla PSP si distingue in tre categorie: pasta di riso, pasta di grano e pasta ottenuta con farine biologiche. Per la pasta di riso e di grano è importante tenere traccia del loro livello di qualità, riconosciuto a livello nazionale e condificato attraverso un numero intero compreso tra 1 e 5, dove 1 rappresenta la qualità minima e 5 quella massima. Per la pasta ottenuta con farine biologiche, che può essere di riso oppure di grano, è importante tenere traccia della data dell ultimo controllo effettuato effettuato dal ministero dell agricoltura. La pasta prodotta dalla PSP è identificata univocamente da un codice ed è caratterizzata da un nome commerciale e dal prezzo al Kg (espresso in Euro/Kg). La PSP produce la propria pasta attraverso varie linee di produzione. Ogni pasta può essere prodotta da più linee di produzione, così come ogni linea di produzione può essere impiegata nella produzione di divrese paste (non contemporaneamente). Si noti che le linee impiegate per la produzione di pasta di riso non possono essere impiegate per la produzione di pasta di grano e viceversa. Si noti che per ogni pasta prodotta da ciascuna linea di produzione si vuole tenere traccia della capacità di produzione oaria, espressa in Kg/Ora. Ogni linea di produzione è collocata all interno di una fabbrica di proprietà dalla PSP. Per ogni linea di produzione è necessario tenere traccia della data dell ultimo controllo di qualità effettuato sulla linea e di un codice che identifica, in modo univoco rispetto alla fabbrica in cui è collocata, la linea di produzione. Invece per ogni fabbrica è importante mantenere l indirizzo della stessa (composto da via, città e provincia), il numero di dipendenti che ci lavorano e il codice che la identifica. Ogni linea di produzione viene controllata da un responsabile di cui si conoscono la matricola (che lo identifica univocamente) il nome e il cognome. Si noti che un responsabile può controllare più linee di produzione, ma ogni linea è controllata da un solo responsabile. Ogni pasta prodotta dalla PSP viene confezionata utilizzando varie confezioni di cui si conosce il codice, la quantità di pasta che può contenere (espressa in grammi) e la dimensione (composta da larghezza, altezza e profondità). Naturalmente una confezione può essere utilizzata solamente per una determinata pasta. La PSP acquista le scatole per la sua pasta da diversi produttori, di cui si conosce la Partita IVA, la ragione sociale e uno o più numeri di telefono. Si noti che un produttore può produrre diverse confezioni, mentre ogni confezione è prodotta da un solo produttore. 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. Città Via Provincia Indirizzo Fabbrica Contenere Num. Dipendenti Larghezza Altezza Dimensioni Confezione Utilizzare Pasta Prezzo al Kg Produrre Kg/Ora Linea di Produzione Profondità Peso Nome Commerciale (t, s) Data Ultimo Controllo Produrre Riso Biologica Grano Controllare Qualità Data Controllo Qualità Nome Cognome Num. Telefono Produttore Matricola Responsabile Ragione Sociale PIVA La gerarchia di generalizzazione dell entità PASTA è stata ristrutturata con un collasso verso l alto. Dato che la gerarchia è totale e sovrapposta, si aggiungono tre selettori SelRiso, SelBiologica, SelGrano.

Gli attributi Quantità e Data Controllo dell entità PASTA (dopo il collasso verso l alto) possono prendere il valore NULLO. L attributo Num. Telefono dell entità PRODUTTORE che presenta cardinalità viene tradotto attraverso una entità TELEFONO in relazione 1 : n con PRODUTTORE. L attributo Indirizzo dell entità FABBRICA, essendo composto, viene tradotto attraverso tre attributi che rappresentano le sue componenti: Via, Città e Provincia. L attributo Dimensioni dell entità CONFEZIONE, essendo composto, viene tradotto attraverso tre attributi che rappresentano le sue componenti: Larghezza, Altezza e Profondità. Relazione PASTA CONFEZIONE PRODUTTORE FABBRICA LINEAPRODUZIONE PRODURRE TELEFONO Attributi, NomeCommerciale, PrezzoKg, QuantitaDataControllo, Peso, Larghezza, Altezza, Profondita, Pasta, PIVAProduttore PIVA, RagioneSociale, NumDipendenti, Via, Città, Provincia, Fabbrica, DataUltimoControllo, MartricolaResponsabile Pasta, LineaProduzione, Fabbrica Numero, PIVAProduttore Chiave Esterna CONFEZIONE.Pasta CONFEZIONE.PIVAProduttore LINEAPRODUZIONE.Fabbrica LINEAPRODUZIONE.MatricolaResponsabile PRODURRE.Pasta PRODURRE.{LineaProduzione, Fabbrica} TELEFONO.PIVAProduttore Referenzia PASTA. PRODUTTORE.PIVA FABBRICA. RESPONSABILE.Matricola PASTA. LINEAPRODUZIONE.{, Fabbrica} PRODUTTORE.PIVA