
Database development
- Class 30
- Practice 30
- Independent work 90
Course title
Database development
Lecture type
Obligatory
Course code
23-11-513
Semester
3
ECTS
5
Lecturers and associates
Course overview
The aim of the module is to familiarize students with writing programming code in relational databases when creating objects (views, procedures, triggers, functions), using transactions and applying data access optimization methods. As part of the module, students are introduced to the basics of non-relational databases.
This is the central module within the study program and represents the basis for other modules that students enroll in in the coming semesters. Acquired skills significantly contribute to the professional development of students in related professional fields.
The module is taught in the Transact-SQL dialect of the SQL programming language. The final evaluation is based on solving a series of small practical tasks using the default client tools for database management in order to connect to the existing database.
Content
Students will learn:
• object types in databases: views, procedures, triggers, user-defined table data types, table and scalar functions
• write SQL queries to implement CRUD operations
• optimize data access using indexes
• use JSON and XML in a database context
• use advanced grouping functions, built-in functions for working with windows and analytical functions in a relational database
• transactions and isolation levels
• about different non-relational models and query languages.
Literature
1. Petkovic, D. (2020) Microsoft SQL Server 2019: A Beginner's Guide. 7th edn. Austin: Oracle Press.
Additional reading
1. Dye, D. et al (2015) SQL Server T-SQL Recipes. 4th edn. New York City: Apress.
Minimal learning outcomes
- Use basic statements to create and use views and triggers in relational databases.
- Use basic statements to create and use procedures and functions and solve the problem of slow queries using indexes in a relational database.
- Use basic statements to perform CRUD operations on a relational database.
- Use JSON and XML methods and user-defined table data types in a relational database.
- Use transactions and isolation levels in a relational database.
- Use advanced grouping functions, built-in window functions, and analytical functions in a relational database.
- Compare different non-relational data models and basic statements for managing data in non-relational databases.
Preferred learning outcomes
- Use basic statements to create and use views and triggers in relational databases, including the ability to set up and implement recursive triggers.
- Use basic statements to create and use complex procedures and functions and solve the problem of slow queries using indexes in a relational database.
- Use basic statements to perform CRUD operations on a relational database, including master and child relationships.
- Use JSON and XML methods and user-defined table data types in a relational database to solve complex problems.
- Use transactions and isolation levels in a relational database, including proper error handling.
- Use advanced grouping functions, built-in window functions, and analytic functions in a relational database, including additional partitioning using RANGE and ROWS.
- Compare different non-relational data models and basic statements for data management in non-relational databases and propose the optimal model.