Study program / study programs: INFORMATION TECHNOLOGY

Type and level of studies: Undergraduate applied studies

Subject: ADVANCED DATABASES

Status: compulsory

ECTS credits: 8

 

Course objective

The objective of the course Advanced Databases is mastering SQL (Structured Query Language), the standard relational query language, which is implemented for defining, the use and control of data in a relational database. The course also covers SQL server maintenance and administration, which completes a programmer’s knowledge when it comes to creating projects or applications connected to a database. Another objective of the course is introducing the students to the advanced techniques of work with databases, primarily object-oriented databases and object query language, as well as failovers and failover recovery, whose mastering completes the student’s knowledge in the realm of databases.

Course outcome

The students will learn how to combine SQL and the traditional programming languages, the basic procedural structures in Transact-SQL, how to handle different types of errors in Transact-SQL, the syntax of the command for creating a database procedure, the use of the function for working with strings, the types of user-defined database functions, the use of INSTEAD OF trigger, the syntax and semantics of commands for working with cursors, the use of object-oriented databases in an object-oriented environment, the fundamentals of ODMG ODL syntax, the basic syntax and semantics of OQL, the main characteristics of XML, the main components of an XML document, the role of XML document processing, the types of XML parsers, the basic syntax elements of SQL Server FOR XML clause, how to use the Xpath language in the context FOR XML clause’s PATH option, the use of query language on XML data, creating XML code using XQuery structure, the functions of SUBP necessary for the realization of the database itself, the elements that make up the physical structure of a database, the basic characteristics of BP transaction, the basic mechanisms for realizing transactions, the main protocols for the realization of transaction set execution serializability, the typical database recovery protocol, the basic concepts of security.

Course content

 Theoretical classes:

  • SQL query language
  • The basic characteristics of SQL
  • Main commands in SQL
  • Implementing SQL commands into higher-level programming languages
  • Data manipulation commands
  • Commands for control and management functions
  • Forming queries
  • Single database queries
  • Entering content into a database
  • Updating a database
  • Erasing data from a database
  • SQL clauses
  • Expressions and functions in SQL
  • Multiple database queries
  • SQL indexes
  • Query optimization
  • SQL server optimization
  • SQL server replication
  • Choosing the adequate SQL server
  • Conceptual modeling
  • Object databases
  • Object-oriented DBMS architecture
  • Object-oriented model
  • Object query language
  • Rollback
  • Transactions
  • Concurrent transaction processing
  • Failovers and failover recovery
  • Distributed databases
  • Concurrency control
  • Data warehousing
  • Data mining
  • Data security and integrity

Practical teaching

  • Exercises
  • Other forms of teaching
  • Study research activities
  • Independent solving of tasks and problems using examples in accordance with the lectures
  • Work in computer lab and exercises related to the material covered in lectures using concrete tools and examples