Basi di dati

Codice insegnamento: 085876

Basi di dati - 061420 ord. 509, Basi di dati e web, modulo 1 Basi di dati - 087177 ord. 270

Anno accademico 2019/2020

Prof. Giuseppe POZZI

Allievi

Corsi di Laurea in Ingegneria Informatica

Obiettivi

Obiettivo della prima parte del corso è introdurre gli aspetti teorici delle basi di dati ed i linguaggi per la gestione e l’interrogazione dei dati in esse contenuti. Tale parte è corredata da alcune esercitazioni in laboratorio, che permetteranno agli studenti di utilizzare un DataBase Management System (DBMS), così da applicare in pratica i concetti introdotti durante le lezioni in aula.
La seconda parte del corso verte invece sui modelli concettuali, sulle metodologie e sulle tecniche per la progettazione di una base di dati a partire dai suoi requisiti. Superato il corso, lo studente sarà in grado di progettare e realizzare basi di dati di media complessità, e sviluppare applicazione che le utilizzino.

Distribuzione indicativa dell’attività didattica

Ore di lezione: 30, ore di esercitazione: 20.

Programma delle lezioni e delle esercitazioni

Lezioni

Le lezioni sono raggruppate in unita' didattiche. Ogni unita' didattica tratta uno specifico argomenti
  1. INTRODUZIONE AL CORSO
    1. Il sistema informativo nell'azienda
    2. Caratteristiche dei DBMS e concetto di transazione
    3. Utenti, strumenti e moduli di un DBMS
  2. TEORIA RELAZIONALE
    1. Il modello relazionale dei dati, sua definizione (informale e formale) e concetti fondamentali
    2. Algebra relazionale: operazioni unarie e binarie
    3. Interrogazioni in algebra relazionale e loro ottimizzazione
    4. Calcolo relazionale: definizione, equivalenza fra algebra relazionale e calcolo relazionale
    5. Datalog: definizione, interrogazioni ricorsive, specifica di vincoli di integrità
    6. Relazioni tra i poteri espressivi dei linguaggi formali presentati
  3. LINGUAGGI PER BASI DI DATI
    1. Introduzione a SQL: standardizzazione di SQL, domini SQL, vincoli e semplice definizione di tabelle
    2. SQL come DDL: integrità referenziale, definizione di schemi e loro modifica, cataloghi relazionali
    3. Interrogazioni SQL semplici, interrogazioni con ordinamenti e raggruppamenti, Interrogazioni SQL complesse
    4. Comandi di modifica e viste in SQL
    5. Aspetti evoluti del DDL: indici e vincoli di integrità generici, controllo dell'accesso, viste e controllo dell'accesso, transazioni (cenni)
    6. SQL per la programmazione: funzioni SQL, SQL Embedded, ODBC/ADO e JDBC, procedure
  4. PROGETTAZIONE DI BASI DI DATI
    1. Fasi della progettazione
    2. Le astrazioni nella progettazione dei dati
    3. Il modello Entità-Relazioni: definizione, associazioni, identificatori e gerarchie, proprietà delle gerarchie
    4. Il ciclo di progettazione: fasi di progettazione, strategie, qualità di un progetto concettuale
    5. Progettazione logica: fasi del progetto logico, eliminazione delle gerarchie, gestione degli identificatori, gestione degli attributi, gestione delle associazioni, normalizzazione (cenni)
    6. Progettazione fisica (cenni)
  5. INTRODUZIONE A XML NELLE BASI DI DATI
    1. Cenni di XML
    2. DTD (Document Type Definition) e XSD (XML Schema Definition)

Esercitazioni

Le esercitazioni sono raggruppate in unita' didattiche. Ogni unita' didattica tratta uno specifico argomento.
Le attività di tutoring sono tenute dalla prof.sa Nicoletta Fornara.

Turoring

La prossima attivita' di tutoring si terra' in data ed aula da destinarsi.

Modalita' d'esame

Prove in itinere

Non verranno svolte prove in itinere

Esame

L’esame vertera' su una prova scritta, sulla discussione della prova scritta e su una prova orale. La prova orale sara' obbligatoria per tutti gli studenti. Le prove d'esame si terranno a febbraio, a luglio ed a settembre.
Chi si presenta ad una prova scritta di recupero per migliorare il voto già sufficiente di una prova precedente, perde il voto precedentemente acquisito.
Vale, in quanto applicabile, il Regolamento del Politecnico di Milano.

Registrazione dei voti

La registrazione dei voti avverra' successivamente all'esame finale.
Saranno ammessi ad una prova di esame solo gli studenti che risulteranno iscritti a quell'esame.
Chi si presenta ad una prova di recupero per migliorare il voto già sufficiente di una prova precedente, perde quel voto precedentemente acquisito.

Materiale in linea

Per accedere al materiale in linea scaricabile, e' necessario accedere al sito beep (http://beep.metid.polimi.it/), registrarsi e raggiungere la pagina del corso.
Se non si e' registrati presso il sito beep, e' necessario seguire la procedura di registrazione a partire dalla pagina iniziale.
Se si e' registrati presso il sito beep ma non si e' registrati per l'accesso alla pagina del corso basi di dati, e' necessario seguire il link di richiesta iscrizione.

Testi

Paolo Atzeni, Stefano Ceri, Piero Fraternali, Stefano Paraboschi, Riccardo Torlone: “Basi di dati: Modelli e Linguaggi di Interrogazione ”, McGraw-Hill Libri Italia, 2018 (quinta edizione).
Versione in inglese, degli stessi autori: “Database systems”, McGraw-Hill 1999

Approfondimenti

R. Elmasri, S.B. Navathe: Fundamentals of Database Systems, Benjamin-Cummings, 2007 (quinta edizione). Versione italiana (Pearson - Addison Wesley), 2007.
C. Batini, S. Ceri, S.B. Navathe: Conceptual Database Design: an Entity-Relationship Approach, Benjamin-Cummings, 1991.
R. Ramakrishnan, J. Gehrke, Sistemi di basi di dati, Mc-Graw-Hill 2004

Ulteriori approfondimenti (su data warehouse e data mining)

M. Golfarelli, S. Rizzi, Data Warehouse, McGraw-Hill, 2002
P. Giudici, Data Mining, McGraw-Hill, 2005 (seconda edizione)

Eserciziari

Daniele Braga, Marco Brambilla, Alessandro Campi “Eserciziario di Basi di dati”, Esculapio, 2009
Welling L., Thomson L., MySQL Tutorial, Pearson.

Altri riferimenti

Soluzioni di tutti gli esercizi del libro sul sito della versione inglese del libro (http://www.mcgraw-hill.co.uk/atzeni)
Esercizi risolti al sito beep (http://beep.metid.polimi.it/), “Basi di dati”
Altro materiale relativo alle lezioni potrà essere reso disponibile dai docenti durante lo svolgimento del corso. Si vedano anche i siti Web dei docenti.

Contatti

Prima di contattare il docente, e' obbligatorio verificare che l'informazione richiesta non sia presente sul sito WEB dell'insegnamento (la pagina corrente) o nella bacheca elettronica del sito WEB del Polo di Como.
Pertanto e' vietato:
subissare di richieste, telefonate, messagi di e-mail il docente – ove non strettamente necessario;
mandare messaggi che non rispettino i criteri di netiquette;
invocare richieste di gestione eccezionale del proprio caso.


Il docente puo' essere contattato per posta elettronica (indma). Si ricorda di indicare nell'oggetto di ogni messaggio il proprio cognome, nome, numero di matricola ed insegnamento cui ci si riferisce: non verra' data risposta a messaggi il cui mittente non abbia rispettato i sopra citati criteri.
Il docente puo' essere contattato telefonicamente all'interno 7332. Chiamando da rete pubblica, il numero telefonico e' 031-332.7332 oppure 02-2399.7332.



ritornaritorna al livello precedente