Databases for Software Developers
Earn an internationally recognized certificate and master the design and use of modern databases. This micro-credential will teach you SQL, MongoDB, and how to create effective data models for real-world applications.
This micro-credential focuses on database design and management in software development. Participants will learn to design data models for both relational and non-relational databases, understand their differences and advantages, use SQL to query relational databases, and work with the document-oriented database MongoDB. The course covers both theoretical fundamentals (relational model, normalization) and practical skills (schema creation, advanced queries, indexing, transactions).
About course
Do you want to gain practical skills in databases and data handling for developing modern applications? This microcertificate will guide you through the key principles of designing, managing, and using both relational and non-relational databases. You’ll learn to work with both SQL and NoSQL approaches, understand their differences, and learn when to use each in practice.
Throughout the course, you will master data model design, data normalization and denormalization, database schema creation, and advanced querying techniques. The course also covers working with document databases, particularly MongoDB, including CRUD operations, aggregations, indexing, and designing efficient data structures.
The emphasis is on the practical application of knowledge—through exercises and projects, you will practice designing and implementing database solutions for real-world applications. The course also introduces modern approaches to combining different types of databases and working with data in contemporary software systems.
Upon completing the micro-certificate, you will be able to independently design database solutions, work effectively with data, and select appropriate technologies based on specific use cases.
Course content and schedule
- Types of databases (relational, document, graph, network, vector, etc.)
- SQL vs. NoSQL: When to Use Which?
- Introduction to Data Model Design (ER diagrams, application requirements)
- Fundamentals of the relational model: tables, primary/foreign keys, integrity
- Normalization: 1NF, 2NF, 3NF – principles and examples
- Denormalization – when it is appropriate
- SELECT, INSERT, UPDATE, DELETE
- WHERE, JOIN (INNER, LEFT, RIGHT, FULL), GROUP BY, HAVING
- Subqueries and Aggregations (COUNT, SUM, AVG…)
- Creating tables, data types, constraints
- Indexes – types, uses, and impact on performance
- Transactions – the ACID principle, COMMIT, ROLLBACK, isolation
- Views, stored procedures, triggers
- Modeling a specific application (e.g., an e-shop, a reservation system)
- Implementation in PostgreSQL / MySQL / SQLite
- Query optimization, index tuning
- The Concept of Document-Oriented Databases
- Document Structure (JSON/BSON)
- Data Modeling in MongoDB – Embedded vs. Referenced
- Inserting, reading, updating, and deleting documents (CRUD)
- Querying using Mongo Query Language (MQL)
- Searching, sorting, and paginating results
- Aggregation Pipeline
- Indexes – types and behavior, compound indexes, TTL indexes
- Transactions in MongoDB – multiple documents, multiple collections
- Data validation using schema rules (JSON Schema)
- Modeling non-standard data structures (e.g., chat logs, real-time data)
- Implementation, query optimization, and working with aggregates
- Choosing the Right Database Type Based on Use Cases
- Combining SQL and NoSQL in a Single Application
- Data Migration Between SQL and NoSQL
- Introduction to ORM (e.g., Mongoose, Sequelize)
Vstupní požadavky
Personal Laptop or Tablet
Bring the device you normally use for work, and don’t forget your charger.
Basic knowledge of programming in any language (e.g., JavaScript, Python, Java)
Who is this course for?
Methods of teaching
- Interactive lectures with demonstrations (SQL, PostgreSQL, MySQL, MongoDB).
- Hands-on workshops: designing data models, working with queries, and implementing database solutions.
- Independent exercises and case studies focused on real-world scenarios.
- A final project and an exam assessing the ability to design and work with database solutions.