Offerta Didattica
INFORMATICA
DATABASE
Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2022/2023
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 DataLearning 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 DataMetodi 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 proveAssessment
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 ------------------------------------------------------------ -- ------------------------------------------------------------ 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 ------------------------------------------------------------ -- ------------------------------------------------------------ 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
------------------------------------------------------------
--
------------------------------------------------------------
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.
Esami: Elenco degli appelli
Elenco delle unità didattiche costituenti l'insegnamento
Docente: ARMANDO RUGGERI
Orario di Ricevimento - ARMANDO RUGGERI
Dato non disponibile
Docente: ANTONIO CELESTI
Orario di Ricevimento - ANTONIO CELESTI
Giorno | Ora inizio | Ora fine | Luogo |
---|---|---|---|
Martedì | 17:00 | 18:00 | Dipartimente 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.