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 learning resources used in the subject   Support tools and learning resources   Guidelines on assessment at the UOC   View the assessment model  
This is the course plan for the second semester of the academic year 2023/2024. 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 fundamental objective of this course is to introduce students to the field of databases (DB). It is a compulsory subject in the bachelor’s in software development.

 

Databases are the most common mechanism used by organizations to store large volumes of data permanently. In turn, DB are managed and manipulated by a highly specialized and complex software called the Database Management System (DBMS). The information that is derived from the data stored in the DB is a resource of paramount importance to all organizations, regardless of their business or action areas. For these reasons, the knowledge acquired in this course will be applicable in most professional environments.

 

In order to store the information of interest, it is necessary to have some data model that allows its representation in a computer in the form of a DB. This data model has to allow, on the one hand, to define the structure of the DB and the integrity rules that guarantee that the DB is consistent. On the other hand, the data model also has to provide operations that allow querying and updating the DB. Although there are different data models, in this course we will focus on the study of the relational data model, because it is currently the most used. In addition to studying the fundamentals of this data model, we will also focus on the creation and manipulation of relational DB by studying relational algebra and Structured Query Language (SQL). Relational algebra is the language used internally by relational DBMS. Moreover, the study of relational algebra also allows us to understand certain SQL constructors. SQL is the standard language that allows us, as users, to interact with a relational database. With respect to SQL, we will first study interactive SQL. Secondly, we will study a technique (JDBC) that allows to incorporate SQL code within application programs developed in the Java programming language. In addition to the contents previously indicated, in the course we will also study the problems that arise from the concurrent access of several users to the same DB and how can these problems be solved. Finally, the course ends by introducing different alternatives to the relational data model.

Amunt

All the aspects related to the life cycle of the DB (design, definition, manipulation and management of DB) are part of the development, operation and maintenance of software. Consequently, the contents of DB courses are related to courses that deal with any aspects of software engineering.

 

Additionally, in the specific case of the bachelor, note that this subject has continuity in another DB course:

 

       Database design. It is a compulsory course focused on the aspects that guide a good design of a relational DB. It includes aspects of conceptual, logical and physical design of DB.

Amunt

As previously mentioned, the information derived from the data stored in databases is a resource of paramount importance to all organizations, regardless of their business or action areas. Therefore, the knowledge acquired in this course will be applicable in most professional outings.

Amunt

It is recommended to have experience in the Object-Oriented programming paradigm. Therefore, it is suggested to have previously taken the course Object-Oriented Programming.

 

Additionally, it is also considered an added value to have completed the Logic course. The contents of this course can be useful to efficiently implement complex integrity rules on the data contained in the DB.

Amunt

It is highly recommended to have taken the Object-Oriented Programming course before enrolling to Introduction to databases.

Amunt

The main objectives that the student has to acquire in the context of the course are those indicated below:

 

       Be able to understand, in the context of the course, the most common basic terms of the area of data and information (attribute, key, entity, class, file, database, etc.).

       Work in a team.

       Know how to explain the objectives and the architecture of schemes and functional of the DBMS.

       Be able to evaluate queries over a database using the most appropriate relational algebra operations.

       Know how to create DB adjusted to the relational model using standard SQL.

       Be able to efficiently query and update a DB using standard SQL.

       Be able to identify the problems that arise from the concurrent access of several users to the same DB and know how to solve them.

       Know how to correctly apply the mechanisms that the JDBC offers us to develop applications that operate efficiently with a DB.

       Know how to enumerate different non-relational DBMS and be able to explain in which cases it is convenient to use them.

 

From the bachelor perspective, these goals are related to the following basic and specific competences:

·      Use and apply ICTs in academic and professional spheres.   

·      Express ideas in writing clearly and correctly, displaying a command of terms and expressions that are specific to the field of software development, for both academic and professional contexts.

·      Understand and use the scientific bases of software development to analyse each problem at the appropriate level of abstraction and apply the skills and knowledge acquired in order to solve them.

·      Express ideas in writing clearly and correctly, displaying a command of terms and expressions that are specific to the field of software development, for both academic and professional contexts.

·      Apply specific data processing, storage and administration techniques.

·      Propose and evaluate different technological alternatives for solving a specific software development problem.

Amunt

The course consists in the following modules:

 

Module 1. Data: introductory concepts

This module details the basic elements of the world of computer representations, and their correspondence with the real world and the world of abstractions. We also introduce the most common terms and fundamental concepts about data and information, which we will use in the rest of the course to study DB.

 

Module 2. Introduction to databases

The module explains the objectives of the DBMS. Additionally, the module also provides an overview of the architecture, operation and environment of these systems.

 

Module 3. The relational model and relational algebra

This module is devoted to the study of the relational data model and relational algebra. Its contents are essential to get a good command of SQL.

 

Module 4. The SQL language I

This module presents the basic concepts associated with standard SQL. First, it introduces the main data definition sentences (for instance, tables and views). Then, the module explains the basic data manipulation statements (SELECT, INSERT, DELETE and UPDATE of tables and views). Finally, the statements for granting and revoking privileges over the data are presented.

 

Module 5. The SQL language II

This module extends the knowledge of the SQL language. The most important elements presented in this module are procedures stored in the DB and triggers.

 

Module 6. Transaction management

This module explains the anomalies that may derive from the simultaneous access of several users to the same DB and how to ensure the availability of the DB in case of faults or disasters. To do so, the DBMS uses the concept of transactions and a series of mechanisms to manage these transactions.

 

Module 7. SQL programming

In this module we study several techniques to work with DB from applications. From the range of existing techniques and programming languages, we will focus on how to access DB from Java programs with JDBC.

 

Module 8. Beyond the relational model: current framework and new trends

The module offers an overview of the most important problems that arise from using the relational model in certain application environments. These problems are the reason why alternatives to the relational model have been proposed. In this module we present some of these alternatives and explain in which cases it is convenient to use them.

 

This module is complemented with a series of videos devoted to NoSQL DB. The contents of these NoSQL videos will not be evaluated in the course.

Amunt

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

Amunt

The previously described didactic modules are the main resources of the course.

 

Additionally, to achieve the competences related to learning the SQL language, we will use, on the one hand, the PostgreSQL DBMS, and on the other hand, the JDBC drivers that this product incorporates to allow DB access from Java application programs. The software of the course can be downloaded from the corresponding website. Additional information can be found in the videos that explain how to install the software and in the DB lab.

 

Finally, you will also find additional supplementary material classroom space. Important documents that can be found in this supplementary material are the study guides and the set of exercises with solutions.

Amunt

The assessment process is based on the student's personal work and presupposes authenticity of authorship and originality of the exercises completed.

Lack of authenticity of authorship or originality of assessment tests, copying or plagiarism, the fraudulent attempt to obtain a better academic result, collusion to copy or concealing or abetting copying, use of unauthorized material or devices during assessment, inter alia, are offences that may lead to serious academic or other sanctions.

Firstly, you will fail the course (D/0) if you commit any of these offences when completing activities defined as assessable in the course plan, including the final tests. Offences considered to be misconduct include, among others, the use of unauthorized material or devices during the tests, such as social media or internet search engines, or the copying of text from external sources (internet, class notes, books, articles, other students' essays or tests, etc.) without including the corresponding reference.

And secondly, the UOC's academic regulations state that any misconduct during assessment, in addition to leading to the student failing the course, may also lead to disciplinary procedures and sanctions.

Amunt

This course can only be passed by taking a final exam (EX), whose mark is combined with the final mark of the compulsory practical (Pr). If the final practical mark is different from N (absent), the course mark will be different from N (absent). The continuous assessment mark (CA) complements the combined mark of the final exam (EX) and the practical (Pr). The formula for accrediting the course is as follows: (EX + Pr) + CA.

 
 

Amunt