Sistemi Informativi: Database Relazionali e Big Data

Obiettivi formativi e Competenze in uscita

Il corso mira a trasformare lo studente in un professionista capace di governare l'intero ciclo di vita del dato aziendale. Dalla modellazione di database relazionali alle sfide di scalabilità dei Big Data, l'obiettivo è fornire gli strumenti tecnici (SQL, NoSQL, Python) e metodologici per costruire l'architettura informativa su cui poggiano i moderni sistemi gestionali.

Le principali abilità acquisite saranno:

  • Data Modeling: Progettare e normalizzare basi di dati complesse, garantendo l'integrità e l'efficienza delle informazioni aziendali.

  • Data Manipulation: Estrarre valore dai dati attraverso query SQL avanzate e l'integrazione con script Python per l'automazione.

  • Scelte Tecnologiche: Valutare criticamente quando utilizzare soluzioni tradizionali (RDBMS) o moderne (NoSQL) in base ai requisiti di business.

  • Big Data Strategy: Identificare le architetture e i modelli di programmazione necessari per gestire volumi, velocità e varietà di dati su larga scala.

  • Architettura dei Sistemi Gestionali: Comprendere il ruolo dei Sistemi Informativi Aziendali come spina dorsale dei processi organizzativi e decisionali.

Prerequisiti

Il corso richiede la conoscenza del linguaggio Python, che verrà utilizzato come ponte tra la logica applicativa e i sistemi di gestione dei dati.

Contenuti

  • Fondamenti di Database Design: Dalle specifiche di business al diagramma Enhanced Entity-Relationship (EER).

  • Il Modello Relazionale: Teoria relazionale, linguaggi di interrogazione (SQL) e tecniche di normalizzazione.

  • Affidabilità e Performance: Gestione delle transazioni, strutture di indicizzazione e ottimizzazione delle performance.

  • Applicazioni Data-Driven: Interfacciamento tra linguaggi di programmazione (Python) e DBMS per lo sviluppo di applicazioni Data-Driven.

  • Oltre il Relazionale: Introduzione alle basi di dati NoSQL per nuove esigenze di scalabilità.

  • Sistemi Informativi Aziendali: Architetture Enterprise Resource Planning (ERP), flussi informativi e il ruolo dei dati nei processi di business.

  • L’Ecosistema Big Data: Paradigmi di storage e processing su larga scala e analisi dei principali casi d'uso industriali.

 

Metodi e Approcci Didattici 

L’insegnamento è erogato interamente in modalità a distanza attraverso il Learning Management System di Ateneo.
Le attività didattiche includono:

  • videolezioni  registrate (asincrone);

  • esercitazioni ed esempi commentati;

  • attività pratiche di programmazione con feedback individuale;

  • momenti di interazione sincrona con docente e tutor (20%).

L’approccio è orientato all’apprendimento attivo e progressivo della programmazione.

 

Elenco delle e-tivity

Le e-tivity erogate durante il corso comprenderanno:

  • progettazione e sviluppo di query per DataBase, nei linguaggi SQL e Python, con feedback individuale, utilizzando sistemi come il plugin CodeRunner di Moodle;

  • test su Moodle (test, esercizi a risposta aperta o strutturata) con feedback individuale;

  • esercizi di problem solving e debugging;

  • partecipazione a forum tematici di supporto e discussione.

 

Compiti di docenti e tutor

Il tutor didattico affianca il docente principalmente con interventi di didattica integrativa da remoto (ricevimenti individuali in forma sincrona (in aula virtuale) o consigli via email).

 

Testi e Materiali Didattici 

  • Materiale didattico originale fornito dal docente (videolezioni, slide, dispense, esempi di codice)

  • Risorse online e testi consigliati sulla piattaforma del corso

  • Libri di testo di approfondimento opzionali: 

    • Ramez A. Elmasri, Shamkant B. Navathe. Sistemi di basi di dati. Fondamenti e complementi. Settima edizione, 2018, Pearson Addison Wesley.

 

Modalità di valutazione

L'esame si svolgerà presso uno dei laboratori informatici del Polo Scientifico-Tecnologico dell’Università di Ferrara ed è suddiviso in 2 parti:

1) realizzazione di una semplice applicazione Python che implementi funzioni di interrogazione e manipolazione di dati interagendo con un DataBase Management System (DBMS), ad esempio di tipo relazionale, tramite interfaccia SQL

2) risposta a 3 domande sulla parte teorica del corso.


Ciascuna prova deve essere superata almeno con un voto di 18/30. Il voto finale sarà la media aritmetica delle 2 prove.