Offerta Didattica

 

INFORMATICA

BASI DI DATI

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 Sviluppare la capacità di comunicare correttamente il risultato delle attività svolte mediante la redazione di progetti di basi di dati individuali e/o di gruppo. Sviluppare l’attitudine all’ampliamento delle proprie conoscenze mediante la continua sollecitazione alla ricerca delle metodologie più adatte ad affrontare l’opportuna progettazione e realizzazione di una base di dati.

Learning Goals


Metodi didattici

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

Teaching Methods


Prerequisiti

Fondamenti di programmazione.

Prerequisites


Verifiche dell'apprendimento

Scritto con test on-line su Piattaforma di Ateneo, ed Orale con Progetto opzionale nell'Ambito delle Basi di Dati. Test on-line ed Orale senza progetto permettono una valutazione massima di 25/30. Test on-line ed orale con Progetto permettono una valutazione massima di 30/30 e lode.

Assessment


Programma del Corso

------------------------------------------------------------ Modulo: A000902 - BASI DI DATI ------------------------------------------------------------ ​​​​​​​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. ------------------------------------------------------------ Modulo: 8192 - BASI DI DATI NOSQL ------------------------------------------------------------ GESTIONE DISTRIBUITA DEI DB  Gestione dei dati in ambiente Internet/Intranet distribuito; Richiamo basi di dati relazionali ad oggetti (ORDBMS) e orientate agli oggetti (OODBMS); Sviluppo di stored procedure mediante linguaggio PL/SQL; DB PER BIG DATA Data Source, Big data e progettazione di data model;  DB IN CLOUD Database per sistemi e applicazioni cloud; Soluzioni NoSQL (key-value, column, document e graph); Progettazione e sviluppo di architetture ibride SQL-like/NoSQL; Tecniche di manutenzione e scalabilità di database NoSQL.

Course Syllabus


Testi di riferimento: ------------------------------------------------------------ Modulo: A000902 - BASI DI DATI ------------------------------------------------------------ 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. ------------------------------------------------------------ Modulo: 8192 - BASI DI DATI NOSQL ------------------------------------------------------------ Atzeni Paolo, Ceri Stefano, Fraternali Piero. Basi Di Dati 5A Edizione. 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.

Elenco delle unità didattiche costituenti l'insegnamento

Docente: MASSIMO VILLARI

Orario di Ricevimento - MASSIMO VILLARI

GiornoOra inizioOra fineLuogo
Martedì 16:00 18:00Dipartimento di Ingegneria Blocco B VII Piano. Previa prenotazione per email settimana precedente.
Giovedì 16:00 18:00Dipartimento di Ingegneria Blocco B VII Piano. Previa prenotazione per email settimana precedente.
Note:

Docente: MASSIMO VILLARI

Orario di Ricevimento - MASSIMO VILLARI

GiornoOra inizioOra fineLuogo
Martedì 16:00 18:00Dipartimento di Ingegneria Blocco B VII Piano. Previa prenotazione per email settimana precedente.
Giovedì 16:00 18:00Dipartimento di Ingegneria Blocco B VII Piano. Previa prenotazione per email settimana precedente.
Note:
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti