Does anyone have any recommendations for books about database design? I'm realising that I really don't understand the fundamentals very well, so I'm probably making a lot of mistakes that will bite me later on.

@cda possibly just to help narrow down what type of book you're looking for:

Based on the conversations here, you're probably looking specifically for data modelling knowledge. Specifically online transaction processing (OLTP) compared to online analytical processing (OLAP) modelling. I.E.: you're modelling for a running web application rather than for big data analytics.

It might be an idea to take a look at Database Normalisation (https://en.wikipedia.org/wiki/Database_normalization) and see if this seems close to what you're trying to learn about.

Otherwise you might get buried in books around performance or tweaking specific database systems which is another whole topic (query performance, index design, table engines, etc).

Database normalization - Wikipedia