Přístupnostní navigace
E-application
Search Search Close
Course detail
FP-dataPAcad. year: 2026/2027
This course introduces students to the principles of database design, management, and security. It covers a broad range of topics, including data modelling, the relational model, SQL, transactions, query optimisation, distributed and NoSQL databases. Students will gain both theoretical knowledge and practical skills, such as creating ER diagrams, normalising tables, implementing security measures, and working with modern database tools. The course reflects current trends in database technologies, including cloud solutions and Big Data analytics.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Entry knowledge
Basic knowledge in computer science and programming, knowledge of algorithms and data structures, and basic knowledge in mathematics, particularly in logic and set theory.
Rules for evaluation and completion of the course
Credit Conditions:
The student must obtain at least 50% of the points during the semester, i.e., 50 points out of 100.
Plagiarism or unauthorized collaboration on projects or tests will result in the credit not being awarded and may lead to disciplinary proceedings.
Midterm Test: Completion of a practical task according to the assignment (40 points). The minimum number of points is 20.
Project: One project according to the assignment with the appropriate documentation (60 points). The minimum number of points is 30.
The assignment is presented in the third lecture.
Exam Conditions:
Final Exam: Completion of a practical example and an oral examination. No points from the credit are transferred to the exam.
Practical Test: Construction of a query that returns the required data set.
The exam evaluation is in accordance with the ECTS grading scale.
Course Completion for Students with Individual Study PlansCredit Conditions:
Completion of a project according to the assignment with the appropriate documentation. The assignment is presented in the third lecture. A minimum of 50 points out of 100 is required.
Final Exam: Oral examination. The exam evaluation is in accordance with the ECTS grading scale.
Aims
Students in the course will gain knowledge about various types of database systems, data modeling, the relational model, SQL, transactions, indexing and query optimization, disaster recovery, distributed and NoSQL databases, and database security. They will also learn to work practically with database systems, create ER diagrams, normalize tables, implement transactions and security measures, and optimize queries.
Study aids
Study supports are displayed in e-learning.
Prerequisites and corequisites
Basic literature
Recommended reading
Classification of course in study plans
Lecture
Teacher / Lecturer
Syllabus
1. Introduction to DatabasesHistory and significance of databasesBasic concepts and terminologyTypes of database systems2. Data ModelingConceptual modelingEntity-Relationship (ER) modelExamples and exercises3. Relational ModelRelational algebra and relational calculusRelational schema and integrity constraintsTransformation of ER model to relational model4. Database NormalizationNormal formsNormalization processDenormalization and its consequences5. SQL - Language for Working with DatabasesBasics of SQLDDL (Data Definition Language)DML (Data Manipulation Language)6. Advanced SQLMore complex queriesAggregate functionsSubqueries and views7. Advanced SQLStored proceduresCursorsTransactions8. Indexing and Query OptimizationTypes of indexesCreating and managing indexesQuery optimization9. Disaster RecoveryRecovery methodsLogging and backupDatabase restoration10. Distributed DatabasesArchitecture of distributed databasesChallenges and solutionsExamples of distributed systems11. NoSQL DatabasesTypes of NoSQL databasesAdvantages and disadvantagesExamples of use12. Database SecurityThreats and vulnerabilitiesData protection and access rightsEncryption and auditing13. Trends and Future of Database SystemsNew technologies and approachesBig Data and analyticsCloud databases
Exercise
1. Introductory ExerciseFamiliarization with the environmentInstallation and configuration of the database system2. Data ModelingCreation of ER diagramsExamples of modeling real-world situations3. Relational ModelTransformation of ER model into relational schemaExamples and exercises4. Database NormalizationNormalization of tablesExamples of normalization and denormalization5. Basics of SQLCreating tables and defining schemasInserting, updating, and deleting data6. Advanced SQLMore complex queries and subqueriesAggregate functions and views7. Advanced SQLStored procedures, cursorsTransactions8. Indexing and Query OptimizationCreating and managing indexesQuery optimization on real examples9. Disaster RecoverySimulation of failures and recoveryBackup and database restoration10. Distributed DatabasesWorking with distributed databasesExamples and exercises11. NoSQL DatabasesWorking with NoSQL databasesExamples of use12. Database SecurityImplementation of security measuresEncryption and auditing13. Final ExerciseComprehensive projectPresentation of results
Self-study
Individual preparation for an ending of the course