Corso di Basi di Dati
(Statistica per le Analisi Demografiche e Sociali, Statistica per la Gestione Aziendale)
Docente: Paolo Franciosa
anno accademico 2001-2002


Contenuti Programma Modalità d'esame
Materiale Didattico Diario delle Lezioni Ricevimento Studenti

Per commenti o ulteriori informazioni contattare il docente a .

Contenuti

Gli obiettivi del corso sono:

È utile, anche se non costituisce un prerequisito essenziale, la conoscenza degli argomenti trattati nei corsi di Fondamenti di Informatica.


Programma

Generalità su sistemi informatici e sistemi informativi

Introduzione alle basi di dati; modelli dei dati, generalità sui DBMS.

Il modello relazionale dei dati: relazioni, attributi, istanze di relazione, tuple. Vincoli di integrità, concetto di chiave.

Linguaggi formali per relazioni. Algebra relazionale: operatori fondamentali.

Il linguaggio SQL. Il linguaggio di definizione dei dati: definizione di tabelle, domini, indici. Specifica di semplici vincoli di integrità. Il linguaggio di interrogazione: operatori di join-selezione-proiezione, operatori aggregati, operatore di raggruppamento. Interrogazioni nidificate e correlate, operatori insiemistici. Il linguaggio di manipolazione dei dati: inserimento, eliminazione e modifica di tuple. Definizione di viste, vincoli di integrità generici. Controllo dell'accesso ad una base di dati.

La progettazione di una base di dati: ciclo di vita di un sistema informatico.

Progettazione concettuale: il modello Entità-Relazione. Metodologie di progettazione concettuale: top-down, bottom-up, inside-out, mista. Esempi di progettazione concettuale.

Progettazione logica: ristrutturazione di schemi E-R, analisi di modelli di carico. Traduzione di schemi E-R in schemi relazionali.

Teoria della progettazione concettuale. Dipendenze funzionali, concetto di normalizzazione.

Laboratorio: uso di un DBMS commerciale.


Modalità d'esame

Per superare l'esame lo studente dovrà:

L'argomento della tesina deve essere concordato con il docente prima di procedere allo sviluppo.

La tesina deve essere discussa contemporaneamente da tutti gli studenti che hanno partecipato alla realizzazione, anche da coloro che non hanno ancora superato la prova di SQL.


Materiale didattico

Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone,
Basi di dati: Concetti, Linguaggi e Architetture.
Mc-Graw-Hill Italia, 1999 (seconda edizione)

Nel corso saranno trattati gli argomenti contenuti nei capitoli seguenti: 1, 2, 3 (solo 3.1), 4 (4.6: cenni), 5, 6, 7, 8, 9 (solo 9.7), 13, 14.


Diario delle lezioni

4 marzo 2002 8 marzo 2002
11 marzo 2002 15 marzo 2002
18 marzo 2002 22 marzo 2002
25 marzo 2002

vacanze pasquali

4 aprile 2002 (lab) 5 aprile 2002
8 aprile 2002 11 aprile 2002 (lab) 12 aprile 2002
15 aprile 2002 18 aprile 2002 (lab) 19 aprile 2002
22 aprile 2002 26 aprile 2002
29 aprile 2002 2 maggio 2002 (lab) 3 maggio 2002
6 maggio 2002 9 maggio 2002
16 maggio 2002

Data 4-3-02 (lezione)
Argomenti
  • Introduzione al corso
  • Sistemi informativi - informatici
  • Concetto di dato - metadato
  • Requisiti di un sistema informatico
    • dimensioni
    • condivisione
    • persistenza
    • affidabilità
    • privatezza
    • efficienza
  • Generalità sui DBMS
torna all'elenco delle lezioni
Data 8 marzo 2002 (lezione)
Argomenti
  • Modalità di interazione con un DBMS
  • Modelli dei dati: concettuale, logico, fisico
  • Cenni sui modelli gerarchico e reticolare
  • Schemi (logici) e istanze
  • Il modello relazionale, definizione di relazione, data base.
torna all'elenco delle lezioni
Data 11 marzo 2002 (lezione)
Argomenti
  • Modello relazionale: concetto di relazione
  • Nomi di relazione e di attributo
  • Schemi e istanze
  • Valori nulli
  • Vincoli di integrità
  • Concetto di chiave e chiave minimale
  • Vincoli di integrità referenziale
  • Algebra relazionale: operatori di unione, intersezione, differenza, selezione, proiezione
  • Alcune proprietà degli operatori dell'algebra relazionale
torna all'elenco delle lezioni
Data 15 marzo 2002 (lezione)
Argomenti
  • Join (naturale, equi-join, theta-join)
  • Anticipazione della selezione rispetto al join
  • Frammentazione di tabelle e ridondanza, anomalie di inserimento e cancellazione
  • Interrogazioni in SQL: select ... from ... where ...
torna all'elenco delle lezioni
Data 18 marzo 2002 (lezione)
Argomenti
  • Operatori di confronto e logici
  • Join interno ed esterno nella clausola from
  • Variabili di tupla
  • Esempi di interrogazioni SQL
torna all'elenco delle lezioni
Data 22 marzo 2002 (lezione)
Argomenti
  • Gestione dei valori NULL
  • Operatori UNION, INTERSECT, EXCEPT
  • Operatori IN, NOT IN, EXISTS, NOT EXISTS
  • Ambito di visibilità di variabili di tupla
  • Interrogazioni nidificate e correlate
  • Esempi di interrogazioni nidificate
  • Quantificatore esistenziale e universale in SQL
torna all'elenco delle lezioni
Data 25 marzo 2002 (lezione)
Argomenti
  • Clausola ORDER BY
  • Esempi di interrogazioni correlate
  • Operatori quantificati ANY e ALL
  • Operatori di aggregazione, limitazioni nel loro uso
  • Aggregazioni con raggruppamento
torna all'elenco delle lezioni
Data 4 aprile 2002 (laboratorio)
Argomenti
  • Introduzione all'uso di MS Access
  • Definizione di schemi di database: tabelle
  • Tipi di attributo predefiniti
  • Vincoli di integrità su domini
  • Maschere di input (cenni)
torna all'elenco delle lezioni
Data 5 aprile 2002 (lezione)
Argomenti
  • Il Data Definition Language di SQL
  • Creazione di schemi (tabelle, domini, indici)
  • Principali tipi di attributi: carattere, numerici, temporali
  • Vincoli di unicità
  • Vincoli di integrità referenziale, politiche di reazione alla violazione di vincoli
torna all'elenco delle lezioni
Data 8 aprile 2002 (lezione)
Argomenti
  • Definizione di viste in SQL
  • Concessione di privilegi
  • Il ciclo di vita di un sistema informativo
  • Metodologie di sviluppo
torna all'elenco delle lezioni
Data 11 aprile 2002 (laboratorio)
Argomenti
  • Definizione di percorsi di join e di vincoli di integrità referenziale in MS Access ("Relations")
  • Definizione di viste (queries) in MS Access in modalità "struttura" ed "SQL"
torna all'elenco delle lezioni
Data 12 aprile 2002 (lezione)
Argomenti
  • DML di SQL: insert, delete, update
  • Progettazione di un data base: glossario, dizionario dei dati
  • Progettazione concettuale: diagrammi entity-relationship
  • Entità, relazioni, attributi di entità e di relazione, chiavi interne, cardinalità
torna all'elenco delle lezioni
Data 15 aprile 2002 (lezione)
Argomenti
  • Relazioni con arità maggiore di due, limiti della traduzione in relazioni binarie
  • Relazioni riflessive
  • Identificatori esterni
  • Gerarchie di classificazione
torna all'elenco delle lezioni
Data 18 aprile 2002 (laboratorio)
Argomenti
  • Definizione di utenti e gruppi in MS Access, concessione e revoca di privilegi
  • Importazione ed esportazione di tabelle da e verso file di testo
torna all'elenco delle lezioni
Data 19 aprile 2002 (lezione)
Argomenti
  • Metodologie di progettazione concettuale: trasformazione di concetti nella metodologia top-down
  • Esempi di progettazione concettuale
torna all'elenco delle lezioni
Data 22 aprile 2002 (lezione)
Argomenti
  • Modello di carico di un data base: tavola dei volumi e tavola delle operazioni
  • Ristrutturazione di schemi entity-relationship
  • Traduzione verso lo schema logico: entità con identificatori interni, relazioni molti-a-molti, relazioni uno-a-molti
torna all'elenco delle lezioni
Data 26 aprile 2002 (lezione)
Argomenti
  • Esercitazione su interrogazioni SQL
torna all'elenco delle lezioni
Data 29 aprile 2002 (lezione)
Argomenti
  • Esercitazione su interrogazioni SQL
torna all'elenco delle lezioni
Data 2 maggio 2002 (laboratorio)
Argomenti
  • Scrittura di interrogazioni complesse in MS-Access
torna all'elenco delle lezioni
Data 3 maggio 2002 (lezione)
Argomenti
torna all'elenco delle lezioni
Data 6 maggio 2002 (lezione)
Argomenti
  • Introduzione alla normalizzazione
  • Dipendenze funzionali
  • Assiomi di Armstrong per la derivazione di D.F
  • Algoritmo per il calcolo della chiusura di un insieme di attributi
torna all'elenco delle lezioni
Data 9 maggio 2002 (lezione)
Argomenti
  • Forma normale di Boyce-Codd
  • Definizione di decomposizione lossless join
  • Verifica di lossless join per decomposizioni in due relazioni
torna all'elenco delle lezioni
Data 16 maggio 2002 (lezione)
Argomenti
  • Esercitazioni sulla normalizzazione di schemi relazionali
  • Decomposizioni senza perdita di dipendenze (cenni)
torna all'elenco delle lezioni