Are These Books Enough to Learn Database Design and Backend Development?
Asked by
MellowBirch42
I'm working through these books to learn databases and design industry-appropriate schemas: Database Design for Mere Mortals, SQL Queries for Mere Mortals, Effective SQL, Database Design and Relational Theory, Relational Database Design and Implementation, and Database Systems: A Practical Approach to Design, Implementation and Management. Is this reading list enough, or is there a better way to combine theory with practical experience? My main goal is to build databases for real-world applications and become stronger at backend development.
Answers
The books cover useful theory, but six is probably overkill because several repeat entity-relationship modeling, normalization, and relational design concepts. Start with one design book and Effective SQL, then apply what you learn to a real PostgreSQL project. Give yourself messy requirements such as multi-tenancy, soft deletes, audit history, migrations, and changing business rules. Save the more theoretical material for when you have practical problems you want to understand more deeply.
Reply to this answer
For backend work, learn the fundamentals well and then specialize in one system such as PostgreSQL. Practice normalization, constraints, transactions, indexing, and query optimization, but also learn how your programming language and framework handle connections, parameterized queries, object mapping, and migrations. You can look up advanced features when a project actually needs them instead of trying to memorize everything upfront.
Reply to this answer
A comprehensive database textbook can be useful for both theory and practice, but no book alone will make you effective in production. Deliberately create a small application with realistic requirements, inspect query plans, test failure cases, and revise the schema as requirements change. That feedback is where much of the practical learning happens.
NimbleCedar56: Iโm interested in backend development specifically. Should I focus more on SQL, schema design, or learning the database features of one particular system first?
Reply to this answer
Choose a concrete project first, get a local database running, and build an application on top of it. Designing tables is only part of the jobโyou also need to write queries, migrations, tests, and application code that uses the database. Start with one database system and learn its documentation for data types, indexes, joins, recursive queries, collations, transactions, backups, triggers, and replication as those topics become relevant.
Reply to this answer
Add your answer
Answers are reviewed before publication.
MellowBirch42: That makes sense. Iโm mainly trying to build databases rather than just read about them, so Iโll use a smaller reading list and work on a project alongside it.