Offerta Didattica

 

INFORMATICA

DATABASE

Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2021/2022
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
INF/01CaratterizzanteLiberaLibera
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
128049648048
Legenda
CFU: n. crediti dell’insegnamento
CFU LEZ: n. cfu di lezione in aula
CFU LAB: n. cfu di laboratorio
CFU ESE: n. cfu di esercitazione
FREQUENZA:Libera/Obbligatoria
MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli
ORE: n. ore programmate
ORE LEZ: n. ore programmate di lezione in aula
ORE LAB: n. ore programmate di laboratorio
ORE ESE: n. ore programmate di esercitazione
SSD:sigla del settore scientifico disciplinare dell’insegnamento
TAF:sigla della tipologia di attività formativa
TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio

Obiettivi Formativi

Acquisire le conoscenze e le metodologie necessarie per l’interazione con le basi di dati, approfondendo i concetti di base del funzionamento delle basi di dati e gli strumenti per la progettazione e realizzazione delle stesse. Sviluppare basi di dati tradizionali di tipo relazionale SQL-like e basi di dati evolute di tipo NoSQL capaci di poter gestire Big Data

Learning Goals


Metodi didattici

Lezioni frontali in aula, Lezioni frontali in laboratorio, esercitazioni in laboratorio, Seminari.

Teaching Methods


Prerequisiti

Conoscenze di sistemi operativi (struttura dei sistemi operativi, gestione dei processi, sincronizzazione dei processi, gestione della memori, il file system, sicurezza e protezione ) e programmazione (programmazione procedurale e ad oggetti).

Prerequisites


Verifiche dell'apprendimento

La modalità di verifica dell’apprendimento prevede l’elaborazione di un progetto pratico assegnato dal docente vertente sulle tematiche affrontate all’interno del corso e una prova scritta focalizzata su aspetti teorici. Ciascuna delle sopracitate verifiche prevede l’assegnazione di un voto in trentesimi che avrà una validità di un anno accademico. Ciascuna prova si riterrà superata con una votazione di almeno 18/30. La valutazione finale sarà data dalla media aritmetica delle valutazioni delle due prove

Assessment


Programma del Corso

------------------------------------------------------------ Modulo: A000870 - NOSQL DATABASE ------------------------------------------------------------ Inglese ------------------------------------------------------------ Modulo: A000940 - DATABASE ------------------------------------------------------------ Introduzione Sistemi informativi e sistemi informatici. Le basi di dati. Il DBMS. I modelli dei dati. Schemi e livelli di astrazione in una base di dati. Tipologie di utenti di un DBMS. Linguaggi per basi dati: DDL e DML. Vantaggi e svantaggi dei DBMS. Il modello relazionale Prodotti cartesiani e relazioni. Relazioni con attributi: tuple, domini. Relazioni e basi di dati. Schemi e istanze di basi di dati. Corrispondenze fra relazioni. Informazione incompleta e valori nulli. Vincoli di integrità. Vincoli intrarelazionali: vincoli di tupla, vincolo di chiave. Vincoli interrelazionali: vincoli di integrità referenziale. L'algebra ed il calcolo relazionale Operatori dell'algebra relazionale: operatori insiemistici, ridenominazione, proiezione, selezione, join. Join naturale. Join esterno. Theta-join. Interrogazioni in algebra relazionale. Trasformazioni di equivalenza per espressioni in algebra relazionale. Algebra con valori nulli. Viste.Calcolo su domini. Costruzione delle formule: operatori logici and, or e not; quantificatore esistenziale e universale; leggi di De Morgan. Interrogazioni in calcolo sui domini. Calcolo su tuple con dichiarazione di range. Linguaggio SQL Lo standard SQL-2. Definizione di schemi in SQL: tipi di dato di base e definiti dall'utente, definizione di tabelle; definzione dello schema; definizione di vincoli (intrarelazionali semplici, di integrità referenziale, e generici). Definizione di indici. Istruzioni per la modifica dello schema. Interrogazioni in SQL: il comando select; formule di selezione; ordinamento del risultato; join di tabelle. Uso di varaibili. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni nidificate. Operatori su insiemi. Istruzioni di inserimento, cancellazione e modifica. Le asserzioni. Le viste. Controllo degli accessi: identificazione, risorse e privilegi. Metodologie e modelli per il progetto. Il ciclo di vita dei sistemi informativi. Raccolta e analisi dei requisiti. Le fasi di progettazione: progettazione concettuale, progettazione logica, progettazione fisica. I modelli concettuali. Il modello entità-relazione (ER): entità, relazioni, attributi, cardinalità delle relazioni, identificatori delle entità, gerarchie di entità. Documentazione degli schemi concettuali. Il dizionario dei dati. Vincoli di integrità e regole aziendali. Progettazione concettuale Fonti dei requisiti. Organizzazione e scrittura dei requisiti. Sviluppo del modello ER. Strategie di progetto: bottom-up, top-down, inside-out e ibrida. Qualità di uno schema concettuale. Strumenti CASE per la progettazione. Esempio di progettazione concettuale. Progettazione logica Analisi delle prestazioni su schemi ER. Volume dei dati. Caratteristiche delle operazioni: schema di operazioni e tavola degli accessi. Ristrutturazione di schemi ER: analisi delle ridondanze, eliminazione delle generalizzazioni, partizionamento/accorpamento di entità e associazioni, scelta degli identificatori primari. Traduzione verso il modello relazionale. Traduzione di relazioni molti-a-molti, uno-a-molti e uno-a-uno. Un esempio di progettazione logica. Uso di strumenti CASE per la progettazione logica. Normalizzazione Ridondanze e anomalie. Le dipendenze funzionali. Dipendenze non banali. Dipendenze e chiavi. Forma normale di Boyce e Codd. Normalizzazione in BCNF. Decomposizioni senza perdite. Decomposizioni con conservazione delle dipendenze. La terza forma normale. Decomposizione in 3FN. Normalizzazione e schemi concettuali.

Course Syllabus


Testi di riferimento: ------------------------------------------------------------ Modulo: A000870 - NOSQL DATABASE ------------------------------------------------------------ Atzeni, Ceri, Paraboschi, Torlone, "Basi di dati – Modelli e linguaggi di interrogazione", McGraw-Hill, Andrew S. Tanenbaum, Maarten Van Steen. Sistemi Distribuiti. Sistemi distribuiti. Principi e paradigmi. Steven Feuerstein. Oracle PL/SQL Best Practices: Optimizing Oracle Code. Karl Seguin. Il Piccolo Libro di MongoDB 2A Edizione. Eben Hewitt and Jeff Carpenter. Cassandra: The Definitive Guide: Distributed Data at Web Scale. Lars George. HBase: The Definitive Guide Merkl Sasaki, Joy Chao & Rachel Howard. Graph Databases for BeginnersBryce. Materiale fornito dal docente. ------------------------------------------------------------ Modulo: A000940 - DATABASE ------------------------------------------------------------ Atzeni, Ceri, Paraboschi, Torlone, "Basi di dati – Modelli e linguaggi di interrogazione", McGraw-Hill, Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5 3rd ED Robin Nixon "O'Reilly Media, Inc.", Materiale fornito dal docente.

Elenco delle unità didattiche costituenti l'insegnamento

Docente: ANTONIO CELESTI

Orario di Ricevimento - ANTONIO CELESTI

GiornoOra inizioOra fineLuogo
Martedì 17:00 18:00Dipartimente di Ingegneria, blocco B, piano 7.
Note: Si consiglia di contattare il docente tramite e-mail all'indirizzo acelesti@unime.it per conferme e per appuntamenti in altri giorni.

Docente: ANTONIO CELESTI

Orario di Ricevimento - ANTONIO CELESTI

GiornoOra inizioOra fineLuogo
Martedì 17:00 18:00Dipartimente di Ingegneria, blocco B, piano 7.
Note: Si consiglia di contattare il docente tramite e-mail all'indirizzo acelesti@unime.it per conferme e per appuntamenti in altri giorni.
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti