Secondo Compitino di Basi di Dati



Documenti analoghi
Prova Scritta di Basi di Dati

Organizzazione degli archivi

Decomposizione senza perdita. Decomposizione senza perdita. Conservazione delle dipendenze. Conservazione delle dipendenze

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Operazioni sui database

DIP. FUNZIONALI E FORME NORMALI esempi cfr. Albano Ghelli Orsini Basi di dati relazionali e a oggetti Zanichelli, 1997, cap.6 RIDONDANZE E ANOMALIE

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

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

Raffinamento dello schema e forme normali. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

BASI DI DATI DIPENDENZE FUNZIONALI E FORME NORMALI

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

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

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Access. P a r t e p r i m a

Progettaz. e sviluppo Data Base

Definizione di domini

Il linguaggio SQL: query innestate

Vincoli di integrità

MODELLO RELAZIONALE. Introduzione

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Progettazione di Database. Un Esempio

I database relazionali (Access)

Le Basi di Dati. Le Basi di Dati

Gestione Voti Scolastici

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

TEORIA sulle BASI DI DATI

Normalizzazione. Relazionali

Guida all uso di Java Diagrammi ER

Progettazione di un Database

Progettazione di Basi di Dati

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Corso di Amministrazione di Reti A.A. 2002/2003

Informatica (Basi di Dati)

Progettazione concettuale

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

PROCEDURA N. 22 Gestione dei numeri di cellulare

BASE DI DATI: sicurezza. Informatica febbraio ASA

Basi di dati 9 febbraio 2010 Compito A

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

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

70555 Informatica Sicurezza Mario Rossi Anna Bianchi. Esempio istanza:

Progettazione logica relazionale (1/2)

DBMS (Data Base Management System)

Normalizzazione (Codd, 1972)

Capitolo 13. Interrogare una base di dati

COSTER. Import/Export su SWC701. SwcImportExport

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Sistemi per la gestione di database: MySQL ( )

Esercizio data base "Biblioteca"

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Il Modello Relazionale

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

LA NORMALIZZAZIONE. Introduzione

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

Esercizio sui data base "Gestione conti correnti"

Gestione Turni. Introduzione

DATABASE RELAZIONALI

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Basi di dati I Soluzione Quinto Homework del 9 gennaio 2013

Volumi di riferimento

Gestione Rapporti (Calcolo Aree)

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

Modello relazionale. ing. Alfredo Cozzi 1

DATABASE. A cura di Massimiliano Buschi

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

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

MANUALE PARCELLA FACILE PLUS INDICE

P a g i n a 1 MANUALE OPERATIVO CIA COMINUCA

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

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

Ottimizzazione delle interrogazioni (parte I)

Dispensa di database Access

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Prova Scritta di Basi di Dati

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

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

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

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

Basi di Dati. Conversione Modello ER in Modello Relazionale. K. Donno - Conversione Modello ER in Modello Relazionale

FORME NORMALI E DIPENDENZE

Manuale di utilizzo del sito ASUWEB

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

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

CREAZIONE DI UN AZIENDA

Progettazione Logica. Progettazione Logica

File, Modifica, Visualizza, Strumenti, Messaggio

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Database 1 biblioteca universitaria. Testo del quesito

Basi di dati I. Esercitazione proposta

Progettazione di una base di dati Ufficio della Motorizzazione

Manuale Gestore. Utilizzo Programma. Magazzino

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

per scrivere un articolo da prima pagina! per inviare una newsletter Come si crea Comunicazione Anfaa Edizione 4a.2013

Transcript:

Secondo Compitino di Basi di Dati 10 Giugno 2004 NOME: COGNOME: MATRICOLA: Esercizio Punti previsti 1 18 2 12 3 3 Totale 33 Punti assegnati

Esercizio 1 (Punti 18) Si vuole realizzare un applicazione per gestire le revisioni degli articoli sottomessi ad un certo insieme di conferenze. Ogni conferenza e caratterizzata da un nome, dall anno e dal luogo in cui si svolge. Una conferenza con un certo nome viene in generale ripetuta per vari anni. Ad ogni conferenza, vengono sottomessi degli articoli scientifici. Per ogni conferenza, si mantiene il numero di articoli sottomessi alla stessa. Un articolo puo essere sottomesso ad al piu una conferenza. Ogni articolo e caratterizzato da numero identificativo, unico per ogni conferenza, titolo, dal numero di pagine. Ogni articolo e scritto da un certo numero di autori. Per ogni autore, si registra il nome, il cognome, l affiliazione (indirizzo ente di appartenenza), l indirizzo email e il numero di telefono. Tra gli autori di ogni articolo ne esiste sempre uno principale, chiamato contact author, al quale vengono inviate le varie comunicazioni. Per ogni conferenza, esiste un comitato di programma che revisiona i lavori. Ogni comitato di programma e formato da esperti del settore. Per ciascun esperto si mantiene il nome, il cognome, affiliazione, indirizzo email, numero di telefono. Un esperto del settore puo fare parte di piu comitati di programma diversi e puo anche sottomettere articoli. Ad ogni esperto viene assegnato un certo numero di lavori per ogni conferenza a cui partecipa come membro del comitato di programma. Per ogni lavoro, l esperto fornisce una valutazione. Ogni articolo viene valutato da almeno tre esperti della conferenza a cui e stato sottomesso. Ogni valutazione e costituita da un insieme di parametri (originalita, presentazione, valore tecnico, valutazione complessiva), a ciascuno dei quali viene attribuito un valore da 0 a 5. Si richiede di: a) Definire uno schema ER per la situazione sopra descritta. Precisare la cardinalità delle associazioni e degli attributi (se diversa da quella di default), i vincoli di identificazioni (chiavi) e la tipologia delle generalizzazioni.

nu titol conferenz e (0,n sottom essi (3,n (1,1 articoli n_pa Nome anno luogo n_pag (1,n) (1,1 (1,n (1,n Relativ o a Esperti del settore (1,n (p,e revisio na Contac t auth (0,n Scritto da autori (0,n revision Nome Cognome affiliazione email tel originalita presentazione valore tecnico b) Precisare eventuali vincoli di integrità non rappresentabili nello schema ER proposto. 1. Conferenze.N_art deve corrispondere al numero di articoli sottomessi alla conferenza. 2. Gli articoli vengono referati dai membri del comitato di programma della conferenza a cui sono stati sottomessi. 3. Originalita, presentazione, valore tecnico e valutazione compresi tra 0 e 5, c) Generare lo schema ristrutturato corrispondente allo schema ER definito al punto a), indicando eventuali nuovi vincoli di integrita.

Num nomec AnnoC titolo conferenz e articoli (3,n) n_pag Nome anno luogo n_art (1,1) (1,n) Relativ o a (1,n) revisio na (0,n) Contac t autho (0,n) Scritto da autori (0,n) esperto (0,n) Nome Cognome affiliazione email tel originalita presentazione valore tecnico Nuovi vincoli: 1. esperto in { si, no } 2. Le conferenze possono essere associate tramite a Relativo_a solo ad esperti 3. Solo gli esperti revisionano gli articoli d) Realizzare uno schema relazionale corrispondente allo schema ristrutturato definito al punto c), indicando le chiavi, le chiavi esterne (usare una freccia dagli attributi riferenti a quelli riferiti), gli attributi che possono essere nulli e le eventuali chiavi secondarie. CONFERENZE(Nome, Anno, Luogo, N_Art) ARTICOLI(Num, NomeC, AnnoC, Titolo, N_pag, Email_contact_author) AUTORI(Email, Nome, Cognome, Affiliazione, Tel, Esperto) SCRITTO_DA (Num, NomeC, AnnoC, Email) RELATIVO_A(Nome,Anno, Email) REVISIONA(Num, NomeC, AnnoC, Email)

e) Indicare eventuali ottimizzazioni che potrebbero essere applicate allo schema logico ottenuto. Si potrebbe inserire un codice per la conferenza, in modo da evitare di usare chiavi composte.

Esercizio 2 (Punti 12) a) Si consideri lo schema relazionale R(ABCDEF) con le seguenti dipendenze funzionali: A BCE BC E B AC Si richiede di 1. Determinare se l insieme delle dipendenze è minimale. Se non lo è, generare l insieme di dipendenze minimale equivalente a quello dato. Giustificare la risposta. Divido le parti destre: A C A E BC E B C A B B A In BC E, C puo essere eliminato perche E appartiene a (B)+. Si ottiene B E A E puo essere eliminata (si ottiene per transitivita da A B e B E) B C puo essere eliminata (si ottiene per transitivita da B A e A C) Non ci sono altre dipendenze o attributi ridondanti. L insieme minimale e : A C B E A B B A 2. Determinare le chiavi della relazione. Giustificare la risposta. DF non compaiono a sinistra, quindi appartengono alla chiave. DF+ = DF Provo ad estendere con altri attributi ADF+ = ADFBCE chiave BDF+ = BDFACE chiave Non ci sono altre chiavi (gli altri attributi non compaiono a sinistra). 3. Lo schema è in BCNF? É in 3NF? Giustificare le risposte. Non e in BCNF ( A non e chiave). Non e in 3NF (B non e chiave, E non e primo, quindi B E viola) 4. Mostrare una decomposizione lossless join dello schema in 3NF. Lo schema risultante e in BCNF? Giustificare la risposta. AC A C chiave A BCNF BE B E chiave B BCNF

AB A B, B A chiavi A, B BCNF ADF - chiave ADF BCNF 5. Mostrare una decomposizione lossless join dello schema in BCNF, che sia diversa da quella eventualmente trovata al punto 4. Lo schema trovato preserva le dipendenze? Giustificare la risposta. ABCDEF A BC B AE Chiavi: ADF, BDF ABC A BC B A chiave ADF BCNF ADEF A E Chiave A AE ADF A E - Chiave A chiave ADF BCNF BCNF Lo schema risultante e : ABC, AE, ADF Lo schema preserva le dipendenze.

Esercizio 3 (Punti 3) Per ogni domanda, una sola risposta è corretta. Per ogni risposta corretta viene assegnato un punto. Alle riposte sbagliate vengono assegnati 0 punti. a) State sviluppando un applicazione e vi rendete conto che, per le interrogazioni che dovete eseguire, sarebbe utile clusterizzare la tabella Impiegati insieme ai Dipartimenti, sulla base del codice del dipartimento. Cosa fate: 1. Eseguite il comando opportuno per creare il clustering ritenuto necessario. 2. Nulla, una volta creata la tabella secondo una certa modalita, la clusterizzazione non puo essere cambiata. 3. Chiedete all amministratore del sistema per capire se e possibile modificare la clusterizzazione. 4. Chiedete all amministratore, che vi rispondera sicuramente di no. b) Si consideri la seguente interrogazione: SELECT Imp# FROM Impiegati WHERE Stipendio = 1000 OR Stipendio > 1500; Sapendo che la tabella Impiegati e dinamica (cioe soggetta a modifiche frequenti), per rendere piu efficiente l esecuzione dell interrogazione precedente, la soluzione migliore e : 1. Creare un indice ad albero sparso sul campo Stipendio. 2. Creare un indice ad albero denso sul campo Stipendio. 3. Organizzazione hash sul campo Stipendio. 4. L organizzazione ad albero e l organizzazione hash garantiscono le stesse prestazioni. c) Avete creato la tabella Impiegati. Adesso volete che l utente Rossi possa aggiornare solo tuple relative ad impiegati assegnati al dipartimento 10. 1. Non potete concedere il diritto di UPDATE se prima non vi e stato delegato. 2. Poiche avete creato la tabella Impiegati, potete concedere il diritto di UPDATE a Rossi. 3. Per concedere il diritto di UPDATE, dovete avere acquisito tale diritto con GRANT OPTION. 4. Il diritto puo essere concesso ma dipende dagli oggetti esistenti nello schema della base di dati.