Basi di Dati
Prof. Angelo Montanari
Obiettivo fondamentale del corso di Basi di Dati è l’acquisizione dei concetti, delle metodologie e degli strumenti fondamentali nel campo delle basi di dati, con particolare attenzione ai modelli (concettuale e logico) e ai linguaggi (di definizione, di aggiornamento e di interrogazione) dei sistemi per basi di dati. Vengono inoltre forniti elementi di progettazione concettuale (costruzione di modelli Entità/Relazioni) e logica (mapping E/R - relazionale) di basi di dati. Infine, viene fornita una panoramica delle principali basi di dati proposte nell’ambito della biologia, con particolare attenzione alla loro organizzazione interna e alle possibili modalità di utilizzo. Dopo aver superato l’esame lo studente dovrebbe essere in grado di: (i) progettare semplici basi di dati a livello concettuale (costruzione di schemi Entità/Relazioni a partire da insiemi di requisiti espressi in linguaggio naturale) e logico (chiavi e forme normali delle tabelle relazionali); (ii) formalizzare in un linguaggio relazionale semplici operazioni di definizione e manipolazione (aggiornamenti ed interrogazioni) dei dati espresse in linguaggio naturale; (iii) utilizzare in modo effettivo ed efficace le basi di dati biologiche disponibili. E’ prevista anche un’attività di laboratorio per verificare sul campo la padronanza delle metodologie e degli strumenti studiati.
PARTE 1. Concetti di Base.
Ruolo e funzionalità di una base di dati, astrazione sui dati, modelli dei dati, istanze e schemi, indipendenza dei dati dal livello logico e fisico, linguaggi per la definizione e la manipolazione dei dati, sistema di gestione di una base di dati (DBMS), amministratore e utenti di una base di dati, il dizionario dei dati, struttura generale di una base di dati.
PARTE 2. Il Modello Relazionale e il linguaggio SQL.
Il modello relazionale: concetti e vincoli che caratterizzano il modello relazionale dei dati, operazioni di definizione, aggiornamento ed interrogazione, l’algebra relazionale (cenni). Il linguaggio SQL: definizione dei dati in SQL, interrogazioni in SQL, aggiornamenti in SQL, le viste in SQL, funzionalità avanzate (cenni).
PARTE 3. Laboratorio di basi di dati.
Breve panoramica sui DBMS esistenti. Il DBMS MySQL. Il modello Client/Server. Principali differenze tra il linguaggio SQL supportato da MySQL e lo standard SQL. Esempi di definizione, agggiornamento e interrogazione dei dati in MySQL. Alcuni semplici casi di studio (la base di dati di sequenze nucleotidiche TSDB).
PARTE 4. Progetto di basi di dati.
Il modello Entità/Relazioni (ER): tipi e istanze di entità e di relazioni, attributi (semplici, composti, a singolo valore, multivalore, derivati) e chiavi, dominio di un attributo, vincoli associati alle relazioni (partecipazione e rapporto di cardinalità), relazioni ricorsive e ruoli, relazioni di grado superiore al secondo, entità deboli, gerarchie di specializzazione/generalizzazione (cenni), i diagrammi Entità/Relazioni. La progettazione concettuale dei dati basata sul modello ER. La progettazione logica (ristrutturazione di schemi ER, traduzione nel modello relazionale, normalizzazione).
PARTE 5. Basi di dati per la biologia.
Introduzione. Dalle analisi ai dati in formato digitale. Le analisi biologiche e i dati da esse prodotti. L’organizzazione dei dati. Organizzazione dei dati e basi di dati. Alcuni esempi (dati prodotti dal sequenziamento del DNA e dati prodotti con tecniche di Micro-Array). Basi di dati biologiche di sequenze (NCBI), di annotazioni (Ensembl), specifiche (Transfac), di analisi (MA e Proteomica), di proteine (Swiss Prot). Modalità di accesso ai dati di alto livello (interfacce web) e di basso livello (via SQL). Le interfacce di Ensembl e Transfac.
Testi adottati:
Altri testi di riferimento: