file! - Dimes

annuncio pubblicitario
Nome insegnamento: BASI DI DATI
Articolazione in moduli: NO
Settore Scientifico Disciplinare: ING-INF/05
Docente responsabile:
Filippo Furfaro
Crediti formativi universitari: 9
Numero ore lezioni: 57
Numero ore riservate attività didattiche assistite: 84 Numero ore esercitazioni: 27
Numero ore attività di laboratorio:
Tipologia di attività formativa (TAF): attività caratterizzante
Lingua di insegnamento: Italiano
Anno di corso e Periodo didattico di erogazione: II ANNO, II SEMESTRE
Insegnamento/i Propedeutico/i: Algoritmi, strutture dati
Risultati d’apprendimento previsti e competenze da acquisire:
Il corso presenta i concetti fondamentali delle basi di dati, con particolare riguardo ai modelli di
rappresentazione delle informazioni, le metodologie di progettazione, ed i linguaggi di interrogazione. In
particolare, il corso mira a fornire le seguenti competenze:
- comprensione dell'architettura, delle funzionalità, e degli ambiti applicativi dei sistemi per la
gestione delle basi di dati (DBMS);
- capacità di progettare una base di dati secondo delle specifiche date;
- capacità di interpretare il progetto di una base di dati già esistente;
- capacità di interrogare una base di dati, per estrarre da esse informazioni di interesse;
- comprensione dei concetti fondamentali relativi al funzionamento efficiente di un DBMS
- comprensione delle caratteristiche fondamentali di modelli dati (quali il modello semistrutturato)
diversi da quelli tradizionalmente usati nei DBMS, e dei linguaggi di manipolazione orientati a tali
modelli
- capacità di saper sfruttare le tecnologia dei database nella risoluzione di problematiche
riguardanti la gestione dei dati
Argomenti delle lezioni:
Il programma si articola nelle fasi di seguito dettagliate.
Introduzione: Sistemi informativi, informazioni e dati. Basi di dati e sistemi di gestione di basi di dati.
Modelli dei dati. Linguaggi e utenti delle basi di dati. Vantaggi e svantaggi dei DBMS.
Metodologie e modelli per il progetto: Il ciclo di vita dei sistemi informativi. Metodologie di progettazione
e basi di dati. Il modello Entità-Relazione: Entità, Relazioni, Cardinalità, Attributi, Gerarchie.
Documentazione di schemi E-R.
Il modello relazionale: Modello logico. Schema, istanza di una base di dati. Relazioni e tabelle, attributi.
Informazione incompleta e valori nulli. Chiave, Superchiave. Vincoli di integrità (di dominio, di tupla).
Vincoli di integrità' referenziale.
La progettazione logica: Ristrutturazione di schemi E-R. Analisi delle ridondanze. Eliminazione delle
gerarchie. Partizionamento/accorpamento di concetti. Scelta degli identificatori principali. Traduzione
verso il modello relazionale. Documentazione di schemi logici. Esempi di progettazione logica.
Algebra relazionale: Operatori insiemistici: Unione, intersezione, differenza, prodotto. Ridenominazione.
Selezione. Proiezione. Join. Interrogazioni in algebra relazionale. Equivalenza di espressioni algebriche.
Algebra con valori nulli. Viste. Calcolo relazionale su attributi e su tuple.
SQL: Definizione dei dati in SQL (DDL). I domini elementari. Definizione di schema. Definizione delle
tabelle. Definizione dei domini. Specifica di valori di default. Vincoli intrarelazionali. Vincoli
interrelazionali. Modifica degli schemi. Interrogazioni in SQL. Interrogazioni semplici. Operatori aggregati.
Interrogazioni con raggruppamento. Interrogazioni nidificate. Manipolazione dei dati in SQL. Inserimento.
Cancellazione. Modifica. Vincoli di integrità generici. Asserzioni. Viste. Cenni di Embedded SQL.
La normalizzazione: Ridondanze e anomalie. Dipendenze funzionali. Terza Forma Normale. Forma
normale di Boyce e Codd. Decomposizioni. Proprietà e Qualità delle decomposizioni. Progettazione di
basi di dati e normalizzazione.
Indicizzazione: Concetto di indice. Tecniche di hash. Hash statico e dinamico. Hash virtuale, estendibile,
lineare. Indici B-tree e varianti.
Gestione delle transazioni: Concetto di transazione: proprietà di atomicità, consistenza, isolamento,
durabilità. Meccanismi per la gestione delle transazioni nelle basi di dati. Livelli di isolamento.
Dati semistrutturati: Il linguaggio di rappresentazione XML. Definizione dello schema dei dati mediante
DTD.
Interrogazione di documenti XML: XPath ed XQuery.
Argomenti delle esercitazioni:
- Progettazione concettuale, logica e fisica di una base di dati
- Interrogazione di una base di dati mediante algebra relazionale ed SQL
- Definizione di indici opportuni a supporto di interrogazioni efficienti
- Normalizzazione di uno schema relazionale
- Definizione dello schema di un documento XML mediante DTD.
- Interrogazioni di documenti XML mediante XPath ed XQuery.
Modalità di erogazione della didattica:
Lezioni frontali
Metodi di valutazione:
Prova scritta ed orale, entrambe obbligatorie.
Criteri di valutazione dell’apprendimento:
I criteri utilizzati consistono nella valutazione del livello di comprensione e delle capacità maturate nei
seguenti ambiti:
- Livello di comprensione dell'architettura, delle funzionalità, e degli ambiti applicativi dei sistemi
per la gestione delle basi di dati (DBMS);
- capacità di progettare una base di dati secondo delle specifiche date;
- capacità di interpretare il progetto di una base di dati già esistente;
- capacità di interrogare una base di dati, per estrarre da esse informazioni di interesse;
- capacità di determinazione degli strumenti più adeguati per ottenere il funzionamento efficiente
di un DBMS;
- capacità di utilizzo di modelli dati (quali il modello semistrutturato) diversi da quelli
tradizionalmente usati nei DBMS, e dei linguaggi di manipolazione orientati a tali modelli.
Criteri di misurazione dell’apprendimento:
voto finale
Criteri di attribuzione del voto finale:
Opportuna aggregazione delle valutazioni riportate nelle prove scritte ed orali
Testi di riferimento e materiale didattico utilizzato e consigliato:
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone, Basi di dati – Modelli e linguaggi di interrogazione, McGraw
Hill.
A. Albano, Costruire sistemi per basi di dati, Addison Wesley
A. Silberschatz, H. F. Korth, S. Sudarshan, Database System concepts, McGraw Hill.
J. D. Ullman, Principles of Database and Knowledge-Base Systems, Volume I. Computer Science Press
Orario e aule lezioni:
Calendario prove valutazione:
http://www.dimes.unical.it/index.php/didattica
Scarica