DATABASES & BIG DATA
Obiettivi formativi
The Database & Big Data course aims at providing the students
with a solid understanding of classical notions of data management as
well as modern concepts related to the so called 'Big Data'. All these
notions will be analyzed both formally and using practical application
scenarios. Furthermore, the course will present several technologies
to access, store, and manage large sets of data.
Risultati di apprendimento attesi
Knowledge and understanding. The course offers several conceptual
tools to solve data-related problems in an effective way. At the end
of the of course, students will posses a solid understanding of the
issues related to managing large volumes of data as well as
theoretical and practical solutions to these issues.
Applying knowledge and understanding. Successful students will be able to:
- Apply the conceptual tools of data management to real-world scenarios;
- Extract information from data sets using both conceptual and practical tools;
- Understand the key differences underlying different data management technologies;
- Interact with and understand data-oriented technologies.
Making judgements. The course will foster the development of critical
thinking related to data-oriented applications. Successful students
will be able to analyse real-world problems involving data and choose the right conceptual and technological solutions to solve them.
Communications Skills. The course will provide the students with an
understanding of the standard terms and concepts of classical data
management as well as notions related to the so called Big
Data. This will allow the students to effectively communicate their
ideas, proposals, and analyses.
Learning skills. This introductory course provides a solid background
of knowledge on the basics of data management. Successful students
will posses the skills required to study and understand intermediate
concepts related to data management and big data.
Contenuti Del Corso
Contenuti Del Corso / Course Contents
The course covers several topics related to classical data management and the so called Big Data. Topics include:
- Conceptual database design, the relational model and algebra;
- Relational design principles based on dependencies and normal forms;
- Concurrency control, storage, and indexing;
- Database design and the use of databases in applications;
- SQL databases and query language;
- NoSQL databases
Testi Di Riferimento
Lecture notes (slides) and course material will be made available on the e-learning platform. There is no mandatory textbook for the course. However, for students who want additional resources, we
recommend:
- Ramakrishnan and Gehrke. Database Management Systems. 3rd Edition.
- Garcia-Molina, Ullmann. Database Systems 2nd Edition. Prentice Hall
- Karau, Konwinski, Wendell, Zaharia: Learning Spark: Lightning-Fast Big Data Analysis. O'Reilly Media
Metodologie Didattiche
Online lectures and lab and exercise sessions. The use of a laptop is recommended.
Modalità di verifica dell'apprendimento
- Mid-term written exam
- Final written exam
- Group Project
Criteri per l’assegnazione dell’elaborato finale
To be discussed with the instructor.
Settimana 1
On Campus Session. Course introduction and organization. Introduction to data management.
Online Session. The Relational Model (1).
On Campus Session. The Relational Model (2)
On Campus Session. The Relational Model : exercises
Settimana 2
On Campus Session. The Relational Model (3).
Online Session. Lab and Exercises.
On Campus Session. SQL (1).
On Campus Session: exercises SQL (1).
Settimana 3
On Campus Session. SQL (2).
Online Session. Lab and Exercises.
On Campus Session. SQL (3)
On Campus Session: Lab and Exercises SQL (3)
Settimana 4
On Campus Session. SQL 4.
Online Session. Lab and Exercises.
On Campus Session. Database Design (1).
On Campus Session. Lab and Exercises
Settimana 5
On Campus Session. Database Design (2).
Online Session. Lab and Exercise.
On Campus Session. Database Design (3).
On Campus Session. Lab and Exercises (II)
Settimana 6
On Campus Session. Database Design (4).
Online Session. Lab and Exercises.
On Campus Session. Access Data Programmatically and Projects.
On Campus Session. Lab and Exercises (II)
Settimana 7
On Campus Session. Database Design (5).
Online Session. Lab and Exercises.
Midterm
On Campus Session. Database Design (6).
Settimana 8
On Campus Session. Database Design (5).
Online Session. Lab and Exercises.
On Campus Session. Database Design (6).
Settimana 9
On Campus Session. Advanced Topics (1).
Online Session. Lab and Exercise.
On Campus Session. Advanced Topics (2).
On Campus Session. Lab and Exercise II.
Settimana 10
On Campus Session. Advanced Topics (3).
Online Session. Lab and Exercises.
On Campus Session. Advanced Topics (4).
On Campus Session. Lab and Exercise II.
Settimana 11
On Campus Session. NoSQL Databases (1).
Online Session. Lab and Exercises.
On Campus Session. NoSQL Databases (2)
Settimana 12
On Campus Session. Course Recap & Exercises.
Online Session.
On Campus Session. NoSQL Databases & Transactions.
On Campus Session. Lab and Exercise II.