| title | Must-Read Classic Books on Databases | |||||||
|---|---|---|---|---|---|---|---|---|
| category | Computer Books | |||||||
| icon | database | |||||||
| head |
|
If you find the books on database fundamentals quite dry and cannot stick with it, I recommend that you first look at some good videos, such as Beijing Normal University's “Principles of Database Systems” and Harbin Institute of Technology's “Database Systems (Part 2): Management and Technology”.
The instructor for “Principles of Database Systems” is very detailed, and the assignments for each section are closely related to the knowledge being taught, with many supplementary experiments afterwards.
If you prefer hands-on activities and resist theoretical knowledge, I recommend you check out “How to Develop a Simple Database”; this project will guide you step by step in writing a simple database.
There is also a simplified database implemented in Java on GitHub by some experts, which is quite detailed, and those interested can take a look. Address: https://github.com/alchemystar/Freedom.
Aside from the Java implementation, db_tutorial is a project by an expert abroad that is written in C language; friends can check that out as well.
As long as you make good use of search engines, you can find various language implementations of database toys.
Learning from books alone is shallow; you must practice to fully understand! I strongly recommend that friends majoring in CS should practice more!!!
“Database System Concepts” covers the complete set of concepts related to database systems. The knowledge system is clear and it is a very classic textbook for learning database systems! It is not a reference book!
If you are interested in researching the underlying principles of MySQL, I recommend you read “Database System Implementation” first.
Whether it’s MySQL or Oracle, their overall framework is quite similar; the differences are mainly in their internal implementations—such as the data structures used for database indexing and the implementation methods of the storage engines.
This book is somewhat awkward in translation in certain places, so if you can read the English version, it is recommended to start with that.
“Database System Implementation” is a textbook from Stanford, and there's also a precursor course book, “Database System Fundamentals”, which can introduce you to databases.
The data for our website or APP needs to be stored in a database.
In general, MySQL is often used in enterprise project development. If you want to learn MySQL, you can refer to the following three books:
- “MySQL Must-Know Must-Read”: Very thin! Extremely suitable for beginners learning MySQL; it is a great introductory textbook.
- “High-Performance MySQL”: A classic work in the MySQL field! A must-read for learning MySQL! It belongs to the advanced content and mainly teaches you how to use MySQL better. It contains both theory and practice! If you don’t have time to read it all, I suggest you carefully review Chapter 5 (Creating High-Performance Indexes) and Chapter 6 (Query Performance Optimization).
- “MySQL Technical Insider”: If you want to delve into the MySQL storage engine, this book is definitely the right choice!
For videos, you can check out Donglijian's “MySQL Database Tutorial Video”. This video basically covers all the introductory information related to MySQL.
Additionally, I strongly recommend “How MySQL Works”; the content is very suitable for interview preparation. It discusses many details without being boring, and the material is outstanding!
Like MySQL, PostgreSQL is also an open-source, free and powerful relational database. PostgreSQL's slogan is “The World's Most Advanced Open Source Relational Database”.
In recent years, due to various excellent new features of PostgreSQL, more and more projects are replacing MySQL with PostgreSQL.
If you are still unsure whether to try PostgreSQL, I suggest you check out this Zhihu topic: What are the advantages of PostgreSQL compared to MySQL? - Zhihu.
“PostgreSQL Guide: Inside Exploration” mainly introduces the internal working principles of PostgreSQL, including the logical organization and physical implementation of database objects, as well as the architecture of processes and memory.
When I first started working, I needed to use PostgreSQL and read about 1/3 of the content, which felt quite good.
“PostgreSQL Technical Insider: In-Depth Exploration of Query Optimization” mainly discusses some technical implementation details regarding query optimization in PostgreSQL, allowing you to gain a deeper understanding of the PostgreSQL query optimizer.
Redis is a database developed in C language, but unlike traditional databases, the data of Redis is stored in memory, meaning it is an in-memory database and thus has very fast read and write speeds. As a result, Redis is widely used in caching.
If you want to learn Redis, I highly recommend the following two books:
- “Redis Design and Implementation”: This primarily covers theoretical knowledge related to Redis and is quite comprehensive. I wrote an article before “Seven Years Ago, at 24, I Published a Redis Classic” to introduce this book.
- “Redis Core Principles and Practices”: Mainly analyzes important knowledge points of Redis through source code, such as various data structures and advanced features.
Additionally, “Redis Development and Operations” is also quite good, offering both basic introductions and frontline development and operations experience sharing.











