Il corso fornisce una panoramica completa sulle tecniche e gli strumenti per la progettazione e lo sviluppo di una base di dati, applicati su esempi reali utilizzando gli strumenti software più diffusi

Sillabo

  1. Analisi dei requisiti. Progettazione concettuale delle basi di dati. I diagrammi Entità-Relazione. (circa 12 ore di lezione)
  2. Progettazione logica delle basi di dati. Ristrutturazione e ottimizzazione di diagrammi ER. Passaggio da modello concettuale a modello logico. (circa 12 ore di lezione)
  3. I tipi di dato in SQL. Operatori ed espressioni in SQL. Gestione delle utenze e dei permessi in un DBMS. Creazione e modifica di tabelle in SQL. Vincoli su tabelle. Vincoli di integrità referenziale. (circa 10 ore di lezione)
  4. Inserimento di dati in SQL. Cancellazione di dati in SQL. Modifica di dati in SQL. (circa 2 ore di lezione)
  5. Interrogazioni di base in SQL. Interrogazioni avanzate: join interno ed esterno tra tabelle. Interrogazioni avanzate: subquery. Interrogazioni avanzate: raggruppamento dei record. Interrogazioni avanzate: query di unione, intersezione, differenza. (circa 12 ore di lezione)
  6. Concetti avanzati di SQL: viste. Concetti avanzati di SQL: procedure. Concetti avanzati di SQL: trigger. Interfacciamento con i linguaggi di programmazione: Java/JDBC. Interfacciamento con i linguaggi di programmazione: PHP. (circa 12 ore di lezione)

Prerequisiti

I prerequisiti indicano le conoscenze necessarie a una corretta fuizione del corso. Non si tratta di propedeuticità formali, in quanto le conoscenze qui elencate potrebbero provenire da insegnamenti diversi e anche dall’esperienza personale.

Conoscenza di base della programmazione imperativa

Metodi didattici

Le lezioni sono di carattere prettamente pratico, e prevedono lo sviluppo interattivo di esempi in aula; gli studenti sono incoraggiati a partecipare alle lezioni facendo domande e discutendo le soluzioni adottate negli esempi sviluppati

Verifica dell’apprendimento

La valutazione finale prevede lo sviluppo (in gruppo) di un progetto e un’eventuale prova orale (individuale). Il progetto da sviluppare consiste in un database, da progettare e implementare insieme a una serie di query ad esso riferite. La prova orale parte dalla discussione del progetto e ha lo scopo di verificare il livello collaborazione nel gruppo e il contributo individuale al progetto