Study program / study programs: Advanced data analytics |
Course: Databases |
Teacher(s): Zoran M. Marjanović, Nenad M. Aničić, Srđa Bjeladinović, Ana Pajić Simović |
Course status: Elective |
ECTS points: 10 |
Prerequisites: none |
Course objective: Acquiring basic knowledge of databases and database management systems. |
Learning outcomes: Students will be able to identify data requirements and to design databases. They will get familiar with a database architecture and components and they will learn to use query languages to access and manipulate data in the databases of different types. |
Course structure and content: Introduction. Database management systems and data models. Relational databases. Conceptual database design. Entity-relationship model. Logical database design. Relational model. Normalization of relations. Physical design of databases: denormalization and optimization. SQL environment: schema, catalog, clients and servers. Connections to databases. SQL query language. SQL in software environments. NoSQL databases. The origin and concepts. CAP theorem. BASE properties. Comparative analysis of BASE and ACID properties. Key-value databases. Document databases. Column-family databases. Graph databases. NoSQL database design techniques. Map reduce. NoSQL query languages and usage. Hybrid SQL/NoSQL databases |
Literature/Readings: Lazarević, B., Marjanović, Z., Aničić, N., & Babarogić, S. (2016). Baze podataka (7th edition, ISBN 978-86-7680-258-6). Belgrade, Serbia: FON. Sadalage P., & Fowler M. (2014). NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. US: Addison-Wesley Strauch C. (2011) NoSQL Databases. Available online at: https://www.christof-strauch.de/nosqldbs.pdf |
The number of class hours per week: Lectures: 4 Labs: 0 Workshops: 0 Research study: 3 Other classes: 0 |
Teaching methods: Individual and group work; lectures and labs |
Evaluation/Grading (maximum 100 points): Pre-exam requirements (Project): 50 Final exam (Implementation): 50 |