Offerta Didattica
INFORMATICA
BASI DI DATI
Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2021/2022
Sedi: MESSINA
SSD | TAF | tipologia | frequenza | moduli |
---|---|---|---|---|
INF/01 | Caratterizzante | Libera | Libera | Sì |
CFU | CFU LEZ | CFU LAB | CFU ESE | ORE | ORE LEZ | ORE LAB | ORE ESE |
---|---|---|---|---|---|---|---|
12 | 8 | 0 | 4 | 96 | 48 | 0 | 48 |
LegendaCFU: 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.
Esami: Elenco degli appelli
Elenco delle unità didattiche costituenti l'insegnamento
Docente: MASSIMO VILLARI
Orario di Ricevimento - MASSIMO VILLARI
Giorno | Ora inizio | Ora fine | Luogo |
---|---|---|---|
Martedì | 16:00 | 18:00 | Dipartimento di Ingegneria Blocco B VII Piano. Previa prenotazione per email settimana precedente. |
Giovedì | 16:00 | 18:00 | Dipartimento di Ingegneria Blocco B VII Piano. Previa prenotazione per email settimana precedente. |
Note:
Docente: MASSIMO VILLARI
Orario di Ricevimento - MASSIMO VILLARI
Giorno | Ora inizio | Ora fine | Luogo |
---|---|---|---|
Martedì | 16:00 | 18:00 | Dipartimento di Ingegneria Blocco B VII Piano. Previa prenotazione per email settimana precedente. |
Giovedì | 16:00 | 18:00 | Dipartimento di Ingegneria Blocco B VII Piano. Previa prenotazione per email settimana precedente. |
Note: