Roadmap · Foundations
SQL and databases (MySQL)
Opens with creditsFor students and early-career engineers who want to use a relational database properly, on PostgreSQL, MySQL or SQL Server. By the end you can query and change data confidently, design a sound schema, read a query plan and use SQL safely from application code.
By the end, you will be able to
- Write correct queries with joins, GROUP BY, subqueries, CTEs and window functions against a real sample database, and explain why each returns the rows it does
- Design a normalised schema with keys, constraints and sensible data types for your database, and know when a denormalised copy is worth it
- Change data inside transactions without lost updates, and explain isolation levels and locking in plain words
- Read an execution plan, add the right index and prove the speed-up with before-and-after numbers
- Call the database from code with parameterised queries, migrations and a connection pool, and restore a backup you took yourself
The path
9 stages, in the order to learn them. Open one to start.
1Relational thinking and your setupLearn what tables, keys and relationships are, install your database locally with a GUI and a command-line client, and load a realistic sample database to practise on.8 topics · ~2 weeks
- 1Tables, rows and columnsA relational database keeps data in tables.
- 2Primary keys and foreign keysA primary key is a column, or a group of columns, that identifies exactly one row.
- 3The families of SQL statementsSQL statements come in a few families, grouped by what they touch.
- 4Installing MySQL locallyInstall MySQL Community Server from dev.mysql.com.
- 5MySQL Workbench as your GUIMySQL Workbench is the official graphical tool for MySQL.
- 6The command-line clientLearn the command-line client for your database alongside the graphical tool.
- 7Loading a sample databasePractise on realistic data from day one by loading a well-known sample database.
- 8Your first tables by handBefore relying on sample data, create two related tables yourself with CREATE TABLE, for example authors and books.
8 in this stageOpen this stage2Querying one tableWrite SELECT statements against one table: choose columns, filter rows, handle NULL, sort, limit and shape results with expressions and functions.8 topics · ~3 weeks
- 1SELECT, FROM, aliases and DISTINCTEvery read starts with SELECT, which lists the columns or calculations you want, and FROM, which names the table.
- 2Filtering rows with WHEREWHERE keeps only the rows where a condition is true.
- 3NULL and three-valued logicNULL means a value is missing or unknown.
- 4Sorting with ORDER BYORDER BY sorts the result by one or more columns or calculations.
- 5Limiting rows: LIMIT, TOP and OFFSET FETCHMost queries in real apps return one page of results, not every row.
- 6CASE expressionsA CASE expression is if-then-else inside SQL.
- 7Text and date functions in your dialectBuilt-in string and date functions clean up and reshape values.
- 8The logical order a query runs inYou write a query in the order SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY.
8 in this stageOpen this stage- Joins and set operationsCombine tables with inner, outer, self and cross joins, understand why joins multiply rows, and combine whole results with UNION, INTERSECT and EXCEPT.7 topics · ~3 weeksOpens with credits
- Aggregation, subqueries and window functionsSummarise data with GROUP BY and HAVING, build answers in steps with subqueries and CTEs, and calculate rankings, running totals and comparisons with window functions.8 topics · ~4 weeksOpens with credits
- Schema designTurn requirements into tables: model entities and relationships, choose keys and data types for your database, normalise to third normal form, add constraints and know when to denormalise.8 topics · ~3 weeksOpens with credits
- Changing data safelyInsert, update, delete and upsert rows without surprises, group changes into transactions, and understand isolation levels, anomalies and locks well enough to avoid lost updates.8 topics · ~3 weeksOpens with credits
- Indexes and query plansLearn how indexes work, read EXPLAIN output or an execution plan, write index-friendly queries and prove each improvement with measurements.8 topics · ~3 weeksOpens with credits
- SQL in real applicationsUse your database safely from application code with parameters, ORMs, migrations and connection pools, then handle the operations basics: least-privilege users and backups you have restored.6 topics · ~3 weeksOpens with credits
- NoSQL and MongoDBSee how a document database differs from the relational model you now know, using MongoDB as the example: documents and collections, queries and aggregation mapped from SQL, embedding versus referencing, indexes and transactions, and when JSON inside your own database is the simpler answer.6 topics · ~2 weeksOpens with credits
7 more stages, 51 more topics, free with an account.
You have seen the open stages of the SQL and databases roadmap. Every topic it covers is listed above, and an account opens the rest: what each topic means, a question to check yourself, the courses, the practice and Tauseef's advice for every stage. Early access is open: sign up and your account is active shortly after.
Everything here is free to learn from. A few things, like adding a roadmap, keeping a cheat sheet or asking Tauseef a question, use credits. You get 15 when you join, your first roadmap is free, and if you are learning seriously and run out, you can ask for more. Credits only make sure the platform goes to people who are actually learning.
Related on Sefism
Picked from the other libraries by shared topics.
Best practices
See all- PostgreSQL Best PracticesDesign, index, query and run PostgreSQL well: data types, constraints, EXPLAIN, zero-downtime migrations, pooling, transactions, backups and roles.
- MongoDB Best PracticesModel, index, query and run MongoDB well: access-pattern schemas, validation, the ESR rule, aggregation limits, write concern, transactions, drivers and security.
- Data Pipeline Best PracticesHow to build data pipelines you can re-run, test and trust: idempotent tasks, orchestrator hygiene, layered transformations, data tests, freshness, ownership and monitoring.
Checklists
See allProject structures
See all- NestJS project structureFor people who want a structured TypeScript backend with clear rules about where code goes. Every feature is a Nest module that owns its controller, service, DTOs, entities and tests, so the app grows by adding folders, not by stretching old ones. The tree follows one orders API from nest new to a codebase a whole team can run for years.
- FastAPI project structureA typed Python API for an orders app, built the way the FastAPI docs and the official full stack template lay it out: one
apppackage, a router per feature, Pydantic schemas at the edges, services in the middle and SQLAlchemy models with Alembic migrations underneath. For students who have finished the FastAPI tutorial and want to know where the second, tenth and fiftieth file go. - Django project structureFor students building their first serious Python web app or API with Django, and for the team that keeps it running years later. The project is a thin "config" package plus one Django app per business area (accounts, catalog, orders, core), each owning its models, services, views, API, migrations and tests. Settings come from validated environment variables, and the tree grows from the tutorial layout to CI, containers, observability and enforced module boundaries.
Career questions
See all- Should I use PostgreSQL or MongoDB for my project?For most student and startup projects, PostgreSQL is the safer default: relational data, joins, constraints and transactions fit most apps, and it handles JSON and vector search too. MongoDB is a good fit when your data is naturally document-shaped and varies a lot, or your team already knows it well. Model your data first, then choose.
- Should I use Firebase or Supabase for my app?Both let you ship an app fast with auth, a database, storage and hosting-style services. Supabase is built on PostgreSQL, so it suits relational data and SQL skills you will reuse anywhere. Firebase is a mature Google platform with a document database and strong mobile tooling. Choose by your data shape, your platform, and how much you want to learn transferable database skills.
- Do I need a vector database for my AI project?Often not. For a student project or a small app, a vector extension on a database you already use (such as pgvector in PostgreSQL), or even an in-memory index, is enough. A dedicated vector database earns its place with very large collections, heavy query traffic, or features like advanced filtering and multi-tenancy at scale.
Cheat sheets
See all- MongoDB cheat sheetDocuments, modelling, indexes, aggregation.
- Choosing the right database cheat sheetSQL, document, cache, search, vector and more.
- Vector databases cheat sheetEmbeddings, similarity metrics, ANN indexes, filtering, hybrid search, reranking, RAG chunking, pgvector, dedicated stores and evaluation.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
- 1:1 Mentorship
- Fresh Graduate Mentorship
- Career Guidance
Brand deals, promos and partnerships: tauseeffayyaz@gmail.com