Introduction to databases Code:  22.621    :  6
View general information   Description   The subject within the syllabus as a whole   Professional fields to which it applies   Prior knowledge   Information prior to enrolment   Learning objectives and results   Content   View the UOC learning resources used in the subject   Additional information on support tools and learning resources   Guidelines on assessment at the UOC   View the assessment model  
This is the course plan for the first semester of the academic year 2024/2025. To check whether the course is being run this semester, go to the Virtual Campus section More UOC / The University / Programmes of study section on Campus. Once teaching starts, you'll be able to find it in the classroom. The course plan may be subject to change.

The main learning objective of this course is to introduce students to the field of databases (DB). It is a compulsory course in the BSc of Techniques for Software Application Development.

Databases are the most common mechanism used by organizations to store large data volumes. DB are managed by a highly specialized and complex software called the DataBase Management System (DBMS). The information derived from the data stored into the DB is a strategic asset in all organizations, independently of their business focus or interest. Consequently, the knowledge and competencies acquired in this course will apply in most professional environments.

Data stored in a DB must adhere to some data model that allows their representation in a computer. This data model must first define the DB's structure and the integrity constraints that guarantee that the DB is consistent. Second, the data model also has to provide operations that allow querying and updating the DB. Although there are different data models, we will focus on the relational data model because of its relevance. In addition to studying its underlying concepts, we will also focus on the creation and manipulation of relational DB through relational algebra and Structured Query Language (SQL). Relational algebra is the language used internally by relational DBMS. Moreover, relational algebra also facilitates the understanding of complex SQL statements.

SQL is the standard language that allows us to interact with a relational DB. We will first study interactive SQL. Secondly, we will learn a technique (JDBC) to incorporate SQL code within application programs developed in the Java programming language. In addition, we will also study the problems arising from users' concurrent access to the same DB and how to deal with them. Finally, the course introduces different alternatives to the relational data model and the DBMS that support them.


All the aspects related to the DB's design, definition, manipulation, and management are part of the software's development, operation, and maintenance life cycle.

This course has continuity with the Database design course in the BSc of Techniques for Software Application Development.


As previously described, data are a strategic asset in any organization or company. Therefore, the knowledge and competencies acquired in this course will be applicable or required in most tech sector positions.


It is recommended to have experience in the object-oriented programming paradigm. Therefore, it is expected that all students had previously passed the Object-Oriented Programming course.


Before enrolling Introduction to databases, It is expected that all students had previously passed the Object-Oriented Programming course.


The learning objectives of the course are those indicated below:

  • To be able to understand, the most common basic concepts of the DB field (attribute, key, entity, class, file, database, amongst others).
  • To explain the objectives, the schema architecture, and the DBMS functional architecture.
  • To propose DB queries using the most appropriate relational algebra operations.
  • To create relational DB using standard SQL.
  • To query and modify (insert, delete and update) a DB using standard SQL.
  • To mplement triggers and stored procedures in a relational DB.
  • To identify the problems derived from the concurrent access to a DB and solve them.
  • To apply JDBC to develop software applications that efficiently access a relational DB.
  • To enumerate different non-relational DBMS and be able to explain in which cases it is convenient to use them.

These objectives are related to the following specific competencies attached to the BSc of Techniques for Software Application Development:

  • Apply specific data processing, storage, and administration techniques.
  • Propose and evaluate different technological alternatives for solving a specific software development problem.


We propose six challenges for achieving the learning objectives and competencies of the course.

Challenge 1: Relational databases: an unprecedented success story in computer engineering

Topic 1 The Data: Introductory Concepts

This module explores the essential elements of computer representations and their correspondence to the real world and the world of abstractions (or conceptualizations). It also introduces the most common topics and fundamental concepts about data and information used across the course.

Topic 2 Introduction to Databases

This module first presents the Database Management Systems (DBMS) objectives. Following this, it provides an overview of these systems (architecture, operation, and environment).

Topic 3 Relational Model and Relational Algebra

This module explains the relational data model and relational algebra. It is an essential module to acquire a good SQL understanding level.

Challenge 2: Creating and working with a relational database

Topic 4 The SQL Language I

SQL is the standard ANSI/ISO language for relational database definition, manipulation, and control. It was conceived as a declarative language, i.e., when we use SQL, we indicate what we want to obtain but not how it should be obtained.

This module presents the most basic concepts associated with standard SQL. To begin with, the main data definition statements are provided (creation of tables and views). Following this, the module explains the basic data manipulation statements (SELECT, INSERT, DELETE, and UPDATE of tables and views). Finally, the sentences of granting and revoking privileges on the data are introduced.

Challenge 3: Stored procedures and triggers - why are they needed?

Topic 5 The SQL Language II

The module expands our knowledge of standard SQL. Specifically, it introduces stored procedures and triggers.

Challenge 4: The roadway is a shared resource and a database as well

Topic 6 Transaction Management

This module explains the possible anomalies that arise from the simultaneous access of several users and/or programs to the same DB and the fact of ensuring the availability of the DB in the face of failures or disasters. To do this, DBMS uses the concept of transactions and a series of mechanisms to manage these transactions.

Challenge 5: Building river bridges: accessing a relational database from application program

Topic 7 Programming with SQL

This module introduces various techniques that allow programs to access databases. These techniques are frequently named embedded SQL or programming with SQL. From the range of programming languages and techniques, the module focuses on how DB can be accessed from Java programs using JDBC.

Challenge 6: One size fits all? Beyond relational databases

Topic 8 Beyond Relational Model - Current Framework and New Trends

This module explains the most critical issues that the relational model has in specific application environments. Therefore, several alternatives to the relational model have been proposed. This module shows some of these alternatives when to use them, and the DBMS that supports them.

Topic 9 NoSQL databases

The study of non-traditional databases is complemented with videos dedicated to NoSQL DB due to its adoption in some application environments. This topic is not assessed in the course.


Databases NoSQL - Data models Audiovisual
Databases NoSQL - Representation of data models orientated to graphs Audiovisual
Databases NoSQL - Introduction Audiovisual
Databases NoSQL - Representation of data models in aggregation models Audiovisual
Databases NoSQL - Features Audiovisual


The previously described topics are explained in textual learning resources and are the fundamental course resources. NoSQL is covered through videos.

Additionally, to achieve the competencies related to the SQL language, we will use, on the one hand, the PostgreSQL DBMS and, on the other, Java and Eclipse to be able to develop Java programs that access DB through JDBC.

All the software can be downloaded from the corresponding website. Installation guides are also provided.

Finally, the course has complementary learning resources, including  study guides, case studies, collections of solved exercises, and assessment activities and exams from previous semesters.


The assessment process is based on students' own work and the assumption that this work is original and has been carried out by them.

In assessment activities, the following irregular behaviours, among others, may have serious academic and disciplinary consequences: someone else being involved in carrying out the student's assessment test or activity, or the work being not entirely original; copying another's work or committing plagiarism; attempting to cheat to obtain better academic results; collaborating in, covering up or encouraging copying; or using unauthorized material, software or devices during assessment.

If students are caught engaging in any of these irregular behaviours, they may receive a fail mark (D/0) for the assessable activities set out in the course plan (including the final tests) or in the final mark for the course. This could be because they have used unauthorized materials, software or devices (e.g. social networking sites or internet search engines) during the tests, because they have copied text fragments from an external source (internet, notes, books, articles, other student's projects or activities, etc.) without correctly citing the source, or because they have engaged in any other irregular conduct.

In accordance with the UOC's academic regulations , irregular conduct during assessment, besides leading to a failing mark for the course, may be grounds for disciplinary proceedings and, where appropriate, the corresponding punishment, as established in the UOC's coexistence regulations.

In its assessment process, the UOC reserves the right to:

  • Ask the student to provide proof of their identity, as established in the university's academic regulations.
  • Request that students provide evidence of the authorship of their work, throughout the assessment process, both in continuous and final assessment, by means of an oral test or by whatever other synchronous or asynchronous means the UOC specifies. These means will check students' knowledge and competencies to verify authorship of their work, and under no circumstances will they constitute a second assessment. If it is not possible to guarantee the student's authorship, they will receive a D grade in the case of continuous assessment or a Fail in the case of final assessment.

    For this purpose, the UOC may require that students use a microphone, webcam or other devices during the assessment process, in which case it will be the student's responsibility to check that such devices are working correctly.


In order to pass the course, you must pass the continuous assessment and take an exam.

Your final mark for the course will be calculated as follows:

  • If you pass the continuous assessment and get the required minimum mark in the exam, your final mark will be based on the weightings specified in the course plan.
  • If you pass the continuous assessment but don't get the required minimum mark in the exam, your final mark will be your numerical mark from the exam.
  • If you pass the continuous assessment and don't sit the exam, you'll get a final mark of Fail (3).
  • If you don't pass the continuous assessment, your final mark will be the mark you received in the continuous assessment.
  • If you don't take part in the continuous assessment, you'll receive a final mark of Absent.