
Accessing data from program code
- Class 30
- Practice 30
- Independent work 90
Course title
Accessing data from program code
Lecture type
Obligatory
Course code
22-00-522
Semester
5
ECTS
5
Lecturers and associates
Course overview
This module introduces students to different ways of persisting data in SQL and NoSQL data storages from the application code.
This module is core to Software Engineering subspecialisation and provides important skills and knowledge for a wide number of programming modules that students will take in the following semesters. The skills acquired will contribute significantly to students’ development as professionals in the respective fields.
Students will learn:
• How to overcome the discrepancies between object-oriented programming languages and relational databases.
• How to manually persist and materialize data to and from data storage, using standard libraries in transactional manner.
• How to use ORM frameworks to automate the process of persistence and materialization, concentrating on the Convention over configuration principle.
• About the specifics of NoSQL data storages and how to use them.
The module is taught in C sharp and Java. The module assessment is based on individual student projects. In these projects, students must create an application that uses SQL and NoSQL data storages, to the given specifications.
Literature
Essential reading:
1. Gorman, B.R. (2020) Practical Entity Framework: Database Access for Enterprise Applications. New York City: Apress.
2. Mihalcea V. (2016) High-Performance Java Persistence. 1st edn. Independent publisher.
3. Dayley B. (2014) NoSQL with MongoDB in 24 Hours. 1st edn. Carmel: Sams Publishing.
Recommended reading:
1. Shaikh K.A. (2020) Azure for .NET Core Developers: Implementing Microsoft Azure Solutions Using .NET Core Framework. 1st edn. New Delhi: BPB Publications.
Further reading:
1. Konda M. (2014) Just Hibernate: A Lightweight Introduction to the Hibernate Framework. 1st edn. Sebastopol: O'Reilly Media.
Minimal learning outcomes
- Create a software solution using a relational database on the cloud as a data source.
- Create a software solution using solutions for storing unstructured data in the cloud as a data source.
- Create a software solution using a non-relational cloud database as a data source.
- Select the optimal conceptual data model and implement it.
- Implement a software solution using selected ORM tools.
Preferred learning outcomes
- Create a relational database in the cloud and create a software solution using that database as a data source.
- Create an unstructured data storage in the cloud and create a software solution using that unstructured data storage as a data source.
- Create a non-relational database in the cloud and create a software solution using that non-relational database as a data source.
- Select the optimal complex conceptual data model and implement it.
- Implement a complex software solution using selected ORM tools.