Course Description

Course Name

Database Systems Technology

Session: VSVF2324

Hours & Credits

6 ECTS Credits

Prerequisites & Language Level

Taught In English

  • There is no language prerequisite for courses at this language level.

Overview

Full/PDF syllabus: https://www.upo.es/intl/multidisciplinary-studies/?lang=en#1682059528657-7ae5432b-d8cd

Course Description  

This course is an introduction to database systems. We will explain how to query database systems via languages such as SQL. Then, we will see how database systems work internally, how they store and index data, how they process and optimize queries, and how they process transactions while providing guarantees such as isolation, atomicity, and durability (ACID guarantees).  Different database systems such a distributed DBMS, In-Memory databases and NoSQL databases will also be introduced.  

Course Goals  

It is expected that students get to know how a database works under different situations and with different technologies. This knowledge should help students to understand and solve different practical problems that can happen in their future professional career.   In addition, students will be introduced to different database types to provide them with an overview about benefits and drawbacks of each one.  Finally, we will explain how data can be uploaded to and fetched from a database so it can be added to a regular calculation procedure in a programming language. 

Methodology  

This course consists of 25 face-to-face sessions where both theoretical knowledge and practical sessions will be taught.  

Students will be given both comprehensive documentation and slides for each session. It is recommended that students look at the documentation in advance.  

Class attendance and participation will be mandatory as, at the end of each unit, practical exercises will be proposed. Presentations or discussion among students will be requested so everyone can learn from other’s experience and conclusions.  

Technical Requirements  

This course will require students to bring their laptop for the classes that require running databases examples. (Databases will not be running on tablets or smartphones).  

Course Materials  

Textbooks are not required for this course as documentation will be provided in advance.

Complementary Bibliography

1. Fundamentals of database systems. Ramez Elmasri, Shamkant B. Navathe. Addison-Wesley

2. Database Systems. Thomas Connolly, Carolyn Begg. Addison-Wesley  

 

Course Contents

Unit 1. Introduction to databases

- Introduction

- History of Database Applications

- Databases vs File system

- Characteristic of the database approach

- Summary  

Unit 2. SQL review

- Entity-Relation model

- Data Definition Language (DDL)

- Data Manipulation Language (DML)

- Cardinality restrictions

- Summary

- Examples  

Unit 3. Transaction Management

- Introduction

- ACID concept

- Properties

- Concurrency of users

- Sequentially and interference

- Isolation level

- Failure recovery

- Roles on DBMS

- Summary and review questions  

Unit 4. Query Processing

- Translating SQL into linear algebra

- Algorithms for external sorting

- Algorithms for SELECT and JOIN operations

- Implementing Aggregate Operations and OUTER JOINs

- Pipelining

- Summary and review questions 

Unit 5. Query Optimization

- Heuristic query optimization

- Selectivity and Cost Estimates in query optimization

- Semantic query optimization

- Summary and Review questions  

Unit 6. Index structures

- Disk storage, basic file structure and hashing

- Single-Level ordered Indexes

- Multilevel indexes

- Dynamic multilevel Indexes using B/B*

-Trees and B+

-Trees

- Summary and review questions  

Unit 7. Distributed DBMS

- Differences between distributed database systems, distributed processing, and parallel database systems

- Advantages and disadvantages of distributed DBMS

- Problems of heterogeneity

- Basic networking concepts

- Summary  

Unit 8. In-Memory databases

- Description

- Advantages and disadvantages

- ACID support

- Hybrids with on-disk databases

- Summary

- SQL Lite exercises  

Unit 9. Alternative database models

- NoSQL vs SQL

- Architecture

- Advantages and disadvantages

- noSQL systems

- Document oriented database: MongoDB

- Columnar Database: MariaDB

- Graph oriented database: Neo4j

- Exercises 

Unit 10. Connection to programming languages

- JPA

- ADO

- SQLAlchemy

- Exercises 

*Course content subject to change