| Programma |
Introduzione (0.5 crediti)
Introduzione Scopi di un DBMS, modelli dei dati, schemi e istanze, Data Definition Language, Data Manipulation Language, Architettura di un DBMS, il ciclo di vita dei sistemi informativi, metodologia di progettazione di un sistema informativo
Modellazione di un Sistema Informativo (1.5 crediti)
Modello Entità-Relazione Entità, Relazioni o associazioni, attributi, costruzioni di schemi con i costrutti di base, cardinalità delle relazioni, cardinalità degli attributi, identificatori o chiavi, generalizzazioni, documentazione degli schemi E/R, ulteriori usi degli schemi E/R.
Modello Relazionale Relazioni e tabelle, relazioni con attributi, relazioni e basi di dati, informazione incompleta e valori nulli, vincoli di integrità, vincoli di dominio, vincoli di tupla, chiavi, chiavi e valori nulli, vincoli di integrità referenziale.
Analisi dei requisiti e progettazione di un Sistema Informativo (1 credito)
Specifica e analisi dei requisiti Definizione del contesto di riferimento, tecniche per la specifica e l’analisi dei requisiti
Progettazione della componente dati Introduzione, Metodologia generale di progettazione concettuale, criteri generali di rappresentazione di una realtà in un diagramma E/R, progettazione concettuale in un caso reale, ristrutturazione di schemi E/R nella progettazione logica, analisi delle ridondanze, eliminazione delle gerarchie, partizionamento/accorpamento di concetti, eliminazione di attributi multivalore, eliminazione degli attributi composti, scelta degli identificatori principali, traduzione verso il modello relazionale, progettazione logica di un caso reale, introduzione alla Progettazione Fisica, adattamento dello schema logico al DBMS prescelto, analisi delle transazioni, scelta dell’organizzazione dei file, scelta degli indici, stima delle richieste di spazio su disco, progettazione fisica di un caso reale.
Progettazione della componente applicativa Introduzione, definizione dell’architettura, definizione dei mock-up, definizione del diagramma delle classi, l’Object Relational Mapping.
I linguaggi di gestione delle basi di dati (1.5 crediti)
Algebra Relazionale Introduzione all’Algebra Relazionale, Selezione, Proiezione, Rename, Unione, Differenza, Intersezione, Prodotto Cartesiano, Theta Join, Equi Join, Natural Join, Semi Join, Outer Join, Divisione.
SQL Introduzione ad SQL, il Data Definition Language di SQL, tipi di dati, creazione di tabelle, cancellazione di tabelle, modifica di tabelle, valori di default, dichiarazione delle chiavi, la clausola UNIQUE, la clausola NOT NULL, vincoli di integrità referenziale, specifica dei vincoli di dominio e di tupla mediante la clausola CHECK, specifica dei vincoli intra-relazionali e inter-relazionali mediante le asserzioni
Il Query Language di SQL, dichiaratività di SQL, interrogazioni semplici, l’istruzione LIKE, gestione dei valori nulli, interpretazione algebrica delle interrogazioni SQL, gestione dei duplicati, inner e outer join, uso di variabili, ordinamento, operatori aggregati, interrogazioni con raggruppamento, predicati sui gruppi, interrogazioni di tipo insiemistica, interrogazioni nidificate, l’operatore EXISTS, gestione dei concetti di “tutti” e “solo” in SQL.
Inserimento, rimozione e modifica dei dati in SQL.
Gestione delle viste in SQL.
Aspetti Tecnologici (0.5 crediti)
Tranzazioni Definizione di transazione, proprietà delle transazioni, controllo della concorrenza, architettura di un sistema per il controllo della concorrenza, anomalie delle transazioni concorrenti, teoria del controllo della concorrenza, locking a due fasi, lock gerarchico.
Forme Normali Lo scopo della Normalizzazione, ridondanza dei dati e anomalie di aggiornamento, dipendenze funzionali, regole di inferenza delle dipendenze funzionali, il processo di normalizzazione, la Prima Forma Normale, la Seconda Forma Normale, la Terza Forma Normale, Definizioni generali di 2NF e 3NF, la Boyce-Codd Normal Form.
Il DBMS MySQL (1 credito)
Installazione di MySQL, SQL in MySQL, gestione di semplici applicazioni in MySQL.
|
| Testi docente |
• P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone, “Basi di Dati – Modelli e linguaggi di interrogazione”, Quarta Edizione, McGraw Hill, 2013 • M. Fowler, “UML Distilled”, III Edizione, Addison Wesley, 2004 • H. Garcia-Molina, J.D. Ullman, J. Widom, “Database Systems – The complete book”, Second Edition, Pearson Education, 2008. • Silberschatz, H.F. Korth, S. Sudarshan, “Database System Concepts”, VI Edizione, McGraw Hill, 2010 • R. Ramakrishnan, J. Gehrke, “Sistemi di Basi di Dati”, McGraw Hill, 2004 • T. Connolly, C. Begg, “Database Systems”, V Edizione, Pearson Education, 2009
Eventuali dispense fornite dal docente
|