Course detail

Databases for Process Control

FSI-VDCAcad. year: 2026/2027

The course is an introduction to database systems.

Data processing, redundancy and inconsistency, integrity, confidentiality, multi-user access to data. Index-sequential data organization. Integrity constraints for relationships.


Database system architecture, data models. E-R model, relational algebra, query language of relational algebra.

Theoretical aspects of information systems design. Functional dependencies, normal forms of relations, decomposition theorem.

SQL query language.
Data security.
Clouds and grids.
NoSQL databases.
MongoDB. ElasticSearch. Redis/Valkey.

Language of instruction

Czech

Number of ECTS credits

6

Mode of study

Not applicable.

Entry knowledge

To study database systems, basic knowledge of algorithm development is sufficient.

Rules for evaluation and completion of the course

A condition for credit is the implementation of a non-trivial database application using appropriate resources.
The exam is written or electronic. Students demonstrate knowledge of data structure design, relational algebra, SQL and programming.
As the exercises are compulsory, the instructor will check attendance at regular intervals. In case of an excused absence, the student will be given examples to work on independently so that he/she can master the missed material.

Aims

The aim of the course is to introduce students to basic database technologies for effective design and management of applications with large amounts of data in the Internet environment.
The course is designed to introduce students to the theoretical aspects of database application design and implementation in an Internet environment, including the programming techniques involved. They will be able to create an application for efficient management of large amounts of data and also learn how to use cloud services.

Study aids

STEPHENS, R., Beginning Database Design Solutions: Understanding and Implementing Database Design Concepts for the Cloud and Beyond, 2023, 978-1394155729

DATE, C.J., Database Design and Relational Theory: Normal Forms and All That Jazz, 2019, 978-1484255391

KLEPPMANN, M. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, 2017, 978-1449373320

HERNANDEZ, Michael, J., Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design, 2003, 978-020175284

CARLSON, Josiah, L., Redis in Action, 2013, 978-1617290855

Prerequisites and corequisites

Not applicable.

Basic literature

Connoly, T.M. and Begg, C.E.: Database Systems : A Practical Approach to Design, Implementation and Management. Pearson Education, 2004 (4th edition).
Date, C.J.: An Introduction to Database Systems. Addison Wesley, New York, 2003 (8th edition).
Fortier, P.J.: Database Systems Handbook. McGraw-Hill, 1997.
Holubová, I, Kosek, J., Minařík, K., Novák, D.: Big Data a NoSQL databáze. Grada, Praha, 2015.
Lacko, L.: SQL. Hotová řešení pro SQL Server, Oracle a MySQL. Computer Press, Brno, 2003.
Pratt, J.P.: A Guide to SQL. Course Technology, 2003 (6th edition).
Redmond, E., Wilson, J. R.: Seven Databases in Seven Weeks. A Guide to Modern Databases and the NoSQL. Movement-Pragmatic Bookshelf, 2012.
Stanoevska-Slabeva, K., Wozniak, T., Ristol, S. (eds.): Grid and Cloud Computing. A Business Perspective on Technology and Applications. Springer-Verlag, Berlin, 2010.
Ullman, L.: PHP and MySQL for Dynamic Web Sites. Pearson Education, 2003 (český překlad: PHP a MySQL: Názorný průvodce tvorbou dynamických www stránek. Computer Press, Brno, 2004).
Velte, T. A., Velte, T. J., Elsenpeter, R: Cloud Computing. A Practical Approach. McGraw Hill, New York, 2010.
Williams, H.E. and Lane, D.: Web Database Applications with PHP and MySQL. O’Reilly, 2002 (český překlad: Programujeme webové aplikace pomocí PHP a MySQL. Computer Press, Praha, 2002).

Recommended reading

Date, C.J.: An Introduction to Database Systems. Addison Wesley, New York, 2003 (8th edition).
Elmasri, R., Navathe, S.B.: Fundamentals of Database Systems. Addison Wesley, 4th edition, 2003.

Classification of course in study plans

  • Programme B-MAI-P Bachelor's 3 year of study, winter semester, compulsory-optional

  • Programme B-STR-P Bachelor's

    specialization AIŘ , 3 year of study, winter semester, compulsory, profile core courses

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

1. Definition of the subject, study literature. Database paradigm. Data classification (physical classification, index files). Disadvantages of classical file processing. Database systems, DDL and DML languages. Database system architecture. Physical and logical independence. Data models - relation to JSON and XML.
2. Relational algebra, basic operations, relational algebra as a query language. T-SQL statements - SELECT.
3. Design of data structures. Normal forms of relations. Index. Aggregation functions. Composite aggregation key.
4. SQL. Subqueries. Multiple openings of the same table, 1:N sessions within the same table, examples of use. Nested aggregation, query implementation by SQL query sequences.
5. SQL. Counting with NULL value. Expression of existential and universal quantifier in SQL. Cross query. Action queries. Definitional queries.
6. No-SQL databases.
7. MongoDB. BSON. JSON.
8. Key-Value database. Redis/Valkey.
9. Key-Value database. Redis/Valkey.
10. No-scheme database - ElasticSearch.
11. No-scheme database - ElasticSearch.
12. Graph databases - Neo4j.
13. Implementation models for using multiple database types by application type

Computer-assisted exercise

26 hod., compulsory

Teacher / Lecturer

Syllabus

1. The most commonly used approaches to working with databases and their software implementation, including the use of Entity Framework.
2. Integration of a database source into a REST application and its correct implementation.
3. Ensuring data validity and consistency in terms of application implementation and design.
4. Use of database procedures, advanced querying techniques, and optimization of data access.
5. Options for integrating and combining multiple database sources in a single application.
6. Strategies for modifying, managing, and updating database structures and data.
7. - 8. Implementation of NoSQL databases and their use for storing unstructured data.
9. – 10. Implementation of in-memory databases for working with data streams and high-speed data processing.
11.–12. Practical examples of the implementation and use of ElasticSearch and Neo4j technologies.
13. Project consultations and individual solutions to implementation problems.