|
Learning outcomes |
This course has two main goals: 1) deepen and expand the knowledge acquired in the introductory course of “Databases”, from the first cycle course, particularly, advanced aspects of the SQL programming, Relational Database Management Systems technologies, temporal databases and data warehousing; and 2) introduce the topic of distributed data, preparing students to understand, design and develop computer solutions based on distributed databases or unstructured databases.
Upon completion their studies, the students should know and understand: - The differences between a structured and unstructured databases; - The concepts of replication, distribution, sharding, and resilience; - How to choose a suitable database for a given application and predict its performance when subjected to different loads. In short, at the end, students will have a critical understanding of the strategies and problems associated with the databases and will be able to propose new solutions.
|
|
Main Bibliography |
Main: Feliz Gouveia, “Bases de Dados – Fundamentos e Aplicações”, 2ª Edição, FCA, 2021, ISBN: 978-972-722-901-7.
1) Thomas Connolly, Carolyn Begg. “Database Systems, A Practical Approach to Design, Implementation and Management”, 6th Edition, 2015. Pearson, ISBN: 978-1-292-06118-4.
2) Sadalage, P. J., & Fowler, M. (2013). “NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence”. Addison-Wesley Professional, ISBN: 978-0321826626.
3) Tiwari, S. (2011). “Professional NoSQL”. John Wiley & Sons, Inc., Indianapolis, ISBN: 978-0-470-94334-6.
4) Redmond, E. & Wilson, J.R. (2012). “Seven Databases in Seven Weeks. A Guide to Modern Databases and the NoSQL Movement”. Pragmatic Bookshelf, ISBN: 978-1-93435-692-0.
|