BASI DI DATI

INF/01 - 9 CFU - 1° semestre

Docente titolare dell'insegnamento

ALFREDO PULVIRENTI
Email: apulvirenti@dmi.unict.it
Edificio / Indirizzo: Stanza 35, Terzo Blocco Dipartimento di Matematica e Informatica.
Telefono: 095-7383087
Orario ricevimento: Martedi' 10-11.


Obiettivi formativi

Descrizione generale sintetica

Il corso mira a formare le conoscenze e le competenze di base per la rappresentazione, l’organizzazione, l’interrogazione ed il recupero dell’informazione mediante la tecnologia delle basi di dati. Si fa riferimento al modello relazionale dei dati, ampiamente adottato nei sistemi commerciali e open-source, per illustrare le idee di base della rappresentazione tabellare delle informazioni. Si introducono approfonditamente i meccanismi dell’algebra relazionale, rivolti al recupero delle informazioni. Viene presentato il linguaggio di interrogazione SQL che implementa ed estende i meccanismi dell’algebra relazionale. Si studiano i meccanismi a più alto livello per il design delle basi di dati, la rappresentazione delle informazioni, le nozioni di entità (o oggetto) e di relazione (o associazione), il loro uso nella progettazione concettuale e logica delle basi di. Si presenta la normalizzazione delle basi di dati, lo studio delle anomalie e le forme normali di Boyce-Codd e 3NF. Si studiano le transazioni e gli studmenti per il recovery delle basi di dati. Viene presentato l’XML (assieme ad xpath ed xquery) come linguaggio per la rappresentazione dell’informazione semi-strutturata. Si danno i cenni sulle basi di dati NoSQL. Come sistema si sperimenterà MySQL in connessione al linguaggio host Php e JavaScript. Come sistema noSQL verranno sperimentati MongoDB e CouchDB.

 

 

Obiettivi formativi generali dell'insegnamento in termini di risultati di apprendimento attesi.

  1. Conoscenza e capacità di comprensione (knowledge and understanding): Il corso mira a formare le conoscenze e le competenze di base per la rappresentazione, l’organizzazione, l’interrogazione ed il recupero dell’informazione mediante la tecnologia delle basi di dati.
  2. Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): lo studente acquisirà le competenze necessarie per progettare concettualmente e logicamente un database. Sarà in grado di implementare una base di dati relazionale usando il linguaggio SQL ed interfacciarllo con opportuni linguaggi host. Acquisirà pure i concetti per realizzare database di tipo non relazionali quali XML e noSQL. A tale riguardo una parte del corso consisterà in lezioni di pratiche dove saranno presentati MySQL, CouchDB, MongoDB e i linguaggi Php, javascript e Ajax.
  3. Autonomia di giudizio (making judgements): Attraverso esempi concreti e casi di studio, lo studente sarà in grado di elaborare autonomamente soluzioni a determinati problemi legati alle basi di dati.
  4. Abilità comunicative (communication skills): lo studente acquisirà le necessarie abilità comunicative e di appropriatezza espressiva nell'impiego del linguaggio tecnico nell'ambito generale delle basi di dati.
  5. Capacità di apprendimento (learning skills): il corso si propone, come obiettivo, di fornire allo studente le necessarie metodologie teoriche e pratiche per poter affrontare e risolvere autonomamente nuove problematiche che dovessero sorgere durante una attività lavorativa. A tale scopo diversi argomenti saranno trattati a lezione coinvolgendo lo studente nella ricerca di possibili soluzioni a problemi reali quali ottimizzazione delle query.

Prerequisiti richiesti

Anno di corso: Secondo - primo semestre

Settore scientifico-disciplinare: INF-01

CFU: 9 ore: 72

Propedeuticità: Programmazione 2



Frequenza lezioni

Le risorse principali messe a disposizione dello studente sono le lezioni frontali, la cui frequenza è fortemente consigliata.

Per seguire meglio le lezioni, vengono messe a disposizione le slide utilizzate per il corso. Le slide non costituiscono un mezzo di studio: forniscono un dettaglio puntuale sugli argomenti trattati a lezione.



Contenuti del corso



Testi di riferimento

Testi adottati:

Altri testi utili:


Altro materiale didattico

Il materiale didattico sarà pubblicato su studium.unict.it



Programmazione del corso

 *ArgomentiRiferimenti testi
1*Modello RelazionaleCapitolo 2, Atzeni et al. e materiale didattico integrativo  
2*Algebra relazionaleCapitolo 3, Atzeni et al. e materiale didattico integrativo  
3*SQL: InterrogazioniCapitolo 4, (paragrafo 4.3) Atzeni et al. e Capitolo 6, Albano et al. e materiale didattico integrativo  
4*SQL: Definizione datiCapitolo 4, (paragrafo 4.2) Atzeni et al. e materiale didattico integrativo  
5*SQL: Modifica datiCapitolo 4, (paragrafo 4.4) Atzeni et al. e materiale didattico integrativo  
6*Viste e Stored ProcedureCapitolo 5, Atzeni et al. e materiale didattico integrativo  
7*TriggerCapitolo 5, Atzeni et al. e materiale didattico integrativo  
8*Progettazione di una base di datiCapitolo 6, Atzeni et al. e materiale didattico integrativo  
9*Progettazione concettualeCapitolo 7, Atzeni et al. e materiale didattico integrativo  
10*Progettazione logicaCapitolo 8, Atzeni et al. e materiale didattico integrativo  
11*NormalizzazioneCapitolo 5, Albano et al e materiale didattico integrativo  
12*Sviluppo Applicazioni e linguaggi hosthttp://www.w3schools.com e materiale didattico integrativo  
13*Organizzazione fisica e gestione delle interrogazioniCapitolo 11, Atzeni et Al. e materiale didattico integrativo  
14*Transazioni, controllo affidabilità e controllo concorrenzaCapitolo 12, Atzeni et al e materiale didattico integrativo  
15*XML, XML schema, Xquery XpathCapitolo 14, Atzeni et al. e materiale didattico integrativo  
16*Cenni sui NoSQL database.materiale didattico integrativo 
* Conoscenze minime irrinunciabili per il superamento dell'esame.

N.B. La conoscenza degli argomenti contrassegnati con l'asterisco è condizione necessaria ma non sufficiente per il superamento dell'esame. Rispondere in maniera sufficiente o anche più che sufficiente alle domande su tali argomenti non assicura, pertanto, il superamento dell'esame.


Verifica dell'apprendimento


MODALITÀ DI VERIFICA DELL'APPRENDIMENTO

L'esame finale consiste in una prova scritta ed un colloquio orale nel quale viene discusso un progetto.

La prova scritta è costituita da esercizi e domande di teoria.

Chi non supera la prova scritta, non può sostenere l'orale. La prova scritta può essere visionata prima delle prove orali.

Salvo diversa comunicazione:

Note:


PROVE IN ITINERE

Prove in Itinere

Durante il corso verranno svolte due prove in itinere,riservate a chi segue il corso. In tal senso potranno essere prese le presenze a lezione. Il superamento delle prove in itinere consentirà di accedere direttamente alla discussione del progetto.


ESEMPI DI DOMANDE E/O ESERCIZI FREQUENTI

Gli esami degli anni passati con le soluzioni, esempi di domande e/o esercizi verranno pubblicati su studium.




Apri in formato Pdf English version