Anno di corso: 1

Crediti: 8
Crediti: 8
Crediti: 8
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale

Anno di corso: 2

Anno di corso: 3

Crediti: 8
Crediti: 8
Crediti: 8
Crediti: 8
Crediti: 16
Tipo: A scelta dello studente
Crediti: 4
Tipo: Lingua/Prova Finale
Crediti: 13
Tipo: Altro

BASI DI DATI

Scheda dell'insegnamento

Anno accademico di regolamento: 
2017/2018
Anno di corso: 
2
Anno accademico di erogazione: 
2018/2019
Tipo di attività: 
Obbligatorio
Lingua: 
Italiano
Crediti: 
8
Ciclo: 
Secondo Semestre
Ore di attivita' didattica: 
72
Prerequisiti: 

Insiemistica, elementi introduttivi di calcolo delle proposizioni, come insegnati nelle scuole superiori

Moduli

Metodi di valutazione

Modalita' di verifica dell'apprendimento: 

Scritto con domande aperte sul tutte le principali tematiche inerenti al corso: modello ER, progettazione concettuale, modello relazione, algebra relazionale, SQL, progettazione logica. Sono previsti due esoneri da sostenere in corso d'anno.

Valutazione: 
Voto Finale

Obiettivi formativi

Alla fine del corso lo studente dovrebbe essere capace di modellare, progettare e realizzare una semplice applicazione base dati nel modello relazionale ed esprimere interrogazioni complesse su di essa.

Contenuti

Le basi di dati sono la tercnologia fondamentale nei moderni sistemi informativi e nel business. L'insegnamento ha lo scopo di introdurre lo studente ai concetti base delle basi di dati, ed in particolare modelli logici e concettuali di basi di dati, linguaggi di interrogazione, metodologie di progettazione logica e concettuale, qualità degli schemi, e il linguaggio SQL "embedded" nei linguaggi di programmazione.

Programma esteso

1. Introduzione. Concetti generali. Concetto di informazione e dato. Introduzione a basi di dati e DBMS, modello dei dati, concetto di schema e istanza. Indipendenza logica e fisica dei dati e tipologia di linguaggi per basi di dati.
2. Il modello relazionale: relazioni e tabelle, schemi ed istanze, informazione incompleta e valori nulli, chiavi, vincoli di integrità.
3. Linguaggi di interrogazione. Algebra Relazionale, Select, Project, Natural Join, Prodotto Cartesiano, Theta-Join
4. SQL. Definizione dei dati in SQL. Definizione di interrogazioni in SQL: interrogazioni semplici, con operatori insiemistici, nidificate e con raggruppamento. Operazioni di inserimento, modifica e cancellazione. Definizione di viste.
5. Il modello Entità-Relazione (E-R) esteso con generalizzazioni. Metodologie di progettazione di basi di dati. La progettazione concettuale.
6. La progettazione logica. Ristrutturazione e ottimizzazione di schemi E-R: eliminazione delle gerarchie, degli attributi composti e multivalore. Traduzione da schemi E-R a schemi relazionali

Bibliografia consigliata

P.Atzeni Ceri, Paraboschi, Torlone, Basi di Dati – Modelli e linguaggi di interrogazione – terza edizione, McGraw-Hill, 2009
D. Braga, M. Brambilla, A. Campi - Eserciziario di Basi di Dati Progetto Leonardo Bologna.
L. Cabibbo, R. Torlone, C. Batini - Basi di dati, Progetti ed esercizi svolti, Pitagora Editrice Bologna.

slide e materiale on-line fornito dai docenti

Metodi didattici

Il corso è costituito da lezioni frontali, esercitazioni in aula, e da un'attività di laboratorio.