Corso: Basi di Dati I – A.A. 2005-2006 (6 CFU)

Docente: Prof. Paolino Di Felice

Laurea Triennale:           Ingegneria Informatica-Automatica      -- Anno di corso: III

Laurea Specialistica:       Ingegneria Gestionale                           -- Anno di corso: I

Settore Scientifico Disciplinare: ING-INF/05

 

Obiettivi

Introdurre modelli, linguaggi, metodologie e tecnologie fondamentali nel contesto dei sistemi di gestione di basi di dati (SGBD) relazionali da anni universalmente usati in ambito aziendale per la gestione automatica, integrata, efficiente e sicura di grosse quantità di dati strutturati.

 

Saper fare

Progettare basi di dati relazionali, loro creazione, aggiornamento ed interrogazione tramite SQL. Sviluppare applicazioni SQL tramite tecnologie informatiche consolidate quali, ad esempio, i linguaggi di programmazione evoluti. Saper operare con un SGBD commerciale (creazione di tabelle, viste, impostazione di vincoli, formulazione di query SQL, scritture di stored procedure, importare/migrare dati da/verso altre BD, …).

 

Contenuti

Programma: descrizione sintetica

 

Modelli, linguaggi, metodologie e tecnologie per basi di dati relazionali

Testi di riferimento

1.        P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone, Basi di Dati Modelli e linguaggi d’interrogazione, McGraw-Hill Libri Italia, 2002. (testo base)

2.        R. Elmasri, S.B. Navathe, Sistemi di basi di dati, Fondamenti - I edizione italiana, Addison-Wesley Longman Italia, 2001. (testo di consultazione)

3.        R. van der Lans, Introduzione a SQL, II edizione, Addison-Wesley, 2001. (consultazione)

4.        Dispensa a cura del docente.

 

Programma: descrizione dettagliata

 

1. Nozioni preliminari

Sistema informativo e sistema informatico. I SGBD: architettura e servizi offerti. Ciclo di vita dei sistemi informatici. ([1].Cap.1,6, [2].Capp.1,2)

 

2. Modello relazionale dei dati e linguaggi d’interrogazione teorici

Concetti base: relazione, schema di relazione, base di dati relazionale, schema di base di dati relazionale, variabile ennupla, chiavi, vincoli d’integrità. Rappresentazione tabellare delle relazioni. L'algebra relazionale. Il calcolo relazionale sulle ennuple. ([1].Capp.2,3, [2].Cap.7)

                                                                                                   

 

3. SQL

Categorie di enunciati di SQL, la creazione, il popolamento, l’aggiornamento e l’interrogazione di BD relazionali. Interrogazione su una o più tabelle. Le variabili ennuple, le interrogazioni annidate semplici e complesse. La clausola GROUP BY e gli operatori di raggruppamento. Le interrogazioni ricorsive. La definizione dei vincoli intra-/inter-relazionali in SQL. Le viste. ([1].Cap.4, [2].Cap.8,  [3].Capp.1-3, 5-11, 12-15, 16-17, 20)

 

4. Progettazione di basi di dati relazionali

Progettazione concettuale Il modello E-R. La rappresentazione grafica di schemi E-R. I vincoli strutturali nel modello E-R. Identificatori interni ed esterni. La progettazione di schemi concettuali complessi attraverso raffinamenti successivi. ([1].Cap.6, [2].Cap.3).

Progettazione logica Ristrutturazione di schemi E-R. Regole per il passaggio da schemi E-R a schemi relazionali. I cammini di join. ([1].Cap.8, [2].Cap.9).

 

5.    Tecnologie

Architettura, principali funzionalità ed introduzione all’uso di SGBD commerciali di larga diffusione in ambito aziendale. Approcci allo sviluppo di applicazioni SQL: SQL embedded in linguaggi di programmazione evoluti, linguaggi proprietari, CLI. Casi di studio: applicazioni SQL embedded nel linguaggio C++. Base di dati, connettività e Web: cenni alla soluzione Microsoft. ([1].Cap.5, App.A-B, [2].Cap.12).

Modalità d'esame

La valutazione, protesa all’accertamento del possesso delle conoscenze teorico-pratiche da parte degli allievi, si articola in due fasi indipendenti:

-      una prova scritta, seguita da un colloquio sulla stessa ed

-      una prova pratica concernente la discussione di un progetto, preparato precedentemente dall’allievo, nonché l’accertamento del possesso di abilità operative nell’uso del SGBD commerciale IBM-DB2 (oppure, ma solo se ne sussistono le motivazioni, SQL Server, Ingres o Oracle). La sperimentazione individuale della tecnologia dei SGBD relazionali è occasione insostituibile per consolidare i molteplici concetti teorici del Corso.

*****     *****     *****

Informazioni sul PROGETTO (AA 2005-2006)

Esso si articola in due parti nel seguito denominate:

-      Progettazione relazionale  e

-      Sviluppo di un’applicazione.

 

Progettazione relazionale  (coinvolge tutti gli allievi di BDI)

A ogni allievo (o loro libera aggregazione, numero massimo: 3) è richiesto quanto segue:

1.    scelta di un universo d’interesse e definizione delle specifiche progettuali (vincoli inclusi),

2.    progettazione concettuale-logica di una BD relazionale,

-        elementi minimali obbligatori che devono esser presenti nello schema E-R:

-      numero entità: da 6 a 10, di cui almeno una “weak”,

-      generalizzazione: almeno una,

-        elementi non obbligatori, ma qualificanti:

-      associazioni ricorsive: almeno una,

3.    definizione, tramite SQL/DDL, degli script di creazione di una base di dati “ospitante” nonché di generazione di tutte le tabelle progettate,

4.    definizione, tramite SQL/DML, degli script di popolamento di tutte le tabelle (numero minimo di ennuple per ciascuna tabella: 25),

5.    definizione, tramite SQL, da 3 a 5 viste che coinvolgano almeno 3 tabelle della base di dati. Almeno una di esse deve ospitare la clausola GROUP BY,

6.    implementazione, in DB2, di quanto previsto ai punti precedenti.

 

Sviluppo di un’applicazione  (allievi del “settore dell’Informazione”)

Attraverso lo sviluppo di un’applicazione l’allievo ha modo di consolidare i contenuti del Corso ma anche occasione per sperimentare concretamente come la tecnologia informatica dei SGBD si saldi ad altre tecnologie di larga diffusione aziendale, in particolare a quella dei linguaggi di programmazione evoluti.

A completamento della Progettazione relazionale, è richiesto di realizzare, in uno dei tre approcci discussi in classe (si veda il seminario su: SQL e applicazioni (27.10.05).pdf reperibile nella Dispensa), una semplice applicazione funzionante ed adeguatamente documentata che:

·      si connetta alla BD realizzata,

·      invii ad essa una query che coinvolga almeno due sue tabelle (è possibile riusare anche qualcuna delle viste create),

·      aggiorni il valore di almeno una ennupla di una delle tabelle della BD,

·      aggiunga almeno una ennupla in una delle tabelle della BD.

Linguaggio di programmazione utilizzabile: C++ o Java (a scelta).

Per non appesantire la realizzazione dell’applicazione è data facoltà, a quanti lo desiderano, di limitarla ad una porzione significativa dell’intera base di dati realizzata, liberamente scelta dall’allievo.

 

Sviluppo di un’applicazione Access (allievi gestionali)

Da concordare con l’Ing. Marco Iezzi.

 

Documentazione da consegnare all’esame

Un CD contenente:

Progettazione relazionale

a.      una relazione (in formato Microsoft Word) circa le specifiche progettuali, la progettazione concettuale-logica e tutti gli script richiesti,

b.      il file contenente la BD realizzata.

Del materiale al punto “a.” è richiesta anche una stampa cartacea.

 

Sviluppo di un’applicazione  (allievi del “settore dell’Informazione”)

c.      la descrizione dell’architettura della soluzione proposta (formato Microsoft Word),

d.      il codice sorgente dell’applicazione sviluppata,

e.      l’eseguibile della stessa.

Del materiale ai punti “c.” e “d.” è richiesta anche una stampa cartacea.

 

Sviluppo di un’applicazione Access (allievi gestionali)

f.       una breve descrizione di quanto realizzato (formato Microsoft Word),

g.      il file .mdb contenente la BD “Access” e l’applicazione grafica realizzata.

Del materiale al punto “f.” è richiesta anche una stampa cartacea.

 

Modalità di valutazione del lavoro svolto dall’allievo

Essa concernerà:

·      l’aderenza dello schema concettuale alle specifiche,

·      la sua corretta traduzione nei costrutti del modello relazionale dei dati,

·      la correttezza degli script presentati,

·      il corretto funzionamento dell’applicazione scritta,

·      la qualità della documentazione interna all’applicazione,

·      la completezza della relazione presentata,

·      l’efficacia della discussione di quanto realizzato.

 

*****     *****     *****

I punteggi

Allievi del settore dell’Informazione

-        scritto+colloquio:  <= 16/30;

-        prova pratica:       <= (3+7)/30 (progettazione+applicazione) + 4/30 (conoscenza del DB2).

 

Allievi gestionali

-        scritto+colloquio:  <= (16+4)/30;

-        prova pratica:       <= (3+3)/30 (progettazione+applicazione) + 4/30 (conoscenza del DB2).

 

Un commento sulla prova scritta

E’ la stessa per tutti gli allievi per 16/30. E’ prevista una domanda da 4/30 rivolta ai soli gestionali onde compensare il minor peso attribuito all’applicazione Access. Tale domanda potrà concernere un qualsiasi argomento del presente programma d’esame, inclusa la parte tecnologica che, come sottolineato, è rilevante per un proficuo, completo e corretto apprendimento dell’insegnamento di Basi di dati I.

Torna indietro             Home page