- Oggetto:
- Oggetto:
Basi di Dati
- Oggetto:
Databases
- Oggetto:
Anno accademico 2023/2024
- Codice dell'attività didattica
- MFN0602
- Docenti
- Luca Anselma (Corso A + Corso A Turno 1)
Fabiana Vernero (Corso A Turno 2 + Corso B Turno 4)
Noemi Mauro (Corso A Turno 2)
Liliana Ardissono (Corso B)
Attilio Fiandrotti (Turno 3) - Corso di studi
- [008707] Laurea in Informatica
- Anno
- 2° anno
- Periodo didattico
- Secondo semestre
- Tipologia
- Caratterizzante
- Crediti/Valenza
- 9 CFU - Numero di ore - Number of hours: 40 (in aula) + 40 (in laboratorio)
- SSD dell'attività didattica
- INF/01 - informatica
- Modalità di erogazione
- Tradizionale
- Lingua di insegnamento
- Italiano
- Modalità di frequenza
- Facoltativa
- Tipologia d'esame
- Scritto più orale obbligatorio
- Prerequisiti
-
Si deve avere familiarità con i concetti fondamentali della teoria degli insiemi e della logica. Si deve avere acquisito capacità di progettare algoritmi fondamentali, programmare in linguaggi ad alto livello e possedere nozioni di base di architettura degli elaboratori e di sistemi operativi.
Insegnamenti propedeutici (forniscono le competenze attese in ingresso): Insegnamenti di Logica, Matematica Discreta, Programmazione 1 e 2, Architettura degli Elaboratori, Sistemi Operativi.The students should be familiar with the basic concepts of set theory and logic. They should have acquired the ability to design fundamental algorithms and to program using high-level languages. Moreover, they should possess a basic knowledge of computer achitectures and operating systems.
Preparatory Courses (providing the expected entry skills): Logic, Discrete Mathematics, Programming 1 and 2, Computer Architecture, Operating Systems. - Oggetto:
Sommario insegnamento
- Oggetto:
Obiettivi formativi
L'insegnamento concorre al raggiungimento degli obiettivi formativi specifici del Corso di Laurea in Informatica (L31), in particolare tra quelli relativi all'area informatica di base, fornendo un'introduzione alle basi di dati e ai sistemi di gestione delle medesime (DBMS). Si propone perciò di fornire le competenze teoriche e pratiche necessarie alla progettazione e gestione delle basi di dati, e la padronanza degli strumenti per analizzare, progettare, sviluppare e gestire le basi di dati.The course contributes to the achievement of the specific educational objectives of the Laurea in Informatica programme (L31), more specifically among those concerning the "informatica di base" area, by providing an introduction to databases and their management systems (DBMS). It is therefore proposed to provide students with the theoretical and practical skills for the design and management of databases and the mastery of the instruments to analyse, design, develop and manage databases.- Oggetto:
Risultati dell'apprendimento attesi
CONOSCENZA E CAPACITÀ DI COMPRENSIONE
Al termine dell'insegnamento si dovranno conoscere:
- i fondamenti matematici del modello relazionale,
- i linguaggi per le interrogazioni in algebra relazionale, in calcolo relazionale e in SQL,
- i fondamenti della teoria della normalizzazione,
- i concetti e l'uso di transazioni,
- le strutture dati per la memorizzazione efficiente dell'informazione.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE
Al termine dell'insegnamento si dovrà essere in grado di:
- analizzare i requisiti per la progettazione di una base di dati,
- rappresentare i requisiti in forma di schemi Entity-Relationship (ER),
- trasformare schemi ER in schemi relazionali,
- trasformare interrogazioni dal linguaggio naturale a SQL,
- eseguire semplici ristrutturazioni di schemi ER sulla base di dati quantitativi.
AUTONOMIA DI GIUDIZIO
Alla fine di questo insegnamento si saprà:
- progettare una piccola base di dati analizzandone in autonomia i requisiti e traducendoli in schema ER e relazionale,
- motivare e argomentare le scelte progettuali di una piccola base di dati.
ABILITÀ COMUNICATIVE
Al termine dell'insegnamento si sarà in grado di:
- esporre, in forma scritta e orale, una relazione tecnica che spieghi e motivi le scelte progettuali nel caso di studio proposto.
CAPACITÀ DI APPRENDIMENTO
Al termine dell'insegnamento, si saranno acquisite capacità autonome di apprendimento e di autovalutazione della propria preparazione, atte a intraprendere gli studi successivi con un alto grado di autonomia.
KNOWLEDGE AND UNDERSTANDING
At the end of the course, students should know:
- the mathematical foundations of the relational model,
- the languages used to express queries in relational algebra, relational calculus and SQL,
- the foundations of the theory of normalization,
- the usage of transactions and the theory behind it,
- the data structures used to efficiently record information.
APPLYING KNOWLEDGE AND UNDERSTANDING
At the end of the course, students will be able to:
- analyze the requirements for the design of a database,
- represent the requirements through ER schemes,
- transform ER schemes into relational schemes,
- transform natural-language queries into SQL queries,
- restructuring simple ER schemes based on quantitative data.
INDEPENDENT JUDGEMENT
At the end of the course, students will know how to:
- design a small database, carrying out an autonomous analysis of its requirements and using them to define the conceptual, logical and physical schemes,
- motivate and explain the choices they made to design a small database.
COMMUNICATION SKILLS
At the end of the course, students will be able to:
- present, both in written and in oral form, a technical report aimed at explaining and motivating the choices they made to design a small database.
LEARNING SKILLS
At the end of the course, students will have acquired the skills to study independently and self-assess their knowledge, so that they will be able to continue to higher leves of education with a high degree of autonomy.- Oggetto:
Modalità di insegnamento
L'insegnamento è strutturato in 40 ore di didattica frontale e 40 ore di attività di laboratorio, suddivise in lezioni da 2 o 3 ore in base al calendario accademico. Durante l'insegnamento sono proposte alcune verifiche dell'apprendimento da svolgersi in aula e in modo collettivo che propongono esercizi volti a verificare la comprensione degli argomenti trattati. La frequenza è facoltativa, consigliata, e la prova finale sarà uguale per frequentanti e non.
The course consists of lectures (40 hours) and interactive laboratory activities (40 hours), organised in 2- or 3-hour lessons, depending on the academic schedule. Mock examinations, consisting of exercises aimed at testing the students' mastery in the course topics, will be organized and will be carried out collectively in class hours.Attendance is optional, but suggested. The same method will be adopted to test the knowledge and skills acquired by both attenders and non-attenders.
- Oggetto:
Modalità di verifica dell'apprendimento
È obbligatoria l'iscrizione all'ambiente di e-learning Moodle dove si troveranno forum di discussione, materiale didattico e compiti assegnati. L'esame consiste in una prova scritta e in una discussione orale del progetto di laboratorio. Il progetto si può svolgere in gruppo.
Prova scritta
Per accedere alla prova scritta, è necessario avere consegnato la relazione di progetto. La prova prevede da 6 a 8 domande in tutto, al fine di verificare l'apprendimento dei concetti di base. Di queste, due o tre domande riguardano argomenti di laboratorio (SQL), le restanti domande riguardano argomenti ed esercizi della parte di teoria. La valutazione è in trentesimi. Il superamento dello scritto da parte di almeno un/una componente di un gruppo di progetto permette all'intero gruppo di accedere a una delle prove orali previste per la sessione in cui lo scritto è stato superato. Nel caso in cui questa seconda prova non venga superata, lo scritto dovrà essere ripetuto. Si ha diritto al più a tre correzioni dello scritto in un anno accademico. Il voto dello scritto è valido per la sola sessione d'esame in cui è stato conseguito.
Discussione orale del progetto di laboratorio
Viene assegnato un progetto (su argomenti di progettazione) che può essere svolto individualmente o in gruppo formato da 2 o 3 studenti. La discussione della prova di laboratorio è individuale e verte sull'intero progetto. La valutazione è in trentesimi. La parte di laboratorio riguardante SQL verrà invece valutata contestualmente allo scritto. La valutazione è in trentesimi. Il progetto dev'essere discusso nella stessa data da tutti/e i/le componenti del gruppo.
Voto finale
Il voto finale sarà la media pesata dei voti ottenuti nelle due prove (scritta peso 70% e orale di laboratorio peso 30%), valutate in trentesimi, essendo comunque necessario il raggiungimento della sufficienza (18/30) in ciascuna prova.
Students are required to enroll to the course on the Moodle e-learning environment: here, they will find a discussion forum, course material and practice assignments. The exam consists of a written test and an oral discussion. The discussion concerns the laboratory project, which can be carried out either individually or in small groups.
Written exam
To sit the written exam, students must have handed in their reports on the laboratory project. The written exam consists of six to eight questions, aimed at testing students' knowledge of the fundamental concepts covered during the course. Two or three questions concern SQL, while the remaining ones concern theory topics. Grades will be expressed on a 30-point scale. If at least one member of a group of students who carried out the laboratory project together passes the written exam, all the group members are required to discuss the laboratory project during the current exam session. If a student does not pass the oral exam, the written exam must be repeated. Each student is entitled to at most three corrections of their written exam in an academic year. The mark of the written exam is valid only for the exam session when it was obtain.
Oral exam (laboratory project discussion)
Students are assigned a database design project, which they can carry out either individually or in small groups consisting of two or three members. Students discuss their laboratory project individually; however, all group members are required to sit the oral exam on the same date. The discussion can concern any aspect of the laboratory project and is graded on a 30-point scale. Notice that students' knowledge of SQL will be assessed as part of the written exam.
Final grade
The final grade will be computed as a weighted average between the grades obtained in the two exams (written exam weight: 70%, oral exam weight: 30%). All grades will be expressed on a 30-point scale, and students are required to pass both exams (minimum pass grade: 18/30).
- Oggetto:
Programma
Fondamenti teorici delle basi di dati relazionali (5 CFU, 40 ore):
- Introduzione ai sistemi informativi e alle basi di dati
- Il modello relazionale
- L'algebra relazionale, con progetto di espressioni in algebra
- Introduzione al calcolo relazionale
- Introduzione alle transazioni
- Ridondanze e anomalie, dipendenze funzionali e teoria della normalizzazione
- Introduzione all’architettura dei sistemi di gestione delle basi di dati: strutture per la memorizzazione dei dati, problemi di concorrenza, affidabilità.
Laboratorio di Progettazione e SQL (4 CFU, 40 ore):
- Laboratorio di Progettazione
- Metodologie di progetto
- Il modello Entity-Relationship
- La progettazione concettuale
- La progettazione logica
- Cenni di progettazione fisica
- Laboratorio di SQL con PostgreSQL
- Il linguaggio SQL e gli standard
- Definizione dei dati in SQL (DDL)
- Modifica dei dati in SQL (DML)
- Interrogazioni in SQL (DML/DQL) e progettazione delle espressioni in SQL
Theoretical foundations of relational databases (5 ECTS, 40 hours):
- Introduction to information systems and databases
- The relational model
- Relational algebra and design of algebraic expressions
- Introduction to the relational calculus,
- Introduction to transactions
- Redundancies and anomalies, functional dependencies and the theory of normalization
- Introduction to DBMS architetures: data storage, concurrency, reliability
Database design and SQL laboratory (4 ECTS, 40 hours)
- Database design laboratory:
- Design methodologies
- The Entity-Relationship data model
- Conceptual data model design
- Logical data model desing
- Physical data model design
- SQL laboratory in PostgreSQL
- The SQL language and standards
- Data definition in SQL (DDL)
- Data manipulation in SQL (DML)
- Queries in SQL (DML/DQL) and design of SQL expression
Testi consigliati e bibliografia
- Oggetto:
- Libro
- Titolo:
- Basi di dati, VI edizione
- Anno pubblicazione:
- 2023
- Editore:
- McGraw-Hill
- Autore:
- Atzeni, Ceri, Fraternali, Paraboschi, Torlone
- ISBN
- Permalink:
- Note testo:
- In alternativa alla quinta edizione.
- Obbligatorio:
- No
- Oggetto:
- Libro
- Titolo:
- Basi di dati, V edizione
- Anno pubblicazione:
- 2018
- Editore:
- McGraw-Hill
- Autore:
- Atzeni, Ceri, Fraternali, Paraboschi, Torlone
- ISBN
- Permalink:
- Obbligatorio:
- Si
- Oggetto:
Note
Materiali aggiuntivi sono forniti dai/dalle docenti dell'insegnamento.
Further course material will be provided by the teachers.- Oggetto: