- Area Economico-Statistica
- Corso di Laurea Triennale
- Scienze Statistiche ed Economiche [E4101B]
- Insegnamenti
- A.A. 2023-2024
- 2° anno
- Basi di Dati (blended)
- Introduzione
Syllabus del corso
Obiettivi formativi
Il corso costituisce un'introduzione al mondo delle basi di dati ed in particolare alle basi di dati relazionali. Durante le lezioni, saranno illustrate le metodologie per la progettazione di basi di dati, sarà illustrato il modello relazionale, il linguaggio SQL per svolgere interrogazioni e per calcolare indicatori sintetici a partire da informazioni memorizzate in banche dati relazionali. Saranno introdotte le differenze tra dati strutturati, semi-strutturati e non strutturati, e le problematiche connesse con la loro gestine.
Contenuti sintetici
Contenuti del corso
- Introduzione ai database relazionali
- Paradigma client/server
- Algebra relazionale e linguaggio SQL
- Analisi ed estrazione di informazioni da banche dati esistenti
- Progettazione concettuale, logica e fisica di banche dati
- Supporto alle transazioni
- Dati strutturati, semi-strutturati, non strutturati
Il docente si riserva la possibilità di apportare modifiche ai contenuti durante l'erogazione del corso. Eventuali variazioni saranno indicate tempestivamente in questo sito web.
Programma esteso
- Il paradigma relazionale
- Primary Key e Foreign Key
- Paradigma client/server
- Gestione centralizzata dei dati
- Algebra relazionale (operatori di proiezione, selezione, prodotto cartesiano, join)
- Cenni di algebra booleana
- Linguaggio SQL (Data Definition and Data Manipulation Language)
- Anatomia di una query SQL
- Clausola Group By e operatori di aggregazione
- Query Annidate
- Calcolo di indicatori tramite query SQL
- Cenni al ciclo di vita dei sistemi informativi e alla progettazione di basi di dati
- Progettazione concettuale di banche dati
- Progettazione logica di banche dati
- Progettazione fisica di banche dati
- Modello ER
- Normalizzazione
- Transazioni e proprietà ACID
- Indici
- Dati strutturati, semi-strutturati, non strutturati
- Scraping di informazioni dal web
Prerequisiti
Nessuno. Si suggerisce di aver frequentato il corso di "Informatica" (o equivalente) e di aver superato l'esame corrispondente
Metodi didattici
- Lezioni frontale, sia in presenza sia preregistrata
- Didattica in Blended E-Learning (video, quiz o altre attività per fissare i contenuti, esercizi di autovalutazione)
- Esercitazioni in laboratorio virtuale e in presenza
- Esercitazione finale con simulazione delle modalità di verifica dell'apprendimento
Modalità di verifica dell'apprendimento
Per sostenere la verifica dell'apprendimento (cioè l'esame) è obbligatorio effettuare l'iscrizione via segreterie online secondo le scadenze stabilite (generalmente le iscrizioni chiudono 3 giorni lavorativi prima dell'appello d'esame).
Modalità di verifica dell'apprendimento
La verifica dell'apprendimento del corso di Basi di Dati ("esame" oppure "appello d'esame" da qui in avanti) consiste in una prova scritta e in una successiva discussione/accettazione del voto. La prima è obbligatoria, la seconda è facoltativa, a discrezione del docente e dello studente.
Non ci sono differenze tra studenti frequentanti e studenti non frequentanti.
La prova scritta è composta da circa 9 domande a risposta chiusa e da 2 domande a risposta aperta. Il numero di domande e la loro tipologia possono variare da un appello all'altro. La durata dell'esame scritto può variare da un appello all'altro, come tempi, orientativamente potete preventivare un'ora e mezzo.
Per ogni domanda a riposta chiusa vi saranno proposte un insieme di possibili risposte e dovrete scegliere la risposta corretta (una e una sola sarà la risposta corretta, se non indicato diversamente nel compito). Le risposte sbagliate non daranno luogo a penalizzazioni, le risposte corrette contribuiranno al raggiungimento del voto finale. Le domande a risposta chiusa riguarderanno argomenti di teoria oppure richiederanno di completare una query oppure richiederanno di individuare l'output prodotto da una query. Potranno essere introdotte altri tipi di domande chiuse. Verso la fine del corso sarà svolta una simulazione dell'esame. Il testo della simulazione e le soluzioni saranno successivamente pubblicati su questa piattaforma.
Nelle domande a risposta aperta vi potrà essere richiesto di:
- Scrivere una query in linguaggio SQL. Per scrivere la query non avrete a disposizione un database su cui sperimentare la vostra query.
- Progettare lo schema ER di un database
- ... (altre tipologie di esercizi sugli argomenti svolti a lezione)
Alla fine del corso, saranno rese disponibili alcune prove d'esame degli appelli precedenti (con soluzioni).
Per poter passare l'esame dovrete raggiungere la sufficienza, sia nelle domande a risposta chiusa, sia nelle domande aperte. In altre parole dovrete dimostrare una adeguata conoscenza della teoria e dovrete essere in grado di risolvere esercizi (es., scrivere una query SQL, progettare una struttura dati). Durante l'esame, ogni studente avrà un compito personalizzato (con domande parzialmente o totalmente diverse da quelle di tutti gli altri studenti). Per quanto riguarda la capacità di scrivere query SQL, potete utilizzare un semplice test per verificare la vostra preparazione: al termine del corso, se avete bisogno di guardar le soluzioni per poter svolgere uno qualsiasi degli esercizi proposti durante le esercitazioni, allora dovete studiare ed esercitarvi di più.
In caso di compito gravemente insufficiente, non ci sono limitazioni a ripresentarsi ad uno degli appelli successivi. Confidiamo tuttavia che vi presentiate agli appelli preparati o che chiediate di non correggere la prova se riterrete di aver svolto il compito in modo gravemente insufficiente.
Al termine del corso, dopo la simulazione d'esame sarà aggiunta una sezione del sito con le raccolte dei temi d'esame degli appelli precenti e le relative soluzioni
Nei casi seguenti, le modalità d'esame potranno subire variazioni. Eventuali variazioni saranno comunicate dal docente il prima possibile agli iscritti all'esame e tramite questo sito.
- Appelli con un numero particolarmente elevato di iscritti
- Appelli con un numero molto ridotto di iscritti
- Non disponibilità di aule adatte per svolgere l'esame
- Emergenze sanitarie (es., Covid)
Testi di riferimento
Materiale per lo studio
- Le slide, gli esercizi ed in generale tutto il materiale presentato a lezione sarà pubblicato su questo sito web.
- Durante il corso potrà essere indicato del materiale aggiuntivo. I riferimenti saranno pubblicati su questo sito web.
Libri
- Atzeni, P., Ceri, S., Paraboschi, S., Torlone, R. Basi di dati. McGraw-Hill. Una qualsiasi edizione del libro va bene.
Periodo di erogazione dell'insegnamento
Secondo ciclo del primo semestre.
Lingua di insegnamento
Italiano
Sustainable Development Goals
Learning objectives
The course is an introduction to the field of databases with a focus on relational databases. Database design methodologies will be illustrated. The relational model and the SQL language will be illustrated. It will be taught how queries can be used to calculate synthetic indicators starting from information stored in relational databases. The differences between structured, semi-structured, and unstructured data and the problems associated with their management will be introduced.
Contents
Course topics
- Introduction to relational databases
- The Client / Server paradigm
- Relational algebra and SQL language
- Analysis and extraction of information from existing databases
- Conceptual, logical, and physical design of databases
- Transaction support
- Structured, semi-structured, unstructured data
The teacher might make changes during the teaching activities. Any changes will be promptly indicated on this website.
Detailed program
- The Relational paradigm
- Primary Key and Foreign Key
- Client / Server paradigm
- Centralized data management
- Relational algebra (projection, selection, cartesian product, join)
- Boolean algebra
- SQL Language (Data Definition and Data Manipulation Language)
- Anatomy of an SQL query
- Group By clause and aggregation operators
- Nested Queries
- Calculation of indicators through SQL query
- Information Systems Lifecycle and Database Design
- Conceptual design
- Logical design
- Physical design
- ER Model
- Normalization
- Transactions and ACID properties
- Indexes
- Structured, semi-structured, unstructured data
- Web scraping
Prerequisites
None. It is highly suggested to have previously attended the "Informatica" course (or any equivalent) and passed the examination.
Teaching methods
- Lessons both live and recorded
- Blended E-Learning lessons (video, tests or other learning reinforcement activities, self assessment tests)
- Lab exercises
- Final lab activities and a simulation of the final test
Assessment methods
Students must be registered to take the learning verification (i.e., the exam). It is mandatory to register via "Student Services Online" by the official deadline. Registration usually closes 3 working days before the examination day.
How Learning Verification is performed
The learning verification of the Databases Course ("exam" from here on) is composed of a written test and a subsequent discussion/acceptance of the grade. The former is mandatory, the latter is optional (at the discretion of the teacher and the student).
The examination is the same for both attending and non-attending students.
The written test consists of approximately 9 closed-ended questions and 2 open-ended questions; The number and the types of questions may change. The duration of the written exam may change, averagely you can expect it takes one hour and a half.
For each closed-answer question you will be offered a set of possible answers and you will have to choose the correct answer (one and only one will be the correct answer, unless otherwise indicated in the assignment). Wrong answers will not result in penalties; correct answers will contribute to your final grade. Closed-ended questions will focus on theory topics or require completing a query or require identifying the output produced by a query. Other closed-ended questions may be added. A mock exam will be available at the end of the course, so students can take an exam simulation. The text of the simulation and thesolutions will be available on the course web site.
In the open-ended questions you may be asked to:
- Write a query in SQL language. You will not have a database (management system) for testing your query.
- Design the ER schema of a database.
- ... (other types of exercises focusing on topics presented in class)
Some exam papers of previous examinations (and the corresponding solutions) will be made available at the end of the course,
To pass the exam you will have to reache the "pass level", both in the closed-ended questions and in the open-ended questions. I.e., you will need to demonstrate adequate theory knowledge and be able to solve exercises (e.g., write an SQL query, design a data structure). During the exam, each student will have a personalized assignment (with questions that are partially or totally different from those of all other students). Regarding the ability to write SQL queries, you can use a simple test to check your preparation: if (at the end of the course) you need to look at the solutions to solve any of the exercises proposed during the tutorials, then you need to study and practice more.
Textbooks and Reading Materials
Study material
- The slides, exercises and all the material showed in class will be published on this website.
- Additional material may be shown during the course. The references will be published on this website.
Books
- Atzeni, P., Ceri, S., Paraboschi, S., Torlone, R. Databases. McGraw-Hill. Any edition of the book is ok.
Semester
Second half of the first semester.
Teaching language
Italian