Databases

Course Description

The goal of the course is to familiarize students with key concepts and issues related to database management systems, relational data model and relational databases. Course focuses on the skills needed to design relational databases and database design using the entity-relationship data model; on the relational algebra, relational query language SQL and the fundamentals of the data protection.

General Competencies

Students will be able to design and implement moderate sized databases, program queries in SQL and understand the basics of data protection.

Learning Outcomes

  1. define basic concepts of databases
  2. describe main parts of database management systems
  3. explain principles of data modelling
  4. explain and understand syntax and semantics of the SQL
  5. explain and understand basic principles of database protection
  6. apply the knowledge about data modelling to simple practical examples
  7. use relational algebra and SQL in problem solving

Forms of Teaching

Lectures

Theoretical fundations and paradigms exposed during the lectures are illustrated with practical examples and demonstrated using a database management system.

Laboratory Work

Applying the knowledge acquired on lectures on previously unknown practical examples.

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Comment: Percent of Grade
Laboratory Exercises 0 % 21 % 30 % 0 %
Homeworks 0 % 4 % 50 % 0 %
Quizzes 0 % 5 % 0 % 0 %
Mid Term Exam: Written 0 % 30 % 0 %
Final Exam: Written 20 % 40 %
Exam: Written 50 % 50 %
Exam: Oral 50 %

Week by Week Schedule

  1. Introduction to the course. Introduction to databases; Relational data model.
  2. Relational data model (continued), relational operations, relational algebra. Missing information, NULL values.
  3. Relational query language - SQL.
  4. Structured Query Language - SQL (continued).
  5. Introduction to relational database design, functional dependencies; Normal forms, normalization
  6. Normal forms, normalization - Continued Introduction to physical organization, indexes, B-trees;
  7. Database integrity, integrity constraints, integrity rules.
  8. Midterm exam
  9. Temporary and virtual tables. Triggers and stored procedures.
  10. Fundamentals of query optimization. Introduction to ER model.
  11. Entity-relatioship data model; Entity-relatioship model design.
  12. Database management systems, transactions. Database recovery.
  13. Database security. Concurrency control.
  14. NoSQL databases. Big data.
  15. Final exam

Study Programmes

University undergraduate
Computing (study)
(4. semester)

Prerequisites

Literature

J. D. Ullman, J. Widom (2008.), A First Course in Database Systems, Prentice-Hall
Abraham Silberschatz, Henry F. Korth, S. Sudarshan (2011.), Database System Concepts, McGraw-Hill Education
C.J. Date (2003.), An Introduction to Database Systems, 8th Edition, Addison Wesley
Thomas Connolly, Thomas M. Connolly, Carolyn E. Beg (2014.), Database Systems, Addison-Wesley
Robert Manger (2012.), Baze podataka, Element
Mladen Varga (2012.), Upravljanje podacima, Element

Grading System

ID 31503
  Summer semester
6 ECTS
L3 English Level
L1 e-Learning
60 Lecturers
0 Exercises
15 Laboratory exercises

General

87,5 Excellent
75 Very Good
62,5 Good
50 Acceptable