Lo studente che completerà con successo questo insegnamento dimostrerà una solida conoscenza della generale architettura di un Gestore di Basi di dati e del suo funzionamento. Lo studente sarà capace di progettare la struttura concettuale e logica di una Base di dati e di formulare interrogazioni in un opportuno linguaggio. Infine lo studente sarà capace di analizzare un progetto e verificarne la qualità; sarà inoltre capace di fornire funzionalità per effettuare analitycs sulla base di dati.
The student who completes the course successfully will be able to demonstrate a solid knowledge of the general architecture of the behavior of a DataBaseManagementSystem. He/she will be able to design the conceptual and logic structure of a database and to formulate queries on it. Moreover he/she will be able to analyse a database design to state its quality and to define analytic functionalities on the data base.
La verifica delle conoscenze sarà effettuata tramite la valutazione dell'orale e degli elaborati scritti previsti ad ogni sessione d'esame riguardanti i vari tipi di conoscenza richiesti.
Academic progress will be monitored and verified from the written papers required at each exam session for the different types of knowledge
Lo studente dovrà essere in grado di discutere il lavoro progettuale svolto e di verificare proprietà di una base di dati.
Lo studente dovrà presentare una relazione scritta che riporti i risultati dell'attività di progetto, e delle verifiche fatte; inoltre dovrà mostrare la sua capacità di interrogare una semplice base di dati.
Lo studente deve acquisire la capacità di affrontare e gestire un progetto in gruppo, inclusa la produzione dell'opportuna documentazione.
The student should acquire the capability for managing a group project and for producing a suitable and complete documentation of his\her work.
La discussione sul progetto svolto metterà in luce i relativi ruoli dei partecipanti e la loro capacità di difendere le scelte fatte.
The final discussion of the project shall show the role of each group member in the work and the ability of each student in defending the chosen options.
Prerequisito di questo insegnamento è il superamento dell'unità didattica
- Fondamenti di Programmazione (obbligatorio)
For this course the prerequisite is the
Il corso nel 2021-22 è fornito in presenza; a causa delle restrizioni per la pandemia, se non tutti gli iscritti potranno stare contemporaneamente in aula, sarà anche fornito a distanza sulla piattaforma teams, la frequenza è consigliata. Il sito web del corso su Moodle permette di scaricare le slide delle lezioni e esercitazioni, vecchi compiti e prove pratiche svolte, come pure esempi del test di autovalutazione. La comunicazione col docente può avvenire tramite e-mail formulando quesiti precisi oppure con domande o richieste di spiegazioni aggiuntive di persona. Le attività di apprendimento consistono in
The course delivery mode is face-to-face. Attendance is advised. The course web site can be used to obtain the slides of the lessons, old tests for written and practical examination. E-mail is used to communicate with the lecturer and to obtain appointments to clarify some points in the slides.
Learning activities are
Il modello Entity-relationship per descrivere il livello concettuale delle basi di dati. Il modello relazionale per descrivere il livello logico. Normalizzazione delle relazioni. Il linguaggio SQL e il server MySQL per l'interrogazione e per l'analytic della base di dati. Il modello di esecuzione per il gestore di una base di dati relazionale e le sue varie funzioni.
The Entity-relationship model for the database design. The relational model and the logical design of databases. Relations in normal forms. The query language SQL and its execution model. The behavior of the DBMS during execution of the queries: recovery from faults and concurrency control.
Atzeni, et al. Basi di Dati, McGraw-Hill, V ed. 2018, VI ed. 2023
Atzeni, et al. Basi di Dati: modelli e linguaggi di interrogazione, McGraw-Hill, 2023
L'esame finale consiste di tre tipi di verifiche
- domande sulla parte più teorica del corso (normalizzazione e dipendenze funzionali, algebra e calcolo relazionali, affidabiltà e controllo della concorrenza)
- progettazione di query SQL da svolgere al computer su un database appositamente instanziato
- capacità di progettare e realizzare una base di dati. Lo studente deve dimostrare di saper mettere in pratica ed eseguire le attività illustrate dal docente durante il corso. Nella documentazione del progetto di una base di dati lo studente dimostrerà la coscienza delle scelte progettuali e realizzative fatte.
Per quanto riguarda le modalità di verifica:
- verrà somministrato un test on-line su piattaforma moodle, consistente in domande a risposta chiusa sull'intero programma, da svolgere prima di una prova orale; il test ha funzione di autovalutazione e filtro, dovrà essere superato, almeno per il 60% delle domande, per poter accedere alla prova orale;
- la prova orale si svolgerà in parte in maniera telematica, in dipendenza anche dalla situazione pandemica e dal numero degli iscritti alla prova, per quanto riguarda la realizzazione di una semplice query SQL da svolgere al computer e la presentazione del progetto.
The examination will consist of three parts
Assessment criteria
The student must demonstrate the ability to put into practice and to execute, with critical awareness, the activities illustrated or carried out under the guidance of the teacher during the course. In the written exam (1 hour, open questions) and in the practical demostration of SQL programming skills (2 hours in a computer laboratory) the student must demonstrate his/her knowledge of the course material. In the final essay the student must demonstrate his\her ability to complete a database design and implementation.