CS204

Faculty
Mikhail Nikiforov
Senior Software Engineer at Oracle NetSuite, Barcelona
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
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.
15 classes
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.
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.
Table, field, record, keys, and how to manipulate them with SQL.
Practice: Create table, insert and update data.
Relationship, types of relationship, and integrity.
Practice: Create multiple tables, establish relations, insert data and select data.
Subqueries, unions, and merges
Pivoting
Practice: Write complex queries
Normalisation: Normal Forms, Anomalie
Practice: Modify database structure
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
Stored procedures, views, triggers, and transactions
Practice: Write more sophisticated SQL code.
Data growing problem
Indexes, advance usage
Execution plans and statistics
Practice: Examine query execution.
Users and roles
Network securing and monitoring
Personal data protection.
Practice: Isolate personal data.
Backup strategies
Distributed databases
Practice: Backup and restore database.
Database documentation: How to automate its creation and maintenance.
Metadata: How to make a database self-descriptive.
Practice: Create a data dictionary.
Extract, transform, and load data (ETL)
How to combine data from different sources.
Practice: Create and load huge amounts of data.
Isolation: How to prepare data for consumption.
Practice: Query data from browser.
Final project presentation
Books
Some programming experience. Windows or Linux advanced knowledge
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.
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 profileApply for this course
by Mikhail Nikiforov
Total hours
45 Hours
Dates
Nov 27 - Dec 15, 2023
Fee for single course
€1500
Fee for degree students
€750
Filter by campus:
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.