FB

If you work with databases, you’ll know that there’s a lot to learn.

New technologies are being released, new versions of databases are coming out.

There’s also a range of technical problems you need to work on and solve on your project or in your team. These problems can be solved in a variety of ways – some of which you know about, others you may not.

A great way of learning about databases, and programming in general, is through books.

While video learning is convenient and useful, books still have their place when learning.

There are a lot of books on databases, but I’ve scoured the Internet and created a list of what I think are the best database books that you should read.

They cover the introductory topics such as learning SQL, learning a specific database such as MongoDB, all the way to more advanced topics such as SQL performance and design patterns.

So, let’s take a look at the list.

Note: The links to these books on Amazon are affiliate links, which means I receive a small compensation at no cost to you.

Learning a Database

Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement

Luc Perkins, Eric Redmond, Jim Wilson

This book covers seven different databases that you may have heard about but not used. Each section includes explanations, real-world problems, and see the theory behind each database.

The databases covered are: Redis, Neo4J, CouchDB, MongoDB, HBase, Riak, and PostgreSQL.

If you have any interest in these databases and want to learn more about what they can do, I would recommend this book.

MongoDB: The Definitive Guide: Powerful and Scalable Data Storage

Shannon Bradshaw, Eoin Brazil, Kristina Chodorow

I’ve heard quite a bit about document-oriented databases in the last few years, and MongoDB is one of the more popular ones.

This book has just had its 3rd edition released, and has been updated for MongoDB 4.0. It’s a well-written book, explains the concepts well and goes into detail where needed. It’s written by current and former members of the MongoDB team which is rare when it comes to technical books.

The 2nd edition was released in 2013, and the consensus is that it’s quite outdated. So, I would suggest getting the 3rd edition.

If you want to know about document databases and MongoDB, I would suggest reading this book.

Oracle PL/SQL Programming

Steven Feuerstein

This book is the definitive guide when it comes to PL/SQL programming, which is Oracle’s procedural language. Steven, the author, is an expert in the field of Oracle and PL/SQL and this book is often recommended as a must-read for those working in the area.

I read an earlier version back when I was learning Oracle and PL/SQL and I found it very useful. It covers the basics of PL/SQL all the way up to advanced topics. It’s a massive book (over 1000 pages) but is very thorough, and it can be used as a reference on your desk.

The cover says it’s up-to-date for Oracle 12c. The current version of Oracle is 19c, but don’t let the numbers throw you off: Oracle has recently aligned their version numbers to their release year, so Oracle 19c and 18c are very similar to 12c.

I would recommend this book to anyone working with Oracle databases, whether you work with PL/SQL or not.

Making Sense of NoSQL: A guide for managers and the rest of us

Dan McCreary, Ann Kelly

This book is a little different to the others but I would still recommended.

NoSQL is a fairly recent concept, and can require a different way of thinking about data.

It introduces you to the concept of NoSQL, explains the benefits and features of using this type of database, and explains some of the technologies.

While the title says “for managers”, it’s suited to developers as well.

It’s not a tutorial on NoSQL and the relevant technologies, but it explains the concepts and features, which is just as helpful for learning.

Head First SQL: Your Brain on SQL — A Learner’s Guide

Lynn Beighley

If you haven’t read any of the Head First books, then you might be interested in this one.

The Head First series of books use a visual method of teaching concepts. It’s easy to follow along and understand what’s being taught.

If you already know SQL then this book may not be that useful. But if you’re learning SQL or don’t yet know it then I would recommend this book. It’s easy to read.

This book teaches MySQL which is a good SQL variant to learn with.

Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design

Michael J Hernandez

This book shows you how to design well-structured and reliable databases. You’ll learn how to define tables and fields, rules, and views. You’ll also learn how to avoid common mistakes and when to break the rules.

It’s not just a book on normalisation and relational database design. It does cover those topics, but it’s good a range of other tips as well. This book is a good one if you’re beginning to learn about databases and SQL, or even if you’ve had some experience.

Design

Beginning Database Design Solutions

Rod Stephens

This book is on database design, but has a more conceptual and theory focus than other books. It’s focused on beginners, but even those with some experience can get value from this book.

The book explains the kind of features that are desirable in a database, which we may not be aware of or just need a refresher on. It covers the fundamentals of database design and walks through an example of normalising a database. It finishes off with a case study which you can follow along.

It aims to be database-agnostic, meaning you can use the concepts in any database (which is what a good database design should do). Later in the book it explains how to implement the database in Microsoft Access and MySQL.

Designing Data-Intensive Applications

Martin Kleppmann

This book explores the different technologies of processing and storing data. It’s not strictly a database design book or an SQL book. It’s focused on developers who work with applications that store data – which is the majority of us!

It focuses on the pros and cons of different approaches, rather than a specific technology. If you want to learn how different technologies can be used and improve the applications you work on, then I would recommend this book.

It’s a great book to add to your collection as it has a unique approach to data. It’s highly reviewed on Amazon (just like most of these books).

The Data Warehouse Lifecycle Toolkit: Practical Techniques for Building Data Warehouse and Business Intelligence Systems

Ralph Kimball

This book is often called the industry standard of data warehousing books. It has a collection of data modelling techniques, including several different approaches you can take with your warehouse design.

Several case studies are used and concepts are well-explained. If you work on data warehouses or in Business Intelligence then this is the book for you. Even if you don’t, it’s a good idea to have an understanding of these kinds of databases.

Refactoring Databases: Evolutionary Database Design

Scott W Ambler, Pramod J Sadalage

I’m passionate about quality code (and the refactoring that is a part of it) and continuous delivery. This book covers both of those topics as well as database design tips. I recently read this book and learnt quite a lot from it.

The book is split into two parts. The first part is a guide on what database refactoring is, how you can do it, the goal of being able to refactor a database just as easily as refactoring code, and some tips for doing so.

The second part is a collection of refactoring tips, each of which have a description, when you would and would not do it, an example, and things to be aware of.

Improving Your SQL

SQL Antipatterns: Avoiding the Pitfalls of Database Programming

Bill Karwin

Bill’s book on SQL Antipatterns is a collection of errors and issues he has encountered. A great way to learn SQL is to learn from what not to do. Bill explains many different issues, why they are an issue, and what you can do instead.

There are a range of antipatterns covering logical database design, physical database design, queries, and application development.

I really enjoyed this book and learned a lot from it, which I’ve put into use at work and when doing projects for Database Star.

SQL Performance Explained: Everything Developers Need to Know about SQL Performance

Markus Winand

This book focuses on SQL performance and does a great job at educating the reader. Markus is known for his website use-the-index-luke.com, where he teaches SQL performance.

SQL Performance Explained is a great book to have if you work with SQL in any capacity: a database developer, software developer, database administrator, or any other role.

A common first reaction when encountering a slow query is to just add indexes. This book mentions indexes, but also highlights many other factors and tips for improving the performance of your SQL.

SQL Cookbook: Query Solutions and Techniques for Database Developers

Anthony Molinaro

This book is one to read if you know the basics and want to take your SQL to the next level. Assuming you’re comfortable with a WHERE clause and other clauses in a SELECT statement, this book will teach you what’s next.

You’ll learn things like window functions, pivoting, summarising data, working with strings, and much more.

When we learn SQL we get to a point where we know the basics and how to write queries, but we don’t know what else there is to learn. This book is an answer to that.

Joe Celko’s SQL for Smarties: Advanced SQL Programming

Joe Celko

This book is another great book about advanced SQL topics. Joe is known for high-quality books (there’s another book of his on this list) and really knows his stuff.

SQL for Smarties covers ways to write queries you may not have heard of. You’ll learn about some issues in queries and how to rewrite them to make them better. It’s also vendor-agnostic, so you can use the tips on any database vendor.

It’s a great book that you’ll probably find a lot of value in and learn a lot from.

The Art of SQL

Stephane Faroult, Peter Robson

This book, The Art of SQL, offers some tips and best practices to improve the strategy you take with SQL. The authors explain that the SQL queries you write will be around for a long time, so it helps to get them right from the start and avoid as many performance issues as you can.

It helps you think of the future, not just the immediate requirements, by considering table volumes and other factors. It’s a good book to read along with many of the others here to improve your SQL.

Joe Celko’s SQL Puzzles and Answers

Joe Celko

This book is different from the others on this list in that it has a range of puzzles for you to solve. It focuses on the puzzle, which encourages you to attempt to solve it. The book then explains the possible solutions to each of them.

It’s a great approach to improving your SQL. Writing SQL and working with databases in the real world isn’t always easy as databases are not normalised and data is not perfect. Getting the data you way you want can be a puzzle, and this book helps you think of data and SQL in that way.

SQL Server MVP Deep Dives

Various Authors

This book contains a range of SQL Server tips provided by a range of SQL Server experts. It’s got a range of techniques, tips, and best practices from 53 experts, making it a unique book and a concept I haven’t seen in a book before.

It means you’ll get a wide variety of experience and opinions. The tips are on a range of topics and I’m sure there’s a lot we can all learn from this book.

If you work with SQL Server, it’s a great book to read. Even if you don’t work with SQL Server, it’s worth considering as some of the tips may still be useful to you.

SQL Practice Problems

Sylvia Moestl Vasilik

This book contains a range of SQL practice questions and problems for you to work through. It’s a great way to improve your skills, and is focused on the beginner to intermediate level. If you’re brand new to SQL, this isn’t the book for you (there are several others on this list you can read first).

The book comes with sample data for the practice problems, and there is more available on the author’s website. It’s a good approach to learning SQL and really gets you thinking.

SQL for Data Analytics: Perform fast and efficient data analysis with the power of SQL

Upom Malik, Matt Goldwasser, Benjamin Johnston

This book focuses on the SQL you should know when analysing data. Many other books focus on reading and creating data for use by an application. However, this is one of the few good books on the data analysis side.

Learn how to identify patterns in data, get statistics, use advanced calculations, and much more. It’s a good book to read if you have a need for any of this kind of data analysis. It’s useful for developers and those working with data warehouses or analytics.

Conclusion

So those are my recommendations for database-related books. Did any jump out at you? Is there one you feel is missing? Let me know in the comments below.

Get Your SQL Cheat Sheets Now: