Course detail

Security of Database Systems

FEKT-BPC-BDSAcad. year: 2023/2024

The course covers topics related to database systems and their security. It covers the design and implementation of database systems, with respect to the efficiency of processing large volumes of data, virtualization, security principles , security settings, and the mitigation possibilities against common security attacks.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Entry knowledge

The course is designed as an introduction to database systems and their security. Knowledge acquired during secondary school studies, especially mathematics, and Java programming (course: BPC-PC2T) are required.

Rules for evaluation and completion of the course

A maximum of 100 points can be obtained, of which 30 points for completing individual projects and 70 for the final written exam. The minimum requirements for particular parts is determined by the annually updated decree of the subject guarantor.
The conditions for the successful course completion are stated in the yearly updated supervisor’s notice.

Aims

The goal of the course is to introduce students to methods of designing database systems with respect to normal forms. In addition, the student will learn to implement the designed database schema, including data processing through a programming language. Finally, the student will learn to secure database systems including virtualization and data backup.
The student will acquire the necessary theoretical and practical skills in the design and implementation of database systems including their security. The student will learn basic principles of design and implementation of database systems, to implement this practically with regard to the security of such a system.

After course completion, the students will be able to:
- explain and practically implement the design of a database application,
- practically realize the implementation of a database system,
- process data in a database using a programming language,
- select the appropriate type of database for different types of applications,
- explain and practically implement transactional data processing,
- optimize database queries to reduce the load on database systems,
- configure the database with respect to its security,
- deploy a database in a virtualized environment,

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

GARCIA-MOLINA, Hector, Jeffrey D. ULLMAN a Jennifer WIDOM. Database system implementation. Upper Saddle River: Prentice Hall, 2000. xv, 653 s. ISBN 0-13-040264-8. (EN)
NATAN, Ben. Implementing Database Security and Auditing. Digital Press, 2005. xv, 432 s. ISBN 978-1555583347. (EN)
SILBERSCHATZ, Abraham, Henry F. KORTH a S. SUDARSHAN. Database system concepts. 7th ed. Boston: McGraw-Hill Education, 2019. xxvi, 1142. ISBN 1260084507. (EN)

Recommended reading

Not applicable.

Elearning

Classification of course in study plans

  • Programme BPC-IBE Bachelor's 2 year of study, winter semester, compulsory

Type of course unit

 

Lecture

13 hod., optionally

Teacher / Lecturer

Syllabus


1. Úvod do databázových systémů, základní pojmy.
2. Entitně relační model, základy návrhu databázového systému.
3. Pokročilejší návrh databázového systému, normální formy.
4. Relační algebra, základy dotazovacího jazyku SQL.
5. Středné pokročilé dotazování v SQL.
6. Pokročilé SQL: pohledy, materializované pohledy, procedury a indexování dat.
7. Zabezpečení databázových systémů.
8. Bezpečné zpracování a ukládání dat prostřednictvím programovacího jazyka.
9. Transakce a jejich zpracování, zálohování.
10. Virtualizace a Cloudy - škálování a zvyšování spolehlivosti softwarových řešení.
11. NoSQL databáze, loggovací architektury a jejich význam v kyberbezpečnosti.
12. Zabezpečení databází, shrnutí.

 

Exercise in computer lab

26 hod., compulsory

Teacher / Lecturer

Syllabus

1. Úvodní cvičení.
2. Návrh základních databázových schémat.
3. Implementace základních databázových schémat, DML, DDL. Zadání prvního projektu.
4. Relační algebra a základy dotazování v SQL.
5. Pokročilejší dotazování v SQL.
6. Pokročilé dotazování v SQL. Vyhodnocení prvního projektu.
7. Běžné způsoby zabezpečení databázových systémů a zpracování hesel. Zadání druhého projektu.
8. Zpracování dat prostřednictvím programovacího jazyka Java.
9. JavaFX a implementace uživatelské aplikace v Javě, základy implementace transakcí. Vyhodnocení druhého projektu/Zadání třetího projektu.
10. Implementace základních Docker souborů a práce s nimi. Zadání třetího projektu.
11. Logovací architektura ELK.
12. Konzultace probírané látky a projektů. Vyhodnocení třetího projektu.   

Elearning