Insegnamento obbligatorio per la Laurea Triennale in Ingegneria Gestionale, collocato al I pd del II anno. L'insegnamento descrive i sistemi per la gestione di basi di dati, considerando le metodologie di progettazione di basi di dati, la gestione e interrogazione delle basi di dati e l'interfacciamento tra applicazioni software e Large Language Model con le basi di dati relazionali. L'attività di laboratorio permette di sperimentare l'uso dei prodotti commerciali e open-source più diffusi.
The course, compulsory for the Bachelor degree in Industrial engineering and management, is offered (in Italian) on the 1st semester of the 2nd year. The course presents database management systems and introduces the methodologies for the design, querying, and management of databases, the interactions of software applications and Large Language Models with relational databases. Laboratory sessions allow experimental activities on the most widespread commercial and open-source products.
- Conoscenza degli aspetti fondamentali di un sistema per la gestione di basi di dati
- Conoscenza della struttura e delle proprietà del modello relazionale dei dati
- Conoscenza dei principi alla base delle basi di dati NoSQL
- Conoscenza dei linguaggi di interrogazione di una base di dati relazionale: algebra relazionale e linguaggio SQL
- Capacità di scrivere interrogazioni in algebra relazionale e in linguaggio SQL
- Conoscenza del modello concettuale Entità-Relazione per la rappresentazione dei dati e della metodologia per la progettazione concettuale e logica relazionale di una base di dati
- Capacità di progettare una base di dati relazionale
- Conoscenza dei costrutti SQL per la gestione delle viste, del controllo dell'accesso e per la gestione delle transazioni
- Conoscenza delle modalità di interazione tra SQL e Large Language Model
- Capacità di interfacciare un'applicazione ad una base di dati relazionale
- Knowledge of the main characteristics of a database management system
- Knowledge of the structure and properties of the relational model
- Knowledge of fundamentals behind NoSQL databases
- Knowledge of query languages for a relational database: Relational algebra and SQL language
- Ability to write queries in the relational algebra and SQL languages
- Knowledge of the conceptual Entity-Relationship model for data representation and of the methodology for conceptual and logical design of a relational database
- Ability to design a relational database
- Knowledge of the SQL statements for view management, data access control, and transaction management
- Knowledge of the interaction techniques between SQL statements and reporting tools
- Ability to design and develop an interactive dashboard
Competenze di base di programmazione.
Basic programming skills.
Argomenti trattati nelle lezioni e relativo peso in crediti:
- Caratteristiche di un sistema per la gestione di basi di dati (0.3 cfu)
- Caratteristiche del modello relazionale dei dati (0.3 cfu)
- Algebra relazionale: operatori principali e definizione delle interrogazioni (1.2 cfu)
- Linguaggio SQL: istruzioni per la definizione delle basi di dati e l'elaborazione dei dati (2 cfu)
- Modello concettuale dei dati (modello Entità-Relazione) e metodologia di progettazione concettuale e logica relazionale di una base di dati (2 cfu)
- Linguaggio SQL: istruzioni per la gestione delle viste, del controllo dell'accesso, e per la gestione delle transazioni (0.4 cfu)
- Sistemi di basi dati non relazionali per la gestione di dati in domini applicativi innovativi (per esempio, industria 4.0, social networks, smart cities) (1 cfu)
- Interazioni tra database relazionali e Large Language Model (0.6 cfu)
- SQL per le applicazioni: interfacciamento di un'applicazione con un database relazionale (0.2 cfu)
Class topics and their weight in credits:
- Characteristics of a database management system (0.3 cfu)
- Characteristics of the relational model (0.3 cfu)
- Relational algebra: main operators and query definition (1 cfu)
- SQL language: statements for data definition and processing (2 cfu)
- Conceptual data model (Entity-Relationship) and methodology for the conceptual and logical design of a relational database (2 cfu)
- SQL language: statements for view management, data access control, and transaction management (0.4 cfu)
- Non-relational databases for data management in innovative application domains (e.g., Industry 4.0, social network, smart cities) (1 cfu)
- Reporting environments for data analyses: query definition, generation of reports and interactive dashboards (1 cfu)
L'insegnamento comprende lezioni ed esercitazioni inerenti gli argomenti trattati nelle lezioni, e in particolare il linguaggio SQL, l'algebra relazionale e la progettazione concettuale e logica di una base di dati. Gli studenti svolgeranno inoltre esercitazioni individuali durante l'insegnamento, per cui potranno predisporre una relazione che contribuirà a determinare il voto finale. L'insegnamento comprende esercitazioni in laboratorio sull'utilizzo del linguaggio SQL, sulla progettazione di una base di dati mediante un Database Management System, l'uso di una base di dati non relazionale e sull'utilizzo di Large Language Model per interagire con basi di dati relazionali. L'attività di laboratorio permette di sperimentare l'uso dei prodotti commerciali e open-source più diffusi in contesti d'interesse nell'ambito gestionale.
The course includes lectures, whose topics are described earlier, and practice on the lecture topics, and in particular SQL language, relational algebra, and conceptual and logical database design. Students will prepare an individual written report on the exercises proposed during the course. The report will contribute to the final exam grade. The course includes laboratory sessions on the SQL language, the design of a database using a Database Management System, and the creation of interactive dashboards for data reporting. Laboratory sessions allow experimental activities on the most widespread commercial and open-source products in contexts relevant for management engineering.
Il testo di riferimento, che copre buona parte degli argomenti è: Atzeni, Ceri, Paraboschi, Torlone, 'Basi di dati - Modelli e linguaggi di interrogazione', 3 ed., McGraw Hill, 2009.
Il seguente testo è un supporto alle esercitazioni: Baralis, Belussi, Psaila, 'Basi di dati: temi d'esame svolti', Esculapio, 2000.
Sono disponibili copie dei lucidi utilizzati nelle lezioni, esempi di scritti di esame ed esercizi, e i manuali per le esercitazioni di laboratorio. Tutto il materiale didattico è scaricabile da un sito web o attraverso il portale.
The reference book, covering the majority of the course topics, is: Atzeni, Ceri, Paraboschi, Torlone, "Basi di dati - Modelli e linguaggi di interrogazione", 3 ed., McGraw Hill, 2009.
The following book supports practices: Baralis, Belussi, Psaila, "Basi di dati: temi d’esame svolti", Esculapio, 2000. Copies of the slides used during the lectures, examples of written exams and exercises, and manuals for the activities in the laboratory will be made available. All teaching material is downloadable from the course website or the Portal.
Slides; Libro di testo; Esercizi; Esercizi risolti; Esercitazioni di laboratorio; Esercitazioni di laboratorio risolte; Video lezioni tratte da anni precedenti; Strumenti di collaborazione tra studenti;
Lecture slides; Text book; Exercises; Exercise with solutions ; Lab exercises; Lab exercises with solutions; Video lectures (previous years); Student collaboration tools;
E' possibile sostenere l’esame in anticipo rispetto all’acquisizione della frequenza
You can take this exam before attending the course
Modalità di esame: Prova scritta (in aula);
Exam: Written test;
...
L'esame è costituito da una prova scritta in aula della durata di 120 minuti e dalla valutazione delle relazioni sulle esercitazioni individuali assegnate durante l'insegnamento.
La prova scritta sarà finalizzata a valutare il livello di conoscenza degli operatori dell'algebra relazionale e del linguaggio SQL, la conoscenza dei fondamenti di progettazione di basi di dati relazionali, il supporto alle decisioni e i fondamenti dei modelli NoSQL. Valuterà inoltre l'abilità pratica di interagire con i principali sistemi per la gestione delle basi di dati presenti sul mercato, di formulare interrogazioni mirate in algebra relazionale, in linguaggio SQL e verso database NoSQL, interagire con Large Language Model per la gestione dei dati e di interfacciare un'applicazione ad una base di dati relazionale.
La valutazione degli homework consegnati sarà finalizzata a valutare abilità tra le quali, ad es.,
- formulare interrogazioni in algebra relazionale e nel linguaggio SQL,
- Progettare una base di dati relazionale,
- interrogare un sistema di gestione delle basi di dati NoSQL,
- interagire con Large Language Model per la gestione dei dati.
La prova scritta comprende
- domande a risposta chiusa relative ai principali argomenti trattati durante il corso (teoria del modello relazionale, gestione dei vincoli d’integrità, gestione delle viste, gestione delle transazioni, sicurezza, basi di dati NoSQL, supporto alle decisioni, SQL per le applicazioni, interazione tra Large Language Models e basi di dati relazionali)
- esercizi relativi alla scrittura di interrogazioni di accesso ai dati di una base di dati relazionale (mediante algebra relazionale e linguaggio SQL) e/o una base di dati non relazionale
- 1 esercizio sulla progettazione concettuale e logica di una base di dati relazione e la definizione dei vincoli d'integrità referenziale
Durante la prova scritta gli studenti non possono nè consultare libri o appunti nè utilizzare dispositivi elettronici.
Le relazioni individuali assegnate durante il corso sono facoltative.
Il voto finale è definito in base alla valutazione della prova scritta e delle relazioni delle esercitazioni individuali assegnate durante il corso. Le relazioni delle esercitazioni individuali sono considerate solo se la valutazione della prova scritta è pari o superiore a 18. La valutazione degli esercizi si basa sulla correttezza del risultato e sull'appropriatezza delle metodologie di risoluzione applicate. La lode verrà assegnata in caso la valutazione complessiva (prova scritta + esercitazioni individuali) sia maggiore di 31 punti.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Written test;
The exam includes a written part, which lasts 2 hours and the evaluation of the report on the individual practices assigned during the course.
The written part consists of
- 3 multiple-choice tests on the main course topics (theory of relation model, integrity constraints’ management, materialized views’ management, transactions’ management, security, NoSQL databases) (max. 3 points)
- 4 exercises on writing queries to access data in a relational database (through relational algebra and SQL language) (max. 18 points)
- 1 exercise on conceptual and logical database design and on the definition of referential integrity constraints (max. 10 points)
Students can consult textbooks or notes during the exam.
The delivery of individual practices’ reports during the course is optional (max. 2.5 points).
The final exam grade is defined by evaluating both the written part and the reports. The grade of the reports is considered only if the written part evaluation is 18 or above. Exercises are evaluated according to the correctness of the proposed solution and to the appropriateness of the adopted methodologies of resolution.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.