Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources

CS211

Basics of Databases

Barcelona Campus
May 24, 2021 - Jun 11, 2021
During this course, students will master designing and evolving database schemas and optimize queries, and will explore big data and tools that support data analytics.
Barcelona Campus
May 24, 2021 - Jun 11, 2021
Igor Sakhankov

Faculty

Igor Sakhankov

Staff Software Engineer at Glovo

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

6 ECTS

Language

English

Course type

Offline

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

SQLDatabase DesignRDBMSNoSQLDB IndexesReplication
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

Data is at the center of many challenges in system design today. The course goal is to teach the basics of databases.

The course compares different data storages (both relational and NoSQL ones). It extensively covers relational algebra and SQL. It includes theory and practice about database design, query optimization and using databases with real applications.

Learning highlights

  • Understand the pros and cons of different databases
  • Learn how to use RDBMS in applications
  • Learn how to design and evolve database schemas, optimize queries
  • Learn how to set up a database for high availability
  • Understand the motivation behind NoSQL and experiment with some solutions
  • Learn about big data and tools that support data analytics

Course outline

15 classes

Dive into the details of the course and get a sense of what each class will cover.
Monday
Tuesday
Wednesday
Thursday
Friday
Monday
1

Introduction

  • Course overview
  • Data-intensive application
  • Data models and databases
  • Setting up MySQL
  • Basics of relational algebra
Tuesday
2

Database design

  • Basics of SQL
  • Data definition language
  • Designing databases
  • Schemas and schemas evolution
Wednesday
3

Data manipulation

  • Selecting, filtering, transforming data
  • Aggregations
  • Working with multiple tables
Thursday
4

Using databases in the application

  • Building a simple web app with database
  • ORMs
  • Real-life examples
Friday
5

Complex queries

  • Nested queries
  • Advanced joins
  • Variables
Monday
6

Transactions and locking

  • ACID
  • Isolation levels
  • Deadlocks
Tuesday
7

Indexes

  • Benefits of indexes
  • B-trees, hash, spatial indexes
Wednesday
8

Optimizations and profiling

  • Query plan
  • Hints
  • Caching
  • Application optimization
Thursday
9

Triggers and stored procedures

  • Pros and cons of triggers
  • Pros and cons of stored procedures
  • Case studies
Friday
10

Security and maintenance

  • Backups
  • Access rights
  • SQL-injections
Monday
11

High availability and replication

  • High availability
  • Replicas
  • Approaches to replication
Tuesday
12

In-memory databases and caches

  • Caches
  • In-memory databases
  • Redis, Memcache
Wednesday
13

NoSQL, CAP theorem

  • CAP theorem
  • Overview of modern databases
  • MongoDB, Cassandra
Thursday
14

Data warehouses and lakes

  • Big Data
  • Hadoop, Redshift
Friday
15

Final exam

Final exam

Methodology

During the course, students will be encouraged to practice all covered concepts. The lectures are going to start with a short quiz to recap material. At the end of the course will be an exam with questions and tasks related to all topics covered in the class. Homework consists of assignments (practical tasks on working with databases) and a project (creating and setting up a database for a sample application).

Grading

The final grade will be composed of the following criteria:
30% - Project
40% - Homework Assignments
10% - Quizzes
20% - Final Exam
-
Igor Sakhankov

Faculty

Igor Sakhankov

Staff Software Engineer at Glovo

Igor is a software engineer with experience in distributed systems, microservices, data pipelines and setting up team processes. He worked for the companies like Uber and Booking.com, right now works for Glovo.

Igor graduated from Innopolis University with a Master's degree in Software Engineering backed by MSIT SE CMU original program.

See full profile

Apply for this course

Snap up your chance to enroll before all spaces fill up.

Basics of Databases

by Igor Sakhankov

Total hours

45 Hours

Dates

May 24 - Jun 11, 2021

Fee for single course

€1500

Fee for degree students

€750

How to secure your spot

Complete the form below to kickstart your application

Schedule your Harbour.Space interview

If successful, get ready to join us on campus

FAQ

Will I receive a certificate after completion?

Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.

Do I need a visa?

This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.

Can I get a discount?

Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.