BASI DI DATI canale 1

Docente coordinatore e verbalizzante: FRANCESCO LEOTTA

Obiettivi formativi

Obiettivi Generali:
Obiettivo del corso è la presentazione dei principi fondamentali delle basi di dati e dei relativi sistemi di gestione. Gli argomenti vengono trattati da vari punti di vista, coprendo aspetti teorici, metodologici, tecnologici ed applicativi. Alla fine del corso lo studente dovrebbe aver acquisito non soltanto le conoscenze teoriche sulla materia trattata, ma anche le tecniche e gli strumenti metodologici sufficienti per affrontare e condurre a termine il progetto completo di una base di dati.

Obiettivi specifici:

Conoscenza e comprensione:
I principali modelli e linguaggi per la progettazione e la gestione delle basi di dati.

Applicare conoscenza e comprensione:
Essere in grado di progettare una base di dati a partire dai requisiti costruendo lo schema concettuale completo di vincoli; tradurre tale schema in un modello logico ed implementarlo su un DBMS relazionale, corredato di opportune interrogazioni.

Capacità critiche e di giudizio:
Essere in grado di valutare la qualità di un progetto di basi di dati e la correttezza delle applicazioni utilizzate nella gestione.

Capacità comunicative:
Le attività progettuali e le esercitazioni del corso permettono allo studente di essere in grado di comunicare/condividere i requisiti di una base di dati, nonché le scelte progettuali e le metodologie di progettazione e sviluppo.

Capacità di apprendimento:
Oltre alle classiche capacità di apprendimento fornite dallo studio teorico del materiale didattico, le modalità di svolgimento del corso, in particolare le attività progettuali, stimolano lo studente all'approfondimento autonomo di alcuni argomenti presentati nel corso, al lavoro di gruppo, e all'applicazione concreta delle nozioni e delle tecniche apprese durante il corso.

Risultati di apprendimento attesi

Alla fine del corso, lo studente sarà in grado, partendo dall'analisi dei requisiti forniti dal committente, di progettare una base di dati relazionale in terza forma normale. Lo studente sarà inoltre in grado, utilizzando strumenti a riga di comando, di creare, popolare ed interrogare una base di dati utilizzando il linguaggio SQL.

Prerequisiti

Nessun prerequisito fatta eccezione per conoscenze base nell'uso del calcolatore

Programma dell’insegnamento

Nozioni Preliminari - Sistemi informativi, Basi di dati, Database management systems
Il Modello Relazionale
Algebra Relazionale
Il Linguaggio SQL
Definizione e Manipolazione dei Dati in SQL
Interrogazioni Nidificate in SQL
Vincoli di Check, Asserzioni, Viste
Progettazione Concettuale
Progettazione Logica

Testi di riferimento

R. Ramakrishnan, J. Gehrke. Sistemi di basi di dati. McGraw-Hill, 2004.
P.Atzeni, S.Ceri, S.Paraboschi, R.Torlone. Basi di Dati. Modelli e Linguaggi di Interrogazione. McGraw-Hill, 2014.

Modalità di svolgimento

La modalità di svolgimento prevede didattica frontale. Le lezioni sono di due tipi: teoriche ed esercitazioni. Durante le esercitazioni verrà richiesto agli studenti di svolgere esercizi scritti oppure sul proprio calcolatore.

Frequenza

Non è richiesta frequenza obbligatoria.

Modalità di esame

L'esame finale consiste di uno scritto composto da un esercizio di progettazione concettuale, un esercizio di progettazione logica, 3 esercizi di query SQL ed una domanda di teoria su un qualunque argomento del corso. E' possibile sostenere un orale su richiesta dello studente o dei docenti. In quest'ultimo caso l'orale viene richiesto per chiarimenti circa l'esame e voti in bilico.

Esempi di domande

Esempi di compiti recenti sono disponibili all'indirizzo http://www.diag.uniroma1.it/leotta/basididati2021.html. Di seguito un esempio completo riportato

DOMANDA 1 (10 punti) (punteggio minimo richiesto 5)

Dati i seguenti requisiti, produrre un Diagramma Entità-Relazione appropriato

Il Ministero dell’Istruzione vuole censire i lavori di manutenzione presso le aule delle proprie scuole. Delle scuole interessa il nome, l’indirizzo (una stringa) ed il numero di piani. Di ogni aula, identificata da un codice unico nell’ambito della scuola in cui si trova, interessano il numero di finestre e la superficie in metri quadri. Di ogni scuola interessano inoltre gli/le insegnanti che lavorano nell’edificio (almeno uno). Di ogni insegnante (che può lavorare in una ed una sola scuola) interessa il codice fiscale (identificativo), il nome, il cognome, la data di nascita e l’anno di laurea. Sulle aule possono essere effettuati dei lavori di manutenzione. Ogni lavoro di manutenzione è effettuato da una ditta su un’aula ed ha un codice univoco nell’ambito dell’aula. Di ogni lavoro di manutenzione interessa inoltre il costo, la data di inizio e la (eventuale) data di fine. Di ogni ditta interessa la partita iva (identificativa), la ragione sociale, il fatturato annuo ed i/le titolari (ogni azienda ne ha almeno uno/a). Di ogni titolare interessa il codice fiscale (identificativo), il nome, il cognome, la data di nascita ed il titolo di studio. Si noti che ogni titolare può avere più ditte intestate (almeno una). Si noti infine che un insegnante non può essere titolare di ditta (per conflitto di interessi) e viceversa.

DOMANDA 2 (8 punti) (punteggio minimo richiesto 3)

Si effettui la progettazione logica del diagramma ER realizzato con riferimento alla domanda 1, seguendo l’indicazione di evitare il più possibile valori nulli nella base di dati.

DOMANDA 3

Dato il seguente schema relazionale:

Autoveicolo (Targa, Produttore, Modello, Cilindrata)
Persona (CF, Nome, Cognome, DataNascita, RegioneResidenza)
Proprieta (Targa, CF, DataDa, DataA)
Incidente (TargaA, TargaB, Data, Citta, Regione)
che contiene informazioni su autoveicoli, proprietari passati (ogni autoveicolo può avere avuto più proprietari) ed incidenti.
1) Restituire il codice fiscale delle persone che non hanno mai posseduto autoveicoli con cilindrata superiore a 1500 (3 Punti)
2) Restituire il codice fiscale, il nome ed il cognome delle persone le cui auto non sono mai state coinvolte in incidenti fuori dalla loro regione di residenza (4 Punti)
3) Restituire per ogni regione di residenza la marca di autoveicoli che ha prodotto più veicoli posseduti da residenti in quella regione su tutto l’orizzonte temporale coperto dalla base dati. (4 Punti)

DOMANDA 4 (3 punti)

Definire i concetti di schema logico, fisico ed esterno e discutere i concetti di indipendenza fisica ed indipendenza logica.

Programmazione delle attività didattiche

  • La programmazione è disponibile sul sito del corso https://sites.google.com/diag.uniroma1.it/basididati2526/home-page

Obiettivi per lo sviluppo sostenibile - Agenda ONU 2030

  • Goal4
  • Goal9
  • Anno accademico2026/2027
  • Corso di studio a cui afferisce l’insegnamentoIngegneria Gestionale
  • Codice insegnamento1017397
  • Anno e semestre3º anno - 2º semestre
  • TipologiaAttività formative caratterizzanti
  • AmbitoIngegneria informatica
  • SSDING-INF/05
  • Presenza obbligatoriaNo
  • Linguaita
  • CFU6 CFU
  • Durata complessiva60 ore
  • Distribuzione delle ore36 classroom hours, 24 training hours