Docente/i:
Marco Ferretti
Denominazione del corso: Basi di dati
Codice del corso: 340030
Corso di laurea: Management e tecnologie dell'e-business
Settore scientifico disciplinare: ING-INF/05
Crediti formativi: CFU 5
Sito web del corso: http://orfeo.unipv.it/ferretti/cdol/bd/index.htm
Obiettivi formativi specifici
Il corso di Basi di Dati è un'introduzione alla gestione di grandi quantità di informazioni mediante l'uso della tecnologia corrente dei DBMS. Lo studente acquisirà le capacità necessarie ad utilizzare basi di dati preesistenti mediante il linguaggio standard SQL e a progettare schemi di basi di dati a partire da specifiche funzionali di alto livello. Su gli schemi logici derivati dalla metologia di progettazione concettuale Entità Relazione Attributo, lo studente sarà in grado di eseguire verifiche di correttezza formale utizzando lo strumento delle dipendenze funzionali. Il riferimento principale di tutto il corso è il modello relazionale. Al termine del corso, lo studente sarà in grado di intraprendere l'analisi di sistemi basati su DBMS, indipendentemente dalla tecnologia e dall'infrastruttura che li ospita; in questo senso, l'ambiente operativo (rete locale, rete geografica o Web) non sarà un elemento discriminante delle capacità acquisite.
Programma del corso
Parte I. Introduzione ai DBMS
Architettura di un DBMS. La struttura a livelli della rappresentazione dell'informazione. Il concetto di schema e i metadati. Modelli dei dati: strutture di rappresentazioni, operatori e vincoli. Linguaggi per la descrizione (DDL) e la manipolazione dei dati (DML). Proprietà ACID delle transazioni (cenni). Il modello client server e ODBC. Connettività Web.
Parte II. Il modello relazionale
Dalle tabelle alle relazioni: fondamento algebrico del modello. Domini e relazioni. Il concetto di superchiave e di chiave primaria. I vincoli di integrità. Algebra relazionale. Operatori insiemistici. Restrizione, proiezione e giunzione. Costruzione di espressioni che traducano query formulate in linguaggio naturale.
Parte III. La progettazione di una base di dati
Dai requisiti allo schema logico: progettazione concettuale e logica. Progettazione concettuale mediante il modello Entità, Relazione e Attributi (ERA). Dati di carico delle transazioni e ristrutturazione dello schema ERA. Traduzione nel modello logico secondo lo schema relazionale. Il concetto di dipendenza funzionale come strumento di verifica della struttura delle relazioni. Forma normale di Boyce Codd.
Parte IV. SQL
SQL come standard. Rapporti con l'algebra relazionale. Sintassi completa di SELECT FROM. Operatori insiemistici. Query semplici, nidificate e correlate. Raggruppamento. SQL come DDL. Il CATALOG. SQL ospitato: il concetto di cursore. SQLCA. Esercitazioni in aula.
Prerequisiti
Capacità di formulare algoritmi. Nozioni base introdotte nei corsi di Fondamenti di Informatica e Calcolatori elettronici. Il corso è logicamente coordinato con l'insegnamento di Sistemi Informativi, del quale è il presupposto tecnologico.
Tipologia delle attività formative
Lezioni (ore/anno in aula): 26
Esercitazioni (ore/anno in aula): 24
Laboratori (ore/anno in aula): 0
Progetti (ore/anno in aula): 0
Materiale didattico consigliato
Agli studenti verrà distribuita, dopo la sottoscrizione di una licenza gratuita per scopi non commerciali, la versione 'Personal Edition' di un DBMS commerciale, da usarsi a supporto delle Esercitazioni di SQL. I testi su SQL sono indicativi e non vincolanti
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati: Modelli e linguaggi di interrogazione. Mc Graw Hill, 2006. Testo di base.
K. Stephens, R. Plew, B. Morgan, J. Perkins. SQL, Il Manuale. Mc Graw Hill, 1997. Testo di supporto all'SQL.
L. Welling, L. Thomson. MySQL, Tutorial. Pearson Education Italia, 2004. Utile per chi installa MySQL (versione 4.1).
Modalità di verifica dell'apprendimento
Verranno svolte due prove scritte in itinere; inoltre, è prevista una prova pratica di SQL, che si terrà alla fine del corso. L'esame verterà su una verifica orale, necessaria solo a chi volesse incrementare la votazione risultante dalle prove in itinere: inoltre, coloro che non avessero superato una o più prove in itinere, dovranno sostenere in sede di appello la prova (o le prove) non superate. Le iscrizioni agli appelli si fanno on-line, sul sito del corso.
|