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

CS204

Basics of Databases

Barcelona Campus
Nov 27, 2023 - Dec 15, 2023
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
Nov 27, 2023 - Dec 15, 2023
Mikhail Nikiforov

Faculty

Mikhail Nikiforov

Senior Software Engineer at Oracle NetSuite, Barcelona

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

4 ECTS

Language

English

Course type

Offline

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

MySQLData ManagementSQLDatabase DesignBasic Database AdministrationRelational DatabaseDesigning a Database
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

This course is a quick and concentrated introduction to relational databases, from the very beginning to complex problems. It’s giving the students the necessary knowledge for creating their own database in a conscious way, based on strong theoretical principles. It also includes unique materials based on years of hands-on experience. Students will have the opportunity to solve thought-provoking problems related to the real practice of modern business.

This course provides an introduction to SQL, the long-accepted standard query language for relational database systems.

Students will have an overview of related topics such as data collection, management, and analysis. Other types of data storage will also be discussed.

This course provides a comprehensive overview of MySQL, one of the leading database management systems.

Learning highlights

  • Demonstrate the ability to understand relational databases and use them to analyse typical issues that arise in the course of business.
  • Design databases with a normalised structure, free of redundancies, and enforced data integrity.
  • Designing and running SQL queries and then applying the retrieved information to business issues
  • Create reports based on transactional data, including elements such as data groupings and summary values.
  • Analyse and review the existing database design.

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 to databases

Why do we need a separate course about them?

History: How the data was managed before computers were invented and the evolution of digital databases.

Why database development is different from other kinds of software.

Relational databases

Course overview

Practice: Create teams.

Tuesday
2

Relational Model

Main steps of the database design and maintenance

Importance of good design and how to achieve it.

Tools: Database management system (or DBMS)

Why we will use MySQL. What is SQL?

Practice: Create a database in MySQL, access remote databases.

Wednesday
3

Building bricks of the database.

Table, field, record, keys, and how to manipulate them with SQL.

Practice: Create table, insert and update data.

Thursday
4

SQL queries.

Relationship, types of relationship, and integrity.

Practice: Create multiple tables, establish relations, insert data and select data.

Friday
5

Complex queries

Subqueries, unions, and merges

Pivoting

Practice: Write complex queries

Monday
6

Advanced design

Normalisation: Normal Forms, Anomalie

Practice: Modify database structure

Tuesday
7

Data management

Data collection and cleaning

Why better start database design before the data is collected?

Possible conflict between customers and database architect's comprehension of the same data

Practice: MySQL workbench

Wednesday
8

Advanced programming

Stored procedures, views, triggers, and transactions

Practice: Write more sophisticated SQL code.

Thursday
9

Productivity

Data growing problem

Indexes, advance usage

Execution plans and statistics

Practice: Examine query execution.

Friday
10

Database security

Users and roles

Network securing and monitoring

Personal data protection.

Practice: Isolate personal data.

Monday
11

How not to lose your data.

Backup strategies

Distributed databases

Practice: Backup and restore database.

Tuesday
12

Database development cycle

Database documentation: How to automate its creation and maintenance.

Metadata: How to make a database self-descriptive.

Practice: Create a data dictionary.

Wednesday
13

Availability: How to make data accessible for the users.

Extract, transform, and load data (ETL)

How to combine data from different sources.

Practice: Create and load huge amounts of data.

Thursday
14

Interactions with frontend

Isolation: How to prepare data for consumption.

Practice: Query data from browser.

Friday
15

Summary

Final project presentation

Prerequisites

Some programming experience. Windows or Linux advanced knowledge

Methodology

The course includes lectures, group exercises in the class, individual homework, and presentations. The final project will be presented at the end of the course.

Grading

The final grade will be composed of the following criteria:
20% - In-class exercises
30% - Homework
30% - Final project
20% - Participation
Mikhail Nikiforov

Faculty

Mikhail Nikiforov

Senior Software Engineer at Oracle NetSuite, Barcelona

Mikhail is an expert software and data engineer with more than 25 years of experience. He has been working as a senior software engineer and a team lead at Oracle NetSuite. Currently working as a freelancer in startups and non-government organisations.

He has extensive experience managing medical databases around the world, from Siberia to Guatemala and from Sweden to Spain.

See full profile

Apply for this course

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

Basics of Databases

by Mikhail Nikiforov

Total hours

45 Hours

Dates

Nov 27 - Dec 15, 2023

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.