SQL Databases Fundamentals
Fast recall
Quick revision
Core answer
Whether you understand a relational DB as tables + schema + ACID + SQL, and can reason about normalization, indexes, joins, and isolation at a level that explains real performance and correctness.
Treating SQL as 'just storing rows' — unaware of normalization, indexes, joins, ACID, or isolation levels, which is where real performance and correctness live.
Frame a SQL DB as tables with a fixed schema and ACID, and connect each fundamental — normalization (reduce redundancy), keys (identity), indexes (lookup speed), joins (relate tables), ACID (transactional integrity), isolation (concurrency) — to a real consequence.
Interview-ready guide
Interview answer
A SQL database is a system that stores data in related tables and lets you query and modify it with SQL, enforcing a fixed schema, ACID transactions, and relational integrity.
It exists because most business data is relational — orders belong to customers, items belong to orders — and the relational model with SQL, constraints, and ACID gives a trustworthy, queryable store that underpins most business applications. The fundamentals I anchor on: primary keys identify rows, foreign keys reference them and enforce referential integrity so you never get orphan rows. Normalization reduces redundancy and update anomalies, at the cost of more joins.
Indexes — usually B-trees — speed up lookups but slow writes and consume space, so I index only what queries need. Joins combine rows across tables by key, and that's the whole power of the relational model. ACID makes a group of writes all-or-nothing and durable, so a transfer either happens completely or not at all.
And isolation levels trade consistency for concurrency — read committed is the fast default, serializable is correct for things like account transfers but throws serialization failures you must retry.
The trade-off I always name is normalization versus performance: a fully normalized schema minimizes redundancy but needs more joins, so for read-heavy workloads I sometimes denormalize deliberately.
SQL Databases Fundamentals
Direct Answer
A SQL (relational) database stores data in related tables (rows and columns) and lets you query and modify it with SQL, enforcing a fixed schema, ACID transactions, and relational integrity (keys, foreign keys). It exists because most business data is relational — orders belong to customers, items belong to orders — and the relational model with SQL, constraints, and ACID gives a trustworthy, queryable store for that data, which is why it underpins most business applications. Understanding SQL databases — schema design, normalization, indexes, joins, transactions — is foundational for any backend developer.
Common Mistakes & Pitfalls
Treating SQL as 'just storing rows' — unaware of normalization, indexes, joins, ACID, or isolation levels, which is where real performance and correctness live.
Check your understanding
Answer these without looking back at the article.
- What are primary and foreign keys, and how do they enforce relational integrity?
- What does normalization achieve, and what is the cost of fully normalizing (BCNF)?
- Why do indexes speed up reads but slow down writes, and when is over-indexing a problem?
- What does ACID guarantee, and why does it matter for a transfer between two accounts?
- What is the trade-off between read committed and serializable isolation, and how do you choose?
Related interview prep categories
2Looking for a structured roadmap?
Every module on this page is also part of the full Java backend interview track.