Faculty subject Databases.
Introduction and motivation for database use and
explanation of basic concepts: database, data
independence, comparisons of databases and file
system data storage.
Overview of software programs that support the usage
of database, focusing on database management systems
(DBMS), their functions and tasks they can perform.
Overview of generalized database architecture,
thorough explanation of data independence and user
views.
Basic concepts of database management: user roles and
privileges, logical and physical space, logging and modes
of DBMS execution.
Introduction to different data models that serve as a
theoretical foundation for data storage and operation:
network and hierarchical model, relational, object and
object-relational model.
Thorough discussion of the relational data model.
Overview of its basic building blocks (relations,
attributes, keys) and operations (relational algebra and
calculus).
Implementation of relational data model in relational
DBMS and its practical extensions. Query languages SQL
and QBE.
Estimation of query complexity and its optimization.
Usage of indexes and triggers.
Basic concepts of database design. Normal forms and
benefits of their use.
Concurrent database use and transactions.
Different ways of accessing the data in databases.
Various client types, programmatic access. The role of
databases in Web applications.
Getting familiar with a chosen DBMS and provided data
access options.
Learning to use the query language SQL thoroughly,
both in theory and in practice.
- the obtained knowledge for practical database problem solving (homework and a non-trivial project).
Through tutorial students get familiar with the chosen DMBS and the tools it provides, and use them - in course of their project – as a part of a practical problem solution. The final part of the project is a written presentation of the assigned problem, its solution and results.
The main course objective is to introduce the students to principles of database management systems and their various usages, and prepare them for autonomous and efficient use of available tools, especially SQL.
- ability of critical thinking
- developing skills in critical, analytical and synthetic thinking
- the ability to define, understand and solve creative professional challenges in computer and information science;
- compliance with security, functional, economic and environmental principles
- the ability to apply acquired knowledge in independent work for solving technical and scientific problems in computer and information science; the ability to upgrade acquired knowledge
basic skills in computer and information science, which includes basic theoretical skills, practical knowledge and skills essential for the field of computer and information science.
- practical knowledge and skills of computer hardware, software and information technology necessary for successful professional work in computer and information science
- the ability to independently perform both less demanding and complex engineering and organisational tasks in certain narrow areas and independently solve specific well-defined tasks in computer and information science
Comprehensive knowledge of databases and database management systems, underlying principles, and their exploitation.
Efficient use of various database tools and query language SQL.
Introduction and comprehension of interactions between theoretical principles (especially those of relational data model) and their practical use in modern databases.
Data storage in databases and their use are basic transferrable skills, useful in virtually all fields of computer science.