
Database development
- Class 30
- Practice 30
- Independent work 90
Course title
Database development
Lecture type
Obligatory
Course code
22-00-512
Semester
3
ECTS
5
Lecturers and associates
Course overview
This module introduces students to writing programming code in relational databases and applying methods of data access optimization.
This module is core to the Software Engineering subspecialisation and provides the foundation for a wide number of programming modules that students of the Applied Computer Engineering study programme will take in the following semesters. Skills learnt in this module will contribute significantly to students’ development as professionals in respecting field.
Students will learn:
• Database objects including views, stored procedures, triggers, user-defined tables, and scalar functions.
• How to write SQL code for CRUD operations.
• How to optimize data access with indexes.
• Transactions and isolation levels.
The module is taught in Transact-SQL dialect of SQL programming language. The module assessment is based on solving a series of smaller practical tasks by using a defined database client tool to connect to an actual database.
Literature
Essential reading:
1. Petkovic, D. (2020) Microsoft SQL Server 2019: A Beginner's Guide. 7th edn. Austin: Oracle Press.
Recommended 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 a relational database.
- Use basic statements to create and use procedures and functions and solve slow query problems using an index in a relational database.
- Use basic statements to create CRUD operations in 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 and window or analytical functions in a relational database.
- Compare different non-relational data models and basic statements for data management in non-relational databases.
Preferred learning outcomes
- Use basic statements to create and use views and triggers in a relational database, including configuration options and recursive implementations.
- Use basic statements to create and use complex procedures and functions and solve slow query problems using an index in a relational database.
- Use basic statements to create CRUD operations in a relational database, including master-child relations.
- 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 and window or analytical functions in a relational database, including RANGE and ROWS additional partitioning.
- Compare different non-relational data models and basic statements for data management in non-relational databases and suggest the optimal model.