• Class 60
  • Practice 8
  • Independent work 112
Total 180

Course title


Lecture type


Course code






Lecturers and associates

Course objectives

Database architecture and data independence; Relational data models.
Relational data models; Relational algebra and relational calculus.
SQL (data definition, query formulation, update sublanguage, constraints, integrity); Selections; Projections; Select-project-join.
Aggregates and group-by; Subqueries.
Relational Database design; Functional dependency; Normal forms.
Decomposition of a schema; Lossless-join and dependency-preservation properties of a decomposition; Candidate keys, superkeys; Normal forms; Storage and file structure; Indexed files; The impact of indices on query performance; Hashed files; B-trees.
Mapping conceptual schema to a relational schema; Entity and referential integrity.
Midterm exam.
Triggers; Stored procedures.
Query optimization.
Principles of data modeling; Conceptual models (e.g., entity-relationship, UML diagrams).
Transactions; Failure and recovery.
Security in database systems.
Concurrency control.
Final exam.

Prerequisites for:

  1. Programming Paradigms and Languages
  2. Development of Software Applications
  3. Open Computing
  4. Software Design Project

Required reading

(.), Materijali predmeta dostupni na fakultetskom intranetu,
(.), 1. J. D. Ullman, J. Widom (2008). A First Course in Database Systems, Prentice-Hall,
(.), 2. Abraham Silberschatz, Henry F. Korth, S. Sudarshan (2011). Database System Concepts, McGrawHill Education,
(.), 3. C.J. Date (2003). An Introduction to Database Systems, 8th Edition, Addison Wesley,
(.), 4. Thomas Connolly, Thomas M. Connolly, Carolyn E. Beg (2014). Database Systems, Addison-Wesley,(.),
5. Robert Manger (2012). Baze podataka, Element,(.),
6. Mladen Varga (2012). Upravljanje podacima, Element

Minimal learning outcomes

  • Define basic concepts of databases
  • Describe main parts of database management systems
  • Explain principles of data modelling
  • Explain and understand syntax and semantics of the SQL
  • Explain and understand basic principles of database protection
  • Apply the knowledge about data modelling to simple practical examples
  • Use relational algebra and SQL in problem solving
SHARE : Facebook Twitter