Basi di dati 9 febbraio 2010 Compito A



Похожие документы
Basi di dati 30 settembre 2010 Compito A

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Progettazione di Database. Un Esempio

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Informatica (Basi di Dati)

Basi di dati I Soluzione Quinto Homework del 9 gennaio 2013

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

Esercizio. Atzeni e altri, Basi di dati, Capitolo 8 64

Organizzazione degli archivi

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Vincoli di integrità

Prova Scritta di Basi di Dati

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

Corso di Sistemi di Elaborazione delle informazioni

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Progettazione di Basi di Dati

Progettaz. e sviluppo Data Base

ESERCIZIO 1 (15 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un sistema di prenotazioni di biglietti aerei:

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 25 Marzo 03 Nome: Cognome: Matricola: Esercizio 1

Il Modello Relazionale

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Database 1 biblioteca universitaria. Testo del quesito

Esercizio sui data base "Gestione conti correnti"

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Capitolo 13. Interrogare una base di dati

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Esercizio data base "Biblioteca"

Basi di Dati e Microsoft Access

COGNOME MATRICOLA. Con vincoli di integrita referenziale: INTERVENTO.CodTecnico à TECNICO.Codice INTERVENTO.MatCaldaia à CALDAIA.

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Esercitazione 7 Progettazione concettuale. Versione elettronica: L07.progConcettuale.pdf

Informatica (Basi di Dati)

MODELLO E/R. Modellazione dei dati

MODELLO RELAZIONALE. Introduzione

Traccia di soluzione dell esercizio del 25/1/2005

Corso di Informatica (Basi di Dati)

Introduzione alla teoria dei database relazionali. Come progettare un database

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

Lezione V. Aula Multimediale - sabato 29/03/2008

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Giornale e mastro Appunti di contabilità Giornale e Mastro. Luca Dossena - Docente

Progettazione e realizzazione di un applicativo Web Annunci Immobiliari

Progettazione di una base di dati Ufficio della Motorizzazione

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro

Il Modello Relazionale

Basi di Dati corso C Esercitazione 18/12/2002 Autonoleggio tempo: 3 ore

database: modello entityrelationship

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Dalla progettazione concettuale alla modellazione di dominio

Segreteria da campo. Database Relazionali

Progettazione di un DB....in breve

FPf per Windows 3.1. Guida all uso

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

Il database management system Access

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi


BASE DI DATI: sicurezza. Informatica febbraio ASA

Capitolo 2. Esercizio 2.1. Esercizio 2.2

Gli operatori relazionali

Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti:

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Capitolo 8. Esercizio 8.1

FIRESHOP.NET. Gestione Lotti & Matricole.

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

ESERCIZIARIO BASI DI DATI (Esercizi presi dagli esami degli anni scorsi del prof. Paolo Baldan)

(anno accademico )

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Corso sul linguaggio SQL

FIRESHOP.NET. Gestione del taglia e colore.

Programma Gestione Presenze Manuale autorizzatore. Versione /08/2010. Area Sistemi Informatici - Università di Pisa

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Basi di dati I. Esercitazione proposta

Le Basi di Dati. Le Basi di Dati

TEORIA sulle BASI DI DATI

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Partite string string int int. Perché studiare il Modello Relazionale? Capitolo 2. Relazione: tre accezioni. Basi di dati relazionali: definizioni

N ######/02 Seconda prova scritta *$$$$$21115* *$$$$$21115* *$$$$$21115* *$$$$$21115* A T T E N Z I O N E

I database. Cosa sono e a cosa servono i Database

Liberare la memoria allocata dinamicamente.

Strutturazione logica dei dati: i file

Lezione 2. Il modello entità relazione

Fasi del progetto ( 1 )

Progettazione Logica. Progettazione Logica

Compito Basi di Dati. Tempo concesso: 90 minuti 08 Giugno 2006 Nome: Cognome: Matricola:

DATABASE. A cura di Massimiliano Buschi

Progettazione di un Database

Introduzione all Algebra Relazionale

GUIDA ALL UTILIZZO DI MF QUICKEN

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Database. Si ringrazia Marco Bertini per le slides

Progettazione del Software, Laurea in Ingegneria Gestionale Progettazione del Software Laurea in Ing. Gestionale

Транскрипт:

Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli delle risposte; sul foglio protocollo, scrivere cognome e nome sulla facciata esterna Rispondere sui fogli appositamente predisposti; utilizzare il foglio protocollo per appunti o brutta copia e consegnarlo con all interno i fogli con le risposte. Non scrivere dopo lo scadere del tempo a disposizione, pari a un ora e quarantacinque minuti Domanda 1 (25%) Si supponga che interessi gestire i dati necessari alla produzione di estratti conto bancari, come quelli mostrati nella figura che segue, molto semplificati rispetto a quelli reali. Conto Corrente n. 33455 Titolare: Mario Rossi Indirizzo: Via Garibaldi, 33 00177 Roma Saldo iniziale: + 3.702,27 Data IdT Tipo Movimento Dettaglio Importo 03/09/2009 05 Prel. Bancomat Sportello 27 Roma 300,00 10/09/2009 05 Prel. Bancomat Sportello 23 Milano 500,00 15/09/2009 43 Pagamento POS Supermercato XY 201,12 27/09/2009 27 Emolumenti Stipendio settembre 2009 + 1.801,12 Saldo finale: + 4.502,27 Conto Corrente n. 43332 Titolare: Luigi Bianchi Indirizzo: Viale Mazzini, 56 00165 Roma Saldo iniziale: + 13.751,00 Data IdT Tipo Movimento Dettaglio Importo 10/09/2009 05 Prel. Bancomat Sportello 23 Milano 500,00 15/09/2009 08 Assegno n.234122 460,00 17/09/2009 48 Bonifico a vs favore da Nicola Verdi + 1.200,00 24/09/2009 43 Pagamento POS Libreria XYZ 40,00 Saldo finale: + 13.951,00 Si noti e si assuma quanto segue: il numero identifica univocamente il conto corrente; titolare e indirizzo possono essere considerati come semplici stringhe di caratteri, senza modellazione ulteriore; gli estratti conto sono tutti relativi ad un certo periodo, che non interessa; quindi viene prodotto un solo estratto conto per ciascun conto corrente; il saldo iniziale è un valore memorizzato; il saldo finale è ottenuto come somma del saldo iniziale e dei movimenti; per ogni movimento elencato nella lista si può assumere (e si consiglia di farlo) che sia memorizzato nella base di dati un codice univoco che lo identifica (in modo completo; ad esempio, ciascuno degli otto movimenti mostrati in figura ha un codice diverso); nella lista dei movimenti, la colonna Tipo Movimento contiene un testo che dipende dal valore contenuto nella colonna IdT (si noti ad esempio che 05 corrisponde sempre a Prel. Bancomat e 43 a Pagamento POS ); quindi IdT è un codice che identifica Tipo Movimento; la colonna Dettaglio contiene invece un testo libero, che è associato allo specifico movimento e va considerato indipendente da IdT e Tipo Movimento. Con riferimento a queste specifiche: 1. definire uno schema concettuale (nel modello ER) che descriva la realtà di interesse; limitarsi agli aspetti esplicitamente richiesti; mostrare le cardinalità delle relationship, gli identificatori delle entità e gli eventuali vincoli non esprimili con lo schema; 2. mostrare lo schema relazionale corrispondente a tale schema concettuale e una sua istanza in forma tabellare, utilizzando i dati nell esempio (o una parte significativa di essi); indicare le chiavi primarie attraverso la sottolineatura. continua sul retro

Domanda 2 (15%) Con riferimento alla domanda precedente, si supponga che la banca mantenga un archivio dei clienti, con i relativi indirizzi. Mostrare tre frammenti di schema ER che modellino le tre diverse situazioni seguenti: 1. ad ogni conto corrente è associato uno e un solo cliente; ogni cliente può avere più conti correnti e ha lo stesso indirizzo per tutti; 2. ad ogni conto corrente sono associati uno o più clienti; ogni cliente può avere più conti correnti e può usare per ciascuno un indirizzo diverso; 3. stesse specifiche del precedente, ma con l osservazione che ogni cliente ha un indirizzo principale che viene usato salvo diversa specificazione (si pensi ai moduli in cui si trova scritto indirizzo per la corrispondenza, da indicare solo se diverso da quello di residenza ) In ciascuna, supporre che per ogni cliente siano di interesse codice fiscale, cognome, nome e data di nascita. Supporre anche che l indirizzo sia una semplice stringa di caratteri. Per i conti correnti, ignorare gli attributi. Domanda 3 (10%) Con riferimento ad un contesto bancario, ad esempio quello della domanda 1, supporre che, per ogni conto corrente, vengano memorizzate le condizioni (tasso di interesse, commissioni,...) che vengono applicate. Si supponga che esistano insiemi di condizioni predefinite, chiamate convenzioni, ciascuna con un codice e una descrizione testuale; ci sono poi i dettagli quantitativi (appunto tasso di interesse, commissioni,...) che trascuriamo; a ciascun conto corrente, si applichi in ciascun anno una specifica convenzione, che può variare di anno in anno (ma non in date intermedie). Con riferimento a tale contesto: 1. Mostrare un frammento di schema ER che modelli conti correnti, convenzioni e loro applicazione ai conti correnti. Per conti correnti e convenzioni mostrare solo l identificatore, ignorando gli altri attributi. 2. Tradurre tale schema nel modello relazionale (anche qui tralasciando gli attributi non chiave per conti correnti e convenzioni). Domanda 4 (15%) Considerare lo schema di base di dati seguente: Prodotti Cod Nome Categoria Vendite CodProd Data Quantità con vincolo di integrità referenziale fra CodProd di Vendite e Prodotti. Con riferimento ad esso, mostrare interrogazioni in algebra relazionale che calcolino: 1. le ennuple (Cod, Nome, Data) relative alle vendite con quantità maggiore di 10 (mostrando quindi codice identificativo e nome del prodotto e data della vendita) 2. le date in cui almeno due prodotti non hanno avuto vendite (si supponga che ci siano valori di quantità per tutti i prodotti e tutte le date, con valore zero se non ci sono state vendite). Domanda 5 (30%) Con riferimento allo stesso schema mostrare interrogazioni SQL che calcolino: 1. le ennuple (Cod, Nome, Data) relative alle vendite con quantità maggiore di 10 (stessa interrogazione del punto 1 della domanda precedente) 2. per ogni prodotto la quantità media venduta (si supponga che ci siano valori per tutti i prodotti e tutte le date e quindi sia sufficiente calcolare la media dei valori di Quantità per prodotto); mostrare Cod e Nome del prodotto e quantità media 3. le coppie (Data, CodProd) che indicano una data in cui un prodotto è stato venduto in quantità superiore alla media 4. per ogni data, il numero di prodotti che, in quella data, sono stati venduti in quantità superiore alla media (trascurare le date in cui nessun prodotto è stato venduto sopra media)

Basi di dati 9 febbraio 2010 Compito B Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli delle risposte; sul foglio protocollo, scrivere cognome e nome sulla facciata esterna Rispondere sui fogli appositamente predisposti; utilizzare il foglio protocollo per appunti o brutta copia e consegnarlo con all interno i fogli con le risposte. Non scrivere dopo lo scadere del tempo a disposizione, pari a un ora e quarantacinque minuti Domanda 1 (25%) Si supponga che interessi gestire i dati necessari alla produzione di estratti conto bancari, come quelli mostrati nella figura che segue, molto semplificati rispetto a quelli reali. Conto Corrente n. 33455 Titolare: Mario Rossi Indirizzo: Via Garibaldi, 33 00177 Roma Saldo iniziale: + 3.797,27 Data CodT Tipo Movimento Dettaglio Importo 03/09/2009 05 Prel. Bancomat Agenzia 27 Roma 300,00 10/09/2009 05 Prel. Bancomat Agenzia 23 Milano 500,00 15/09/2009 43 Pagamento POS Supermercato XY 201,12 27/09/2009 27 Emolumenti Stipendio settembre 2009 + 1.801,12 Saldo finale: + 4.597,27 Conto Corrente n. 43332 Titolare: Luigi Bianchi Indirizzo: Viale Mazzini, 56 00165 Roma Saldo iniziale: + 13.773,00 Data CodT Tipo Movimento Dettaglio Importo 10/09/2009 05 Prel. Bancomat Agenzia 23 Milano 500,00 15/09/2009 08 Assegno n.234122 460,00 17/09/2009 48 Bonifico a vs favore da Nicola Verdi + 1.200,00 24/09/2009 43 Pagamento POS Libreria XYZ 40,00 Saldo finale: + 13.973,00 Si noti e si assuma quanto segue: il numero identifica univocamente il conto corrente; titolare e indirizzo possono essere considerati come semplici stringhe di caratteri, senza modellazione ulteriore; gli estratti conto sono tutti relativi ad un certo periodo, che non interessa; quindi viene prodotto un solo estratto conto per ciascun conto corrente; il saldo iniziale è un valore memorizzato; il saldo finale è ottenuto come somma del saldo iniziale e dei movimenti; per ogni movimento elencato nella lista si può assumere (e si consiglia di farlo) che sia memorizzato nella base di dati un codice univoco che lo identifica (in modo completo; ad esempio, ciascuno degli otto movimenti mostrati in figura ha un codice diverso); nella lista dei movimenti, la colonna Tipo Movimento contiene un testo che dipende dal valore contenuto nella colonna CodT (si noti ad esempio che 05 corrisponde sempre a Prel. Bancomat e 43 a Pagamento POS ); quindi CodT è un codice che identifica Tipo Movimento; la colonna Dettaglio contiene invece un testo libero, che è associato allo specifico movimento e va considerato indipendente da CodT e Tipo Movimento. Con riferimento a queste specifiche: 1. definire uno schema concettuale (nel modello ER) che descriva la realtà di interesse; limitarsi agli aspetti esplicitamente richiesti; mostrare le cardinalità delle relationship, gli identificatori delle entità e gli eventuali vincoli non esprimili con lo schema; 2. mostrare lo schema relazionale corrispondente a tale schema concettuale e una sua istanza in forma tabellare, utilizzando i dati nell esempio (o una parte significativa di essi); indicare le chiavi primarie attraverso la sottolineatura. continua sul retro

Domanda 2 (15%) Con riferimento alla domanda precedente, si supponga che la banca mantenga un archivio dei clienti, con i relativi indirizzi. Mostrare tre frammenti di schema ER che modellino le tre diverse situazioni seguenti: 1. ad ogni conto corrente è associato uno e un solo cliente; ogni cliente può avere più conti correnti e ha lo stesso indirizzo per tutti; 2. ad ogni conto corrente sono associati uno o più clienti; ogni cliente può avere più conti correnti e può usare per ciascuno un indirizzo diverso; 3. stesse specifiche del precedente, ma con l osservazione che ogni cliente ha un indirizzo principale che viene usato salvo diversa specificazione (si pensi ai moduli in cui si trova scritto indirizzo per la corrispondenza, da indicare solo se diverso da quello di residenza ) In ciascuna, supporre che per ogni cliente siano di interesse codice fiscale, cognome, nome e data di nascita. Supporre anche che l indirizzo sia una semplice stringa di caratteri. Per i conti correnti, ignorare gli attributi. Domanda 3 (10%) Con riferimento ad un contesto bancario, ad esempio quello della domanda 1, supporre che, per ogni conto corrente, vengano memorizzate le condizioni (tasso di interesse, commissioni,...) che vengono applicate. Si supponga che esistano insiemi di condizioni predefinite, chiamate convenzioni, ciascuna con un codice e una descrizione testuale; ci sono poi i dettagli quantitativi (appunto tasso di interesse, commissioni,...) che trascuriamo; a ciascun conto corrente, si applichi in ciascun anno una specifica convenzione, che può variare di anno in anno (ma non in date intermedie). Con riferimento a tale contesto: 1. Mostrare un frammento di schema ER che modelli conti correnti, convenzioni e loro applicazione ai conti correnti. Per conti correnti e convenzioni mostrare solo l identificatore, ignorando gli altri attributi. 2. Tradurre tale schema nel modello relazionale (anche qui tralasciando gli attributi non chiave per conti correnti e convenzioni). Domanda 4 (15%) Considerare lo schema di base di dati seguente: Prodotti Id Nome Categoria Vendite IdProd Data Quantità con vincolo di integrità referenziale fra IdProd di Vendite e Prodotti. Con riferimento ad esso, mostrare interrogazioni in algebra relazionale che calcolino: 1. le ennuple (Id, Nome, Data) relative alle vendite con quantità maggiore di 10 (mostrando quindi codice identificativo e nome del prodotto e data della vendita) 2. le date in cui almeno due prodotti non hanno avuto vendite (si supponga che ci siano valori di quantità per tutti i prodotti e tutte le date, con valore zero se non ci sono state vendite). Domanda 5 (30%) Con riferimento allo stesso schema mostrare interrogazioni SQL che calcolino: 1. le ennuple (Id, Nome, Data) relative alle vendite con quantità maggiore di 10 (stessa interrogazione del punto 1 della domanda precedente) 2. per ogni prodotto la quantità media venduta (si supponga che ci siano valori per tutti i prodotti e tutte le date e quindi sia sufficiente calcolare la media dei valori di Quantità per prodotto); mostrare Id e Nome del prodotto e quantità media 3. le coppie (Data, IdProd) che indicano una data in cui un prodotto è stato venduto in quantità superiore alla media 4. per ogni data, il numero di prodotti che, in quella data, sono stati venduti in quantità superiore alla media (trascurare le date in cui nessun prodotto è stato venduto sopra media)

Basi di dati 9 febbraio 2010 Compito C Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli delle risposte; sul foglio protocollo, scrivere cognome e nome sulla facciata esterna Rispondere sui fogli appositamente predisposti; utilizzare il foglio protocollo per appunti o brutta copia e consegnarlo con all interno i fogli con le risposte. Non scrivere dopo lo scadere del tempo a disposizione, pari a un ora e quarantacinque minuti Domanda 1 (25%) Si supponga che interessi gestire i dati necessari alla produzione di estratti conto bancari, come quelli mostrati nella figura che segue, molto semplificati rispetto a quelli reali. Conto Corrente n. 33455 Titolare: Mario Rossi Indirizzo: Via Garibaldi, 33 00177 Roma Saldo iniziale: + 3.702,27 Data IdT Tipo Movimento Dettaglio Importo 03/09/2009 05 Prel. Bancomat Sportello 27 Roma 300,00 10/09/2009 05 Prel. Bancomat Sportello 23 Milano 500,00 15/09/2009 43 Pagamento POS Supermercato XY 201,12 27/09/2009 27 Emolumenti Stipendio settembre 2009 + 1.801,12 Saldo finale: + 4.502,27 Conto Corrente n. 43332 Titolare: Luigi Bianchi Indirizzo: Viale Mazzini, 56 00165 Roma Saldo iniziale: + 13.751,00 Data IdT Tipo Movimento Dettaglio Importo 10/09/2009 05 Prel. Bancomat Sportello 23 Milano 500,00 15/09/2009 08 Assegno n.234122 460,00 17/09/2009 48 Bonifico a vs favore da Nicola Verdi + 1.200,00 24/09/2009 43 Pagamento POS Libreria XYZ 40,00 Saldo finale: + 13.951,00 Si noti e si assuma quanto segue: il numero identifica univocamente il conto corrente; titolare e indirizzo possono essere considerati come semplici stringhe di caratteri, senza modellazione ulteriore; gli estratti conto sono tutti relativi ad un certo periodo, che non interessa; quindi viene prodotto un solo estratto conto per ciascun conto corrente; il saldo iniziale è un valore memorizzato; il saldo finale è ottenuto come somma del saldo iniziale e dei movimenti; per ogni movimento elencato nella lista si può assumere (e si consiglia di farlo) che sia memorizzato nella base di dati un codice univoco che lo identifica (in modo completo; ad esempio, ciascuno degli otto movimenti mostrati in figura ha un codice diverso); nella lista dei movimenti, la colonna Tipo Movimento contiene un testo che dipende dal valore contenuto nella colonna IdT (si noti ad esempio che 05 corrisponde sempre a Prel. Bancomat e 43 a Pagamento POS ); quindi IdT è un codice che identifica Tipo Movimento; la colonna Dettaglio contiene invece un testo libero, che è associato allo specifico movimento e va considerato indipendente da IdT e Tipo Movimento. Con riferimento a queste specifiche: 1. definire uno schema concettuale (nel modello ER) che descriva la realtà di interesse; limitarsi agli aspetti esplicitamente richiesti; mostrare le cardinalità delle relationship, gli identificatori delle entità e gli eventuali vincoli non esprimili con lo schema; 2. mostrare lo schema relazionale corrispondente a tale schema concettuale e una sua istanza in forma tabellare, utilizzando i dati nell esempio (o una parte significativa di essi); indicare le chiavi primarie attraverso la sottolineatura. continua sul retro

Domanda 2 (15%) Con riferimento alla domanda precedente, si supponga che la banca mantenga un archivio dei clienti, con i relativi indirizzi. Mostrare tre frammenti di schema ER che modellino le tre diverse situazioni seguenti: 1. ad ogni conto corrente è associato uno e un solo cliente; ogni cliente può avere più conti correnti e ha lo stesso indirizzo per tutti; 2. ad ogni conto corrente sono associati uno o più clienti; ogni cliente può avere più conti correnti e può usare per ciascuno un indirizzo diverso; 3. stesse specifiche del precedente, ma con l osservazione che ogni cliente ha un indirizzo principale che viene usato salvo diversa specificazione (si pensi ai moduli in cui si trova scritto indirizzo per la corrispondenza, da indicare solo se diverso da quello di residenza ) In ciascuna, supporre che per ogni cliente siano di interesse codice fiscale, cognome, nome e data di nascita. Supporre anche che l indirizzo sia una semplice stringa di caratteri. Per i conti correnti, ignorare gli attributi. Domanda 3 (10%) Con riferimento ad un contesto bancario, ad esempio quello della domanda 1, supporre che, per ogni conto corrente, vengano memorizzate le condizioni (tasso di interesse, commissioni,...) che vengono applicate. Si supponga che esistano insiemi di condizioni predefinite, chiamate convenzioni, ciascuna con un codice e una descrizione testuale; ci sono poi i dettagli quantitativi (appunto tasso di interesse, commissioni,...) che trascuriamo; a ciascun conto corrente, si applichi in ciascun anno una specifica convenzione, che può variare di anno in anno (ma non in date intermedie). Con riferimento a tale contesto: 1. Mostrare un frammento di schema ER che modelli conti correnti, convenzioni e loro applicazione ai conti correnti. Per conti correnti e convenzioni mostrare solo l identificatore, ignorando gli altri attributi. 2. Tradurre tale schema nel modello relazionale (anche qui tralasciando gli attributi non chiave per conti correnti e convenzioni). Domanda 4 (15%) Considerare lo schema di base di dati seguente: Prodotti Cod Nome Categoria Vendite CodProd Data Quantità con vincolo di integrità referenziale fra CodProd di Vendite e Prodotti. Con riferimento ad esso, mostrare interrogazioni in algebra relazionale che calcolino: 1. le ennuple (Cod, Nome, Data) relative alle vendite con quantità maggiore di 10 (mostrando quindi codice identificativo e nome del prodotto e data della vendita) 2. le date in cui almeno due prodotti non hanno avuto vendite (si supponga che ci siano valori di quantità per tutti i prodotti e tutte le date, con valore zero se non ci sono state vendite). Domanda 5 (30%) Con riferimento allo stesso schema mostrare interrogazioni SQL che calcolino: 1. le ennuple (Cod, Nome, Data) relative alle vendite con quantità maggiore di 10 (stessa interrogazione del punto 1 della domanda precedente) 2. per ogni prodotto la quantità media venduta (si supponga che ci siano valori per tutti i prodotti e tutte le date e quindi sia sufficiente calcolare la media dei valori di Quantità per prodotto); mostrare Cod e Nome del prodotto e quantità media 3. le coppie (Data, CodProd) che indicano una data in cui un prodotto è stato venduto in quantità superiore alla media 4. per ogni data, il numero di prodotti che, in quella data, sono stati venduti in quantità superiore alla media (trascurare le date in cui nessun prodotto è stato venduto sopra media)

Basi di dati 9 febbraio 2010 Compito D Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli delle risposte; sul foglio protocollo, scrivere cognome e nome sulla facciata esterna Rispondere sui fogli appositamente predisposti; utilizzare il foglio protocollo per appunti o brutta copia e consegnarlo con all interno i fogli con le risposte. Non scrivere dopo lo scadere del tempo a disposizione, pari a un ora e quarantacinque minuti Domanda 1 (25%) Si supponga che interessi gestire i dati necessari alla produzione di estratti conto bancari, come quelli mostrati nella figura che segue, molto semplificati rispetto a quelli reali. Conto Corrente n. 33455 Titolare: Mario Rossi Indirizzo: Via Garibaldi, 33 00177 Roma Saldo iniziale: + 3.797,27 Data CodT Tipo Movimento Dettaglio Importo 03/09/2009 05 Prel. Bancomat Agenzia 27 Roma 300,00 10/09/2009 05 Prel. Bancomat Agenzia 23 Milano 500,00 15/09/2009 43 Pagamento POS Supermercato XY 201,12 27/09/2009 27 Emolumenti Stipendio settembre 2009 + 1.801,12 Saldo finale: + 4.597,27 Conto Corrente n. 43332 Titolare: Luigi Bianchi Indirizzo: Viale Mazzini, 56 00165 Roma Saldo iniziale: + 13.773,00 Data CodT Tipo Movimento Dettaglio Importo 10/09/2009 05 Prel. Bancomat Agenzia 23 Milano 500,00 15/09/2009 08 Assegno n.234122 460,00 17/09/2009 48 Bonifico a vs favore da Nicola Verdi + 1.200,00 24/09/2009 43 Pagamento POS Libreria XYZ 40,00 Saldo finale: + 13.973,00 Si noti e si assuma quanto segue: il numero identifica univocamente il conto corrente; titolare e indirizzo possono essere considerati come semplici stringhe di caratteri, senza modellazione ulteriore; gli estratti conto sono tutti relativi ad un certo periodo, che non interessa; quindi viene prodotto un solo estratto conto per ciascun conto corrente; il saldo iniziale è un valore memorizzato; il saldo finale è ottenuto come somma del saldo iniziale e dei movimenti; per ogni movimento elencato nella lista si può assumere (e si consiglia di farlo) che sia memorizzato nella base di dati un codice univoco che lo identifica (in modo completo; ad esempio, ciascuno degli otto movimenti mostrati in figura ha un codice diverso); nella lista dei movimenti, la colonna Tipo Movimento contiene un testo che dipende dal valore contenuto nella colonna CodT (si noti ad esempio che 05 corrisponde sempre a Prel. Bancomat e 43 a Pagamento POS ); quindi CodT è un codice che identifica Tipo Movimento; la colonna Dettaglio contiene invece un testo libero, che è associato allo specifico movimento e va considerato indipendente da CodT e Tipo Movimento. Con riferimento a queste specifiche: 1. definire uno schema concettuale (nel modello ER) che descriva la realtà di interesse; limitarsi agli aspetti esplicitamente richiesti; mostrare le cardinalità delle relationship, gli identificatori delle entità e gli eventuali vincoli non esprimili con lo schema; 2. mostrare lo schema relazionale corrispondente a tale schema concettuale e una sua istanza in forma tabellare, utilizzando i dati nell esempio (o una parte significativa di essi); indicare le chiavi primarie attraverso la sottolineatura. continua sul retro

Domanda 2 (15%) Con riferimento alla domanda precedente, si supponga che la banca mantenga un archivio dei clienti, con i relativi indirizzi. Mostrare tre frammenti di schema ER che modellino le tre diverse situazioni seguenti: 1. ad ogni conto corrente è associato uno e un solo cliente; ogni cliente può avere più conti correnti e ha lo stesso indirizzo per tutti; 2. ad ogni conto corrente sono associati uno o più clienti; ogni cliente può avere più conti correnti e può usare per ciascuno un indirizzo diverso; 3. stesse specifiche del precedente, ma con l osservazione che ogni cliente ha un indirizzo principale che viene usato salvo diversa specificazione (si pensi ai moduli in cui si trova scritto indirizzo per la corrispondenza, da indicare solo se diverso da quello di residenza ) In ciascuna, supporre che per ogni cliente siano di interesse codice fiscale, cognome, nome e data di nascita. Supporre anche che l indirizzo sia una semplice stringa di caratteri. Per i conti correnti, ignorare gli attributi. Domanda 3 (10%) Con riferimento ad un contesto bancario, ad esempio quello della domanda 1, supporre che, per ogni conto corrente, vengano memorizzate le condizioni (tasso di interesse, commissioni,...) che vengono applicate. Si supponga che esistano insiemi di condizioni predefinite, chiamate convenzioni, ciascuna con un codice e una descrizione testuale; ci sono poi i dettagli quantitativi (appunto tasso di interesse, commissioni,...) che trascuriamo; a ciascun conto corrente, si applichi in ciascun anno una specifica convenzione, che può variare di anno in anno (ma non in date intermedie). Con riferimento a tale contesto: 1. Mostrare un frammento di schema ER che modelli conti correnti, convenzioni e loro applicazione ai conti correnti. Per conti correnti e convenzioni mostrare solo l identificatore, ignorando gli altri attributi. 2. Tradurre tale schema nel modello relazionale (anche qui tralasciando gli attributi non chiave per conti correnti e convenzioni). Domanda 4 (15%) Considerare lo schema di base di dati seguente: Prodotti Id Nome Categoria Vendite IdProd Data Quantità con vincolo di integrità referenziale fra IdProd di Vendite e Prodotti. Con riferimento ad esso, mostrare interrogazioni in algebra relazionale che calcolino: 1. le ennuple (Id, Nome, Data) relative alle vendite con quantità maggiore di 10 (mostrando quindi codice identificativo e nome del prodotto e data della vendita) 2. le date in cui almeno due prodotti non hanno avuto vendite (si supponga che ci siano valori di quantità per tutti i prodotti e tutte le date, con valore zero se non ci sono state vendite). Domanda 5 (30%) Con riferimento allo stesso schema mostrare interrogazioni SQL che calcolino: 1. le ennuple (Id, Nome, Data) relative alle vendite con quantità maggiore di 10 (stessa interrogazione del punto 1 della domanda precedente) 2. per ogni prodotto la quantità media venduta (si supponga che ci siano valori per tutti i prodotti e tutte le date e quindi sia sufficiente calcolare la media dei valori di Quantità per prodotto); mostrare Id e Nome del prodotto e quantità media 3. le coppie (Data, IdProd) che indicano una data in cui un prodotto è stato venduto in quantità superiore alla media 4. per ogni data, il numero di prodotti che, in quella data, sono stati venduti in quantità superiore alla media (trascurare le date in cui nessun prodotto è stato venduto sopra media)

Risposte Cognome Nome Matricola Corso di studio Compito Domanda 1 1. Schema concettuale 2. Schema relazionale e istanza

Risposte Cognome Nome Matricola Corso di studio Compito Domanda 2 Schema 1 Schema 2 Schema 3 Domanda 3 1. Schema ER 2. Schema relazionale

Risposte Cognome Nome Matricola Corso di studio Compito Domanda 4 Interrogazione 1 Interrogazione 2 Domanda 5 Interrogazione 1 Interrogazione 2 Interrogazione 3 Interrogazione 4