Database Systems
Data is displayed for the academic year: 2024./2025.
Lecturers
Course Description
Overview of physical data organization. Storage organization in database management systems. Transaction concept. Serializability theory. Concurrency-control schemes. Database recovery. Principles of query optimization. Distributed databases, global transactions, atomic commitment, serializability, distributed deadlock. Data replication, replication protocols, serializability, availability and consistency in replicated databases.
Prerequisites
Relational data model. Relational algebra. SQL. B-tree structure. Algorithm Complexity.
Study Programmes
University graduate
[FER3-HR] Audio Technologies and Electroacoustics - profile
Elective Courses
(2. semester)
[FER3-HR] Communication and Space Technologies - profile
Elective Courses
(2. semester)
[FER3-HR] Computational Modelling in Engineering - profile
Elective Courses
(2. semester)
[FER3-HR] Computer Engineering - profile
Elective Courses
(2. semester)
[FER3-HR] Computer Science - profile
Elective Courses
(2. semester)
[FER3-HR] Control Systems and Robotics - profile
Elective Courses
(2. semester)
[FER3-HR] Data Science - profile
Elective Courses
(2. semester)
[FER3-HR] Electrical Power Engineering - profile
Elective Courses
(2. semester)
[FER3-HR] Electric Machines, Drives and Automation - profile
Elective Courses
(2. semester)
[FER3-HR] Electronic and Computer Engineering - profile
Elective Courses
(2. semester)
[FER3-HR] Electronics - profile
Elective Courses
(2. semester)
[FER3-HR] Information and Communication Engineering - profile
Elective Courses
(2. semester)
[FER3-HR] Network Science - profile
Elective Courses
(2. semester)
[FER3-HR] Software Engineering and Information Systems - profile
(2. semester)
Theoretical Course
(2. semester)
[FER2-HR] Telecommunication and Informatics - profile
Specialization Course
(2. semester)
Learning Outcomes
- Describe main components of database system
- Apply the acquired knowledge about physical data organization in database systems
- Apply the acquired knowledge about principles of query optimization
- Apply the acquired knowledge about recovery principles in database systems
- Apply the acquired knowledge about concurrency control
- Explain distributed database systems characteristics
Forms of Teaching
Lectures
Students are presented with theoretical settings of selected topics.
Grading Method
Continuous Assessment | Exam | |||||
---|---|---|---|---|---|---|
Type | Threshold | Percent of Grade | Threshold | Percent of Grade | ||
Mid Term Exam: Written | 45 % | 40 % | 0 % | |||
Final Exam: Written | 45 % | 40 % | ||||
Final Exam: Oral | 20 % | |||||
Exam: Written | 50 % | 80 % | ||||
Exam: Oral | 20 % |
Week by Week Schedule
- DBMS architecture. Design of core DBMS functions (e.g., query mechanisms, transaction management, buffer management, access methods). Memory hierarchy. Characteristics of data storage media. Double buffering. The impact of physical data placement on system performance.
- Physical organization of data. Heap file. Hashed file. B-trees. Access methods. Implementation of relational algebra operators. Operations on the B-tree. Index fill factor. The cost of using the index. Functional index. The impact of indices on query performance. Multidimensional indexes. R-trees.
- Query optimization. Query tree. Execution plan. Static and dynamic query optimization. Physical implementation of relational algebra operators, selection, join, projection, aggregation, grouping, union, intersection and difference. External sort-merge.
- Conjunctive and disjunctive query predicates. Cost evaluation of execution of complex queries. Iterators. Optimization of complex queries. Relational algebra transformation rules. Heuristic optimization.
- Transactions. Transaction properties. Transaction model. Subtransactions.
- DBMS availability. Failure and recovery. Transaction failure, system failure, media failure. Transaction log. Transaction state transition diagram. Commit point. Recovery after system failure. Recovery techniques.
- Check point. Logical log management. Long transactions. Incremental archiving. Recovery after media failure.
- Midterm exam.
- Concurrency control. Characteristic problems of concurrent access. Theory of serializability. A model of history. Conflict operations. Serial history. Serializable, conflict-serializable, view-serializable history. Serialization graph. A recoverable and strict history. History that avoids cascading aborts.
- Locks. Two-phase locking protocol, basic, strict and rigorous. Lock conversion. Lock manager implementation.
- Transaction starvation. Deadlock. Methods for deadlock prevention and detection. Wait-for graph. Promotable lock.
- Multiple-granularity locking. Warning locks. Multiple-granularity locking protocol. Phantom rows. Index-locking protocol. Weak levels of consistency. ANSI SQL isolation levels. Timestamp-ordering protocol.
- Distributed database systems. Homogenous and heterogenous distributed database systems. Fragmentation and allocation. Data transparency. Global and local transactions, subtransactions. Transaction manager and transaction coordinator. Failures in distributed systems. Two-phase commit protocol.
- Global serializability. Centralized and distributed lock manager. Deadlocks in distributed databases. Replicated databases. Eager and lazy protocols. One-copy serializability. Primary-copy locking protocol, majority protocol, biased protocol, quorum consensus protocol.
- Final exam.
Literature
H. Garcia-Molina, J. D. Ullman, J. D. Widom (2000.), Database System Implementation, Prentice Hall
Abraham Silberschatz, Henry F. Korth, S. Sudarshan (2011.), Database System Concepts, McGraw-Hill
Philip A. Bernstein, Vassos Hadzilacos, Nathan Goodman (1987.), Concurrency Control and Recovery in Database Systems, Addison-Wesley
M. Tamer Özsu, Patrick Valduriez (1999.), Principles of Distributed Database Systems, Prentice Hall
General
ID 222788
Summer semester
5 ECTS
L0 English Level
L1 e-Learning
45 Lectures
0 Seminar
0 Exercises
0 Laboratory exercises
0 Project laboratory
0 Physical education excercises
Grading System
87.5 Excellent
75 Very Good
62.5 Good
50 Sufficient