Welcome to my webpage

Laboratorio di Basi di Dati (in Italian)

2020-2021, I semestre, Laurea Triennale in Informatica, Università di Udine

Orari e aule delle lezioni di laboratorio di basi di dati

(eventuali cambiamenti dovuti ad impegni accademici dei docenti saranno comunicati tempestivamente)

Lezioni

I link alle registrazioni delle lezioni sono disponibili qui
  • Lezione 1 (martedì 20/10/20, 10:15-12:45): Introduzione al corso, Introduzione alla progettazione di basi di dati [Parziale numero ore: 3]
  • Lezione 2 (martedì 27/10/20, 10:15-12:45): Raccolta e analisi dei requisiti, Pattern di progetto [Parziale numero ore: 6]
  • Lezione 3 (martedì 03/11/20, 10:15-12:45): Pattern di progetto (cont'd) [Parziale numero ore: 9]
  • Lezione 4 (martedì 10/11/20, 10:15-12:45): Progettazione concettuale (esempio preliminare), Strategie di progetto, Qualità di uno schema concettuale [Parziale numero ore: 12]
  • Lezione 5 (martedì 17/11/20, 10:15-12:45): Categorie e specializzazioni, Attività di laboratorio sul progetto finale (raccolta e analisi dei requisiti) [Parziale numero ore: 15]
  • Lezione 6 (venerdì 24/11/20, 10:15-12:45): Attività di laboratorio sul progetto finale (raccolta e analisi dei requisiti, progettazione concettuale) [Parziale numero ore: 18]
  • Lezione 7 (venerdì 01/12/20, 10:15-12:45): Attività di laboratorio sul progetto finale (progettazione concettuale) [Parziale numero ore: 21]
  • Lezione 8 (martedì 15/12/20, 10:15-12:45): Progettazione logica: analisi delle ridondanze e traduzione delle relazioni delle schema ER nello schema relazionale [Parziale numero ore: 24]
  • Lezione 9 (marterdì 22/12/20, 10:15-12:45): Introduzione ad R [Parziale numero ore: 27]
    Slides:
    [05_r_brevi_cenni_preliminari.pdf]
    [06_r_intro.pdf] *** slides gentilmente offerte da Nicola Vitacolonna ***
  • Lezione 10 (venerdì 08/01/21, 10:15-12:45): Manipolazione dei dati, Leggere da/scrivere su file in linguaggio R [Parziale numero ore: 30]
    Slides:
    [07_r_data_operations.pdf] *** slides gentilmente offerte da Nicola Vitacolonna ***
    [08_r_getting_data.pdf] *** slides gentilmente offerte da Nicola Vitacolonna ***
  • Lezione 11 (martedì 12/01/21, 10:15-12:45): Visualizzazione di dati attraverso grafici in linguaggio R, R e le basi di dati, Informazioni finali corso [Parziale numero ore: 33]
    Slides:
    [09_r_sample_graphs.pdf] *** slides gentilmente offerte da Nicola Vitacolonna ***
    [10_r_expository_graphs.pdf] *** slides gentilmente offerte da Nicola Vitacolonna ***
    [11_r_e_basi_di_dati.pdf]
    [12_informazioni_finali.pdf]

    Extra:
  • Lezione 12 (mercoledì 13/01/21, 10:15-12:45): Lezione tenuta dal prof. Montanari [Parziale numero ore: 36]

Software

  • Strumenti per disegnare diagrammi Entità-Relazione (ma state attenti alla notazione: utilizzare quella proposta dal prof. Montanari al corso)
  • ChronoGeoGraph (realizzato dalla dott.ssa Donatella Gubiani): tool grafico per la realizzazione di diagrammi Entità-Relazione (richiede Java).
    Il tool, al momento, presenta alcuni problemi; occuparsi di migliorarlo costituisce un possibile progetto per l'esame o tesi triennale (vedere sezione "Funzionalità da integrare nel tool ChronoGeoGraph" in basso e/o chiedere al docente per maggiori informazioni)
    Per eseguire ChronoGeoGraph su sistemi operativi Linux e Mac, utilizzare questo script realizzato da Riccardo Caranfil.
    Istruzioni per l'esecuzione (assumiamo java installato ed aggiornato all'ultima versione)
    • estrarre il file "ChronoGeoGraph.zip"
    • navigare in "ChronoGeoGraph/cgg/"
    • Sotto Windows (sembra non funzionare in WinXP e in Win10): lanciare (doppio click) "ChronoGeoGraph.cmd"
    • Sotto Linux (e probabilmente Mac): eseguire (da riga di comando; verificare che il file abbia i permessi di esecuzione) "run.sh"
    In caso di difficoltà nell'installazione, è possibile testare il "wrapper" realzzato da Simone Zanin, che consiste in un singolo .jar avviabile indipendentemente dal sistema operativo attraverso il quale è possibile configurare il tool in base al sistema operativo (i sorgenti del wrapper sono disponibili qui).
  • Istruzioni per installazione e configurazione di postgreSQL e pgadmin (in inglese)
    • PostgreSQL è un DataBasa Management System (DBMS) gratuito e open source
    • pgAdmin è una piattaforma per amministrazione e sviluppo di basi di dati in PostgreSQL
  • RStudio: ambiente di lavoro per R
  • mockaroo: applicazione web per la generazione di dati casuali realistici

Misc

  • Come risolvere errori di tipo SCRAM authentication error.
    • Problematica: l'errore potrebbe presentarsi quando ci si prova a connettere al server postgreSQL da R. Il messaggio di errore contiene qualcosa del tipo: "SCRAM authentication requires libpq version 10 or above".
    • Possibili soluzioni:
      1. modificare l'algoritmo di codifica della password da "SCRAM" a "MD5". Clicca qui per maggiori dettagli
      2. passare alla versione 11 o 12 di PostgreSQL (il problema dovrebbe presentarsi a partire dalla versione 13); disinstallare la versione 13 o superiore di postgreSQL prima di installare la versione 11 o 12

Funzionalità da integrare nel tool ChronoGeoGraph (possibili progetti e/o tesi triennali -- chiedere info ai docenti del corso)

  • Entità debole con due identificatori esterni
  • Due chiavi di entità (al momento si può indicare una chiave composta da un insieme di attributi ma non si possono specificare due insiemi di attributi chiave)
  • Eliminare lo sfarfallio