- Entity type/table, attributes, ERD, conceptual vs. relational data model, SQL: create table, insert, select.
- Relationships between entity types, relationship cardinality and participation constraints, inner join, outer join.
- Grouping records using GROUP BY, aggregate functions.
- Subqueries, IN, EXISTS, ANY, ALL, implementation of set intersection and difference.
- Complex SQL queries: selecting the highest value per group, using subqueries in the projection.
- Conceptual and data models, anti-patterns.
- Transactions, ACID properties, transactions in SQL, transactions from the perspective of database recovery.
- SQL: data definition language (DDL), data manipulation language (DML).
- Procedural SQL extensions: T-SQL.
- Design of user interface forms for information systems, functions of the data layer of an information system, mini-specifications of functions.
- Functional dependencies, normal forms.
- Indexes in database systems, other types of database systems.
- APIs for data access: ODBC, JDBC, ADO.NET.
During practical sessions, students will work on individual tasks related to topics covered in the lectures.