logo sapienza

Basi di Dati, anno accademico 2010-2011
(Statistica Gestionale, 9 crediti) (Statistica Economia e Società, 6 crediti)
Docente: Paolo Franciosa


Obiettivi Programma Materiale didattico
Orario delle lezioni Ricevimento studenti Modalità d'esame
Diario delle lezioni

Per commenti e segnalazioni contatta il docente a


Obiettivi e contenuti del corso

Gli obiettivi del corso sono:

Alla fine del corso lo studente sarà in grado di:

È molto utile la conoscenza degli argomenti trattati nel corso di Informatica o di Fondamenti di Informatica.

torna all'inizio


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 e derivati, calcolo relazionale sui domini, calcolo relazionale sulle tuple. Gestione dei valori nulli. Relazioni tra i diversi linguaggi.

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.

(Solo per il corso da 9 CFU) Teoria della progettazione concettuale. Dipendenze funzionali, chiusura di insiemi di dipendenze e di insiemi di attributi. Forme normali (Boyce-Codd e 3NF), normalizzazione di uno schema relazionale.

(Solo per il corso da 9 CFU) Strumenti di amministrazione di un DBMS.

(Solo per il corso da 9 CFU) Interazione con un DBMS da una applicazione Java attraverso protocolli standard.

Attività di laboratorio

Uso di DBMS commerciali e free per la progettazione e l'accesso a basi di dati

torna all'inizio


Materiale didattico

Testo consigliato

Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone
Basi di dati: Modelli e linguaggi di interrogazione
McGraw-Hill Italia.
(esclusi 3.2, 3.3, 5.1.6, del capitolo 6 deve essere studiato solo il 6.4.2, 7.4)

Strumenti di laboratorio

DBMS commerciali e gratuiti: MS Access, MySQL

Per ottenere una copia di MS Access, gratuita per gli studenti del corso grazie all'accordo tra Microsoft e il Dipartimento di Scienze Statistiche, compilare il modulo disponibile su http://goo.gl/wzIZG

torna all'inizio


Modalità d'esame

Per superare l'esame lo studente dovrà:

La tesina può essere sviluppata in piccoli gruppi (massimo 3 persone), e illustrerà tutti i passi di progettazione della base di dati:

È consigliata l'implementazione della base di dati su un DBMS a scelta dello studente.

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.

torna all'inizio


Diario delle lezioni

28 Febbraio 2011 2 Marzo 2011 3 Marzo 2011
vacanza 9 Marzo 2011 10 Marzo 2011
14 Marzo 2011 16 Marzo 2011 vacanza

Per commenti e segnalazioni, contatta il docente (paolo.franciosa@uniroma1.it)

torna all'inizio


28 Febbraio 2011
Argomenti
  • Introduzione al corso
  • Sistemi informativi - informatici
  • Concetto di dato - metadato
  • DBMS - DB vs. programmi - file
  • Requisiti di un sistema informatico:
    • dimensioni
    • condivisione
    • persistenza
    • affidabilità
    • privatezza
    • efficienza
  • Schemi vs. istanze
  • Linguaggi: Data Definition Language, Data Manipulation Language, Query Language
  • Esempi SQL
Riferimenti al testo Capitolo 1

torna all'elenco delle lezioni
2 Marzo 2011
Argomenti
  • Modalità di interazione con un DBMS
  • Modelli dei dati: concettuale, logico, fisico
  • Il modello relazionale, definizione di relazione, data base.
  • Nomi di relazione e di attributo
  • Valori nulli
  • Vincoli di integrità
  • Concetto di chiave e chiave minimale
  • Vincoli di integrità referenziale
Riferimenti al testo Capitolo 2

torna all'elenco delle lezioni
3 Marzo 2011
Argomenti
  • Algebra relazionale: operatori di unione, intersezione, differenza, ridenominazione, selezione, proiezione
  • Join naturale
  • Atomizzazione della selezione
  • Idempotenza della proiezione
  • Anticipazione della selezione rispetto al join
  • Esempi di interrogazioni in algebra relazionale
Riferimenti al testo Capitolo 3 (esclusi 3.2 e 3.3)

torna all'elenco delle lezioni
9 Marzo 2011
Argomenti
  • Join interni ed esterni
  • theta-joid ed equi-join
  • Gestione dei valori null
  • Viste
  • Esempi di interrogazioni in algebra relazionale
Riferimenti al testo Capitolo 3 (esclusi 3.2 e 3.3)

torna all'elenco delle lezioni
10 Marzo 2011
Argomenti

Introduzione all'architettura di un DBMS: sistemi client-server, modalità di interazione con un DBMS

Interrogazioni in linguaggio SQL

  • Il comando SELECT ... FROM ... WHERE ...
  • predicati, operatori di confronto, operatori logici, l'operatore LIKE
  • interrogazioni su più tabelle
  • gestione dei duplicati
  • gestione dei valori NULL
Riferimenti al testo Capitolo 4

torna all'elenco delle lezioni
14 Marzo 2011
Argomenti

Interrogazioni in linguaggio SQL

  • l'operatore JOIN
  • JOIN interni ed esterni
  • variabili di tupla
  • operatori di aggregazione
  • la clausolo GROUP BY
Riferimenti al testo Capitolo 4

torna all'elenco delle lezioni