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

Acquire the knowledge and methodologies necessary for interaction with databases, deepening the basic concepts of the functioning of databases and the tools for the design and implementation of the same. Develop traditional SQL-like relational databases and advanced NoSQL databases capable of managing Big Data

Metodi didattici

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

Teaching Methods

Lectures in the classroom , Lectures in the laboratory, practical based lessons in laboratory, Seminars.

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

Knowledge of operating systems (structure of operating systems, process management, process synchronization, memory management, file system, security and protection) and programming (procedural and object-oriented programming).

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

The learning assessment method involves the development of a practical project assigned by the teacher relating to the topics addressed within the course and an oral exam focused on theoretical aspects. Each of the above mentioned verifications provides for the assignment of a score out of thirty and it will be valid for one academic year. Each verification will be considered passed with a score of at least 18/30. The final evaluation will be given by the arithmetic average of the evaluations of the two tests.

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

------------------------------------------------------------ Modulo: A000870 - NOSQL DATABASE ------------------------------------------------------------ English ------------------------------------------------------------ Modulo: A000940 - DATABASE ------------------------------------------------------------ Introduction on Information systems and computer systems. DBMS data Models. Patterns and levels of abstraction in db. DBMS users. Languages for databases: DDL and DML. Advantages and disadvantages of DBMS. Relational model, Cartesian products and relation ships. Relations with attributes: tuples, domains. Reports and databases. Patterns and instances of databases. Correspondence between reports. Incomplete information and null values. Integrity constraints. Constraints intra-relations: Tuple constraints, key constraints. Interrelational constraints: referential integrity constraints. Algebra and the calculation, algebra relational operators: operators set membership, renaming, projection, selection, join. Natural join. Outer join. Theta-join. Queries in relational algebra. Transformations of equivalence for expressions in relational algebra. Algebra with null values. Views Calculus on domains. Construction of formulas: the logical operators AND, OR and NOT; existential quantifier and universal law of De Morgan. Questions in the calculation domains. Calculation on tuples with declaration of a range. The SQL standard SQL-2. Schema Definition in SQL: Basic data types and user-defined table definition; definition schema, definition of constraints (intra-relation simple, referential integrity, and generic). Definition of indices. Instructions for changing the schema. Queries in SQL: SELECT command, selection formulas, order of outcome, joining tables. Using varaibili. Aggregate transaction. Questions grouping. Question nested. Set operations. Instructions insertion, deletion and modification. Assertions. Views. Access control: identification, resources and privileges. Methodologies and models for the project. Life cycle of information systems. Collection and analysis of requirements. Phases of design: conceptual design, logical design, physical design. Conceptual models. The model entity-relationship (ER): entities, relationships, attributes, relationships cardinalit, identifiers of the entities, entity hierarchies. Documentation of conceptual schemes. Data dictionary. Integrity constraints and business rules. Conceptual Sources of the requirements. Organization and writing requirements. Development of the ER model. Design strategies: bottom-up, top-down, inside-out and hybrid. Quality of a conceptual scheme. CASE tools for design. Example of conceptual design. Logical design performance analysis on ER schemas. Data Volume. Characteristics of operations: schema operations and table access. Restructuring schemes ER: Analysis of redundancy, elimination of generalizations, partitioning / merging of entities and associations, the choice of primary identification. Translation into the relational model. Translation of the many-to-many, one-to-many and one-to-one. An example of logical design. Using CASE tools for the design logic. Standardization Redundancies and anomalies. Functional dependencies. Dependencies are not trivial. Dependencies and keys. Boyce Codd normal form. Standardization in BCNF. Decompositions without loss. Decompositions with preservation of dependencies. The third normal form. Decomposition 3NF. Standardization and conceptual schemes.

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