Home / Fields of study / Courses / Relational Databases Design

Terms for 2017

September, 5

Admission Interviews

September, 7

Open Day

September, 12

Admission Interviews

September, 14

Open Day

Full list of terms

Relational Databases Design

The goal is to learn the basics of the theory of relational database systems and get skills in using database technology at the level required for database design, creation of database applications and database management systems.

What are you going to learn

  1. Introduction to databases - Basic information about the course and discussed content. The importance of databases and database systems in current information systems - explanation why this area is important. The role of the data layer in stratified architecture (in particular with regard to the two-layer and three-layer architecture). Introduction to basic concepts in the field of database systems. What is a database of historical development. Data models - hierarchical data model, network data model, object model data, relational data model, XML data model. Architecture database - a central architecture, file-server architecture, client-server architecture. Typical users of data base management systems.
  2. Relational model - Basic terms - relation (table), entry (record), line (field), primary key, foreign key. Declaration and implementation of integrity constraints. Normal forms, Atomicity, functional dependency, partial functional dependency, transitive dependency, normalization process. The aim of this lesson is detailed understanding of the concept of the relational model and basic concepts related. It is also important that students understand sufficiently what is 1, 2 and 3 normalization form, including the standardization process of relational model. Normalization procedure will be practiced on practical examples.
  3. Creation of models - Conceptual model of data, relational data model, physical data model. Transfer conceptual model to relational model of data. Transfer of relational model, physical data model. ER modeling and diagrams (entity, attribute, key, relationship, relationship cardinality),  extension of the ER model (EER), UML language (class diagrams). Specific examples, practical exercises focusing on this issue. Students should manage the basics of making data models - the issue will be a part of semester work, in which it will be necessary to cope with a more complex and extensive role. In addition, students become familiar with some CASE tools, which are used for creating data models.
  4. Relational algebra - Lesson's aim is to introduce students to the theoretical (mathematical) foundations of relational databases - relational algebra, which are the theoretical foundations of query languages, and many relational database systems. Students should understand the use of relational algebra operators and especially the context of the SQL language. Emphasis will be placed on practical exercises of this issue.
  5. SQL Language – introduction - Introduction to SQL, basic categories - DDL, DML, DCL. What is the SQL language. SQL Options. Data types. Inserting data into the database. Modification of data in a database. Deleting data in a database. Control access to data.
  6. SQL Language– fundamentals of querying - This lesson is an introduction to querying in SQL and use of SQL SELECT command. At first the basic principles and use of this command will be explained, students will receive additional information in subsequent lessons. Thoroughly practice of practical examples is a key part of this lesson. The lesson also focuses on simple queries, screening, selection, sorting, grouping and use of aggregation functions.
  7. SQL Language – queries over multiple tables - Completion of the previous section - the foundations of querying in SQL and SQL SELECT command. The aim of this lesson is to get acquainted with creating queries over multiple tables, explanations of the concepts of internal links, external links, half-connection (left / right), etc. The key is to thoroughly practice the discussed content on practical examples.
  8. SQL Language – subqueries - The aim of this lesson is to introduce students to issues of creation and use of subquery in the SQL language. Not correlated subqueries, correlated subqueries - explanation of the principles, the use of subqueries, concrete examples.
  9. Optimalization in databases - In this lesson students will become familiar with problems of optimalization of databases. Emphasis will be placed on understanding the objectives and purpose of optimization. Part of the interpretation of the specific examples. The key thing here is to understand the reasons why it is necessary to deal with optimalization problems and what may cause inappropriately designed or implemented the database. Students will practice the discussed content on practical examples.
  10. Transactional processing - In this lesson students will get acquainted with the problems of parallel processing in database systems. It is important to explain the problems that the parallel processing may arise, and show ways to address them. In the introduction basic concepts such as transactions, basic operations (read, write), the beginning and end of the transaction, the transaction conditions, etc. will be explained. Also characteristics of transactions (ACID-Atomicity, Consistency, Isolation, Durability), with an emphasis on their detailed understanding, will be discussed. Then the lesson will focus on the issue of parallel (simultaneous) processing of transactions in database systems. The aim is to ensure correct handling of data - students should understand the possible ways of solving this problem: the gradual implementation of transactions, serialization of requirements and methods of management of overlapping. In addition, the lesson will focus on issues of management of overlapping transactions, where students can get a basic idea of solving this problem using two methods - the use of locking and time tags (here is expected only contextual knowledge of a basic principle).
  11. Introduction of mostly used RDBMS, directions in DBMS development - The aim of this lesson is to acquaint students with the most current relational database systems - Oracle and Microsoft SQL Server. Development and administration of these databases is a further follow-up articles. In addition, students will learn about the current directions in the development of database systems, such as native XML databases, etc.
  12. Introduction to the PostgreSQL environment - The aim of this lesson is the presentation of fundamentals of the PostgreSQL environment, installation and use of this database platform for the necessary tests to be carried out just over the environment. Basic data types and functions will be presented. A simplified installation and control of the database will be shown.

How the course is organized

Full time study  

The course consists of 12 lectures and 12 workshops, each lasting 1,5 hours.

Part time study

The course is taught in 3 tutorials, each lasting 3 hours.

Recommended literature