Objectives and competences
The objective of this course is to prepare students to know and understand the advanced options and functions for designing, developing, managing and optimizing a RDB. Students will get to know data warehouse concepts ad those of dimensional modeling. Furthermore, the objective is to prepare students to be acquaint with non-relational databases (NoSQL, NewSQL) and advanced database technologies (e.g. blockchain) and to understand their differences, as well as train them to effectively and appropriately use those technologies and databases.
Content (Syllabus outline)
• Physical modeling of relational databases (RDB)
• Optimization of RDB and the execution of advanced SQL queries
• Secondary indexing
• De-normalisation of RDB
• Advanced query statements in SQL (routines, procedures, events, triggers)
• Data warehouses, dimensional modeling, ETL process
• Differences between NoSQL and RDB (ACID, BASE, Big Data effect)
• Document databases
• Key-value databases
• Graph databases
• Columnar databases
• NewSQL databases
• Distributed ledger technologies
• Blockchain and smart contracts
Learning and teaching methods
• lectures,
• computer lab work.
Intended learning outcomes - knowledge and understanding
• use advanced SQL statements,
• use distributed ledger technologies' platforms (eg blockchain),
• design solution including distributed ledger technologies (eg blockchain),
• understand how distributed ledger technologies function (eg blockchain),
• understand principles of distributed databases,
• develope smart contracts,
• understand the principles of distributed ledger technologies and smart contracts,
• use main types of NoSQL databases,
• understand the differences between RDB and various NoSQL and NewSQL databases,
• design data warehouses,
• apply various optimization techniques for the RDB
Intended learning outcomes - transferable/key skills and other attributes
• • Communication skills: database model design and integration (partially group work), other student’s database model quality review, oral laboratory work defense, manner of expression at written examination.
• Use of information technology: use of software tools for database modelling (design) and database management systems.
• Problem solving: advanced design and development of databases.
Readings
• C. Batini, S. Ceri, and S.B. Navathe: Conceptual Database Design: An Entity-Relationship Approach. Benjamin/Cummings Publishing Company, Redwood City, 1992.
• T. Mohorič: Načrtovanje relacijskih podatkovnih baz. BI-TIM d.o.o., Ljubljana, 1997.
• R. Elmasri, S.B. Navathe: Fundamentals of Database Systems, Pearson - Addison Wesley, Boston, 2004.
• G. P., Harrison. Next Generation Databases: NoSQLand Big Data. Apress, 2015.
• I. Bashir, Mastering Blockchain: Distributed ledgers, decentralization and smatr contracts explained, Packt, 2017.
• TURKANOVIĆ, Muhamed. Fizično modeliranje in optimizacija relacijskih podatkovnih baz : interno učno gradivo. Maribor: Fakulteta za elektrotehniko, računalništvo in informatiko, 2021. 1 spletni vir (1 datoteka PDF (49 str.)), ilustr. https://dk.um.si/IzpisGradiva.php?id=79248
Prerequisits
Recommended knowledge from the course Databases.
Additional information on implementation and assessment Each individual component has to be positively finished. The exam can be replaced by written midterm examinations in the weight of 50%.