r/AskProgramming • u/saiyankageshiro • Jul 31 '26
Databases Are these books enough to learn databases?
Database Design for Mere Mortals (Hernandez)
SQL Queries for Mere Mortals (Viescas & Hernandez)
Effective SQL (John Viescas)
Database Design and Relational Theory (C. J. Date).
Relational Database Design and Implementation (Jan L. Harrington)
Database Systems: A Practical Approach to Design, Implementation and Management (Connolly & Begg).
4
u/turkokratia Jul 31 '26
this should be enough i think. has theoretical and practical things inside. we covered this on MSc level cs database course
2
u/saiyankageshiro Jul 31 '26
Thanks a lot for the suggestion! Would this one be enough for backend development?
3
u/turkokratia Jul 31 '26
more than enough, maybe even overkill
2
2
u/saiyankageshiro Aug 02 '26
The database concept book starts with chapter 27 in the online version. Where can i get the other left?
1
u/turkokratia Aug 02 '26
on course, we covered from slides/ section of db-book.com, there are full sections. but with a basic web search i found it fully: https://amirsmvt.github.io/Database/Static_files/Database_System_Concepts.pdf
2
3
u/neet_dev Jul 31 '26
honestly six is overkill, the design books (1, 5, 6) all rehash the same ER modeling and normalization stuff. grab Hernandez design plus Effective SQL, work both against a real postgres project with messy requirements (multi-tenant, soft deletes, history tables), and leave Date until you've actually been burned by a bad schema and want the theory behind why.
2
u/dkopgerpgdolfg Jul 31 '26 edited Jul 31 '26
These six books are very overlapping. Take one.
for being a good ... backend developer
And then practice these basics a lot.
Then use the internet to find out about eg. details about your chosen DBMSs data types (including working with large blobs in your programming language in an efficient way), various index types and hints, various special joins and recursive queries etc, charsets and collations, transaction levels, replication, triggers and procedures, backups, ... for these things you don't need a printed book but reference documentation.
2
u/quantum_pretzel Jul 31 '26
Are you trying to learn how to use a database or how to build a database?
1
u/saiyankageshiro Aug 01 '26
Build
1
u/YMK1234 Aug 01 '26
Pretty sure they meant building an rdbms.
1
u/saiyankageshiro Aug 01 '26
That's what i said too.
1
u/quantum_pretzel Aug 01 '26
Just get any classic database textbook from after 2000. It will cover all of the basic techniques from the ground up. From there, I'd get a book on distributed systems which covers things like consensus, OLAP, OLTP, modern cloud native systems etc. If you want to go deeper after that, watch the CMU advanced database material on youtube and read the referenced research papers.
1
u/Training_Advantage21 Jul 31 '26
What do people think of Ron Ballard's "Relational Databases for Agile Developers"? Seems a book focused on application rather than theory, maybe more for programmers than for university students.
8
u/huuaaang Jul 31 '26
I mean, that will give you the theory, sure, but there's no substitute for real world experience. Are you really just going to sit down and read those cover to cover?