https://github.com/ahmeddiaab/practical-dbms
A level-based roadmap to master relational databases with PostgreSQL. Practice schema design, normalization, real-world SQL, and transactions using Docker. Great for backend developers.
https://github.com/ahmeddiaab/practical-dbms
backend database postgres postgresql roadmap sql
Last synced: about 1 month ago
JSON representation
A level-based roadmap to master relational databases with PostgreSQL. Practice schema design, normalization, real-world SQL, and transactions using Docker. Great for backend developers.
- Host: GitHub
- URL: https://github.com/ahmeddiaab/practical-dbms
- Owner: AhmedDiaab
- License: mit
- Created: 2025-07-25T17:39:09.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-25T21:19:03.000Z (11 months ago)
- Last Synced: 2025-07-26T00:17:33.740Z (11 months ago)
- Topics: backend, database, postgres, postgresql, roadmap, sql
- Language: PLpgSQL
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Database Roadmap Practice
This repository contains structured practice material for learning databases β organized by levels for backend developers. Each folder includes examples, exercises, and real-world challenges with SQL and NoSQL.
## π§ Levels Overview
| Level | Importance |
|----------------------------------|-------------|
| Fundamentals | β
Mandatory |
| Schema Design | β
Mandatory |
| Querying Deep Dive | β
Mandatory |
| Advanced SQL | β
Mandatory |
| Indexing & Query Optimization | β
Mandatory |
| Transactions & Concurrency | β
Mandatory |
| Views, Functions, and Triggers | β
Mandatory |
| Security & Permissions | β
Mandatory |
| NoSQL Fundamentals | π‘ Optional |
| Capstone Projects & Practice | β
Mandatory |
## π‘ How to Use
Each level has its own directory:
- `schema-design/` β Schema definitions, constraints, normalization
- `querying-deep-dive/` β JOINs, GROUP BY, CTEs, subqueries
- `advanced-sql/` β Window functions, recursive CTEs, pivoting
- `indexing-optimization/` β EXPLAIN plans, performance fixes
- `transactions-concurrency/` β Isolation levels, locking, race conditions
- `views-functions-triggers/` β Reusable logic via SQL
- `security-permissions/` β GRANT/REVOKE, RLS, injection prevention
- `nosql-fundamentals/` β MongoDB & Redis basics
- `capstone-projects/` β Real-world builds (e-commerce, LMS, etc.)
## π Setup
This project assumes PostgreSQL is installed.
You can run it using Docker:
```bash
docker-compose up -d
````
> Edit `.env.example` with credentials and copy to `.env`
## π¦ Sample Seed Database
A small e-commerce schema and seed data are included in `schema-design/`.
```bash
psql -U postgres -d practice_db < schema-design/schema.sql
psql -U postgres -d practice_db < schema-design/seed.sql
```
## π§ͺ Practice Tips
* Document your SQL logic in each folder
* Use `EXPLAIN ANALYZE` to benchmark
* Try refactoring poor queries into optimal versions
* Extend capstone projects into full-stack apps
---
Feel free to clone, fork, and contribute. Letβs master databases step-by-step