ποΈ Databases
Storing, querying and scaling data. 51 topics, from beginner to advanced.
Databases store, organize and retrieve data reliably. This area covers relational models and SQL, indexing and query planning, transactions and consistency, and the trade-offs of NoSQL and distributed storage. Understanding these topics explains why an application is fast, why data stays correct after a crash, and how systems grow beyond one machine.
Who this area is for
Backend developers, data analysts who write SQL, and anyone designing an application that must store data safely.
Real-world use cases
- Storing customer orders, accounts and inventory in a relational database.
- Speeding up slow reports with the right indexes and query rewrites.
- Choosing a document, key-value or wide-column store for high write volume.
- Generating a monthly sales report with GROUP BY and aggregate functions.
- Keeping an order and its payment consistent when the database server fails during checkout.
Topics in Databases
Beginner (17)
- What is a Database β Organized collection of data managed for efficient access.
- DBMS β Software that stores, retrieves and manages database content.
- Relational Model β Data organized into tables of rows and columns.
- Tables, Rows and Columns β The basic building blocks of relational storage.
- Primary Keys β Column that uniquely identifies each row.
- Foreign Keys β Column referencing another table's key to link records.
- SQL Basics β Declarative language for querying relational data.
- SELECT Queries β Statements retrieving data from tables.
- WHERE and Filtering β Clauses restricting which rows are returned.
- ORDER BY and LIMIT β Sorting results and capping their count.
- INSERT, UPDATE, DELETE β Statements that modify stored rows.
- Aggregate Functions β COUNT, SUM, AVG and similar summarizers.
- GROUP BY and HAVING β Grouping rows and filtering the groups.
- Joins β Combining rows from tables on related columns.
- Inner and Outer Joins β Joins differing in how unmatched rows are handled.
- Entity-Relationship Modeling β Diagramming entities and their relationships.
- Data Types in SQL β Column types like INT, VARCHAR and DATE.
Intermediate (17)
- Subqueries β Queries nested within other queries.
- Views β Saved queries presented as virtual tables.
- Indexes β Auxiliary structures speeding up lookups.
- Normalization β Organizing tables to reduce redundancy.
- Normal Forms β Progressive rules 1NF through BCNF for table design.
- Denormalization β Deliberately adding redundancy to speed reads.
- Transactions β Groups of operations executed as an atomic unit.
- ACID Properties β Atomicity, consistency, isolation and durability guarantees.
- Isolation Levels β Settings trading concurrency for protection from anomalies.
- Concurrency Control β Techniques coordinating simultaneous database access.
- Locking and Two-Phase Locking β Using locks to serialize conflicting operations.
- MVCC β Keeping multiple versions so readers don't block writers.
- Stored Procedures and Triggers β Server-side code run on demand or on events.
- Query Optimization β Choosing efficient execution plans for queries.
- Query Execution Plans β Operator trees showing how a query will run.
- Window Functions β Calculations across related rows without collapsing them.
- Common Table Expressions β Named temporary result sets within a query.
Advanced (17)
- Recovery and Logging β Write-ahead logs restoring state after failure.
- Database Partitioning β Splitting tables into smaller physical pieces.
- Replication β Copying data across servers for availability.
- Sharding β Distributing data horizontally across nodes.
- NoSQL Databases β Non-relational stores built for scale and flexibility.
- Document Stores β Databases holding JSON-like documents.
- Key-Value Stores β Simple stores mapping keys to opaque values.
- Column-Family Stores β Wide-column stores optimized for large writes.
- Graph Databases β Stores built around nodes, edges and traversals.
- CAP Theorem β Trade-off among consistency, availability and partition tolerance.
- Eventual Consistency β Replicas converge to the same state given time.
- Data Warehousing β Analytical stores integrating data from many sources.
- OLTP vs OLAP β Transaction-heavy versus analysis-heavy workloads.
- LSM Trees β Write-optimized structures merging sorted runs.
- NewSQL and Distributed SQL β Databases combining SQL semantics with horizontal scale.
- Time-Series Databases β Stores specialized for timestamped measurements.
- Vector Databases β Stores indexing embeddings for similarity search.
How to study Databases
Design a small schema for a real problem, such as a library or a shop, then write queries against it. Use EXPLAIN on each query to see how the database runs it. Read the transaction topics with a concrete example, such as a bank transfer, in mind.
Frequently asked questions
SQL or NoSQL: which should I use?
Why do database indexes make queries faster?
What does ACID mean?
Should I learn SQL before NoSQL?
Do I need a database administrator skill set to be a backend developer?
Open the interactive Databases area Take the Databases quiz
Other areas
- π» Programming Fundamentals
- π§± Data Structures
- βοΈ Algorithms
- π Computer Architecture & Logic
- π₯οΈ Operating Systems
- π Computer Networks
- ποΈ Software Engineering
- πΈοΈ Web Development
- π Security & Cryptography
- β Theory & Discrete Math
- 𧬠Languages & Compilers
- π€ AI & Machine Learning
- βοΈ Distributed Systems & Cloud
- π¨ Graphics, Vision & Media
- π Math for Computing
- π Concurrency & Parallelism
- π± Mobile, Embedded & IoT
- π οΈ DevOps & Tooling
- π Emerging & Frontier Topics