You won’t go wrong with any of the titles reviewed here, provided you pick one according to your level of expertise.
Database design began circa 1960, with the creation of the first database management system (DBMS). Since then, hundreds of books have been written and published on how to design effective and efficient databases for storing and retrieving information. There are all kinds of them: academic textbooks, books for a specific database product, introductory books for people outside the world of computers, among others. There are tools, such as the Vertabelo platform, that assist the designer in creating excellent designs, but books are still a necessary resource for learning the fundamentals of data modeling.
You don’t have the time to browse through the hundreds of database design books available? Don’t worry, no one does. That’s why we have curated a list of 16 of the best titles available today on database design, database modeling, and entity-relationship (ER) diagrams, classifying them by the level of the target reader: beginner, intermediate, or advanced.
If 16 titles are still too many for you, you may want to check the 5 must-read database modeling books or browse some blog posts with database design tips and best practices.
Books for Beginners
Allen G. Taylor
Database Development for Dummies
Yes, dummies can also design databases. That’s what this book tries to prove through a friendly guide that covers everything from data modeling techniques and development tools to managing security and accessing online databases.
After reading this book, any dummy will know how to accurately model data, how to design a database that works, how to create robust relational databases and deliver them on time and on budget, how to build user-friendly database applications, and even how to upload a database to the web.
Without the complicated language used by other database modeling books, the author discusses the most popular data modeling methods and explains how to systematically design and develop a database and one or more applications that operate on it.
Chad Russell and Jon Stephens
Beginning MySQL Database Design and Optimization: From Novice to Professional
Although this book is not up to date with the latest versions of MySQL, the authors have managed to provide a very good introduction to database design with MySQL that remains current and covers all the key information from basic concepts to normalization methods.
The teachings on query optimization in this book are ideal for newcomers to MySQL. You will also find all about the essential theory and fundamentals of the popular database engine, such as naming conventions and connection techniques.
Among other things, this book highlights what is right or wrong in database design, including many examples of bad designs from the real world and how to improve them.
Hector Garcia-Molina, Jeffrey Ullman, and Jennifer Widom
Database Systems: The Complete Book
An excellent introduction to database systems for beginners. The content is divided into two parts. The first part is targeted at application designers, users, and programmers, covering in depth the fundamental aspects of databases and the latest SQL, JDBC, and XML standards, among others. The second part focuses on data structures, query processing, and transaction handling, as a valuable source of information for database implementers.
The authors are experts in the area of database design and maintenance. Although the textual content is excellent, the visual content leaves a lot to be desired, which should improve to be on par with the most current books on database design.
Michael J. Hernandez
Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design
The author Michael J. Hernandez presents in this book his own design methodology, developed to deliver effective databases in the simplest way possible. The book clearly explains how to create flexible, reliable, and structured database designs that accommodate the latest practices, applications, and data engines. The book is abundant with tips that are most useful for any database designer, with a detailed explanation for each one.
As its title indicates, the book is intended for the “mere mortals” who want to design a database without getting help from an expert. Seasoned designers are unlikely to find any new information here, and may even want to delve more deeply into things like normal forms, indexing techniques, and the use of keys and constraints.
Beginning Database Design: From Novice to Professional
Through this book, the author tries to communicate the principles of database design to people who want to organize the information they handle on a daily basis. Anyone who needs to manage a fairly complex data set – for example, the sales at a small retail store, the purchases at a restaurant, the student grades at a college, the patient medical records – can learn to design the data structures that best meet their needs.
The readers will understand how to translate real-life needs into efficient data structures that support them. However, they will not learn how to use a specific database or how to deal with the SQL language software.
A valuable feature worth highlighting are the many examples of good and bad design decisions and the consequences they have on subsequent database management activities.
Relational Database Design for Starters: Explained through a Case Study in Microsoft Access
This book removes the mysteries of database design for the general audience. It makes it easy to understand through a practical approach and a case study complex enough to require various data modeling techniques and tools such as normalization and ER diagrams.
This is a short, concise book that focuses on practical problem solving in data models. For database design students, it serves as supplementary material for a course rather than as complete course material, since it lacks the tools for reinforcing the knowledge such as quizzes, additional exercises, or exams.
Books for Intermediate Readers
Carlos Coronel and Steven Morris
Database Systems: Design, Implementation, and Management
This book offers a look at database design from a business point of view, with clear explanations and illustrations for even those with no prior knowledge of computer systems. It aims to position database design as a part of a broader organization’s data environment strategy.
The authors strike a balance between the theoretical and the practical concepts, presenting key knowledge that employers are looking for today. The 13th edition of this book incorporates recent concepts such as Big Data analytics, NoSQL, Hadoop technologies, among others.
It is important to note that this book is a part of the Cengage learning system, so you need to register for a class to obtain the appendices and the data files used for practice. For this reason, while the content is very good, it is not recommended for those looking to learn on their own.
Sikha Bagui and Richard Earp
Database Design Using Entity-Relationship Diagrams
A step-by-step guide for designers, developers, and students interested in understanding and applying entity-relationship diagrams in practice. This book not only explains the theory of ER diagrams from scratch, but also offers exercises and real-world examples that help you understand and use the diagrams to transform them into relational databases. Through case studies, the authors guide the reader in mastering the principles of database development and of data modeling with specifications and end-user requirements, because there is more to database design than just drawing ER diagrams.
The latest edition of the book includes chapters on enhanced ER diagrams (EER) and reverse mapping techniques. All the concepts in this book are clearly explained, although the examples are not as numerous as an eager reader would like.
Jonathan Eckstein and Bonnie R. Schultz
Introductory Relational Database Design for Business with Microsoft Access
Intended for both university students and working professionals who manage information and reports, this book explains how to create relational databases with Microsoft Access and how to generate reports with SQL. It strikes a balance between mastering a product (MS Access) and providing academic knowledge, so the reader will be in a position to carry out tasks in both areas.
The authors guide the reader through the concepts required to build databases and through the reporting system in Access, including tables, keys, relationships, dependencies, and normalization, among others. They also explain how to turn those concepts into practice of creating a database and, finally, how to create meaningful reports.
The text is accompanied by practical examples and useful exercises to reinforce what you learn. The explanations are clear and concise, and the illustrations and diagrams complement the concepts discussed.
C. J. Date
Database Design and Relational Theory: Normal Forms and All That Jazz
Through the study of normal forms and other theoretical aspects, this book aims to bridge the gap between the theory and practice of database design. Theoretical concepts are explained in a style understandable to anyone faced with the task of creating a database, emphasizing why theory is important.
After reading this book, you will be better prepared to face more academic texts on databases. Any systems professional can use this book as a stepping stone to more rigorous design techniques while designing enduring databases.
The book also covers exotic and little-known normal forms, such as the sixth normal form (6NF), the domain key normal form (DKNF), the essential tuple normal form (ETHNF), the redundancy free normal form (RFNF), and the superkey normal form (SKNF).
Toby J. Teorey, Stephen Buxton, Lowell Fryman, Ralf Hartmut Güting, Terry Halpin, Jan L. Harrington, W.H. Inmon, and others
Database Design: Know It All
An all-in-one compendium that brings together in a single volume, everything you need to know for designing databases. The book includes introductory and advanced topics, covering all design methodologies – from UML techniques and entity-relationship diagrams to conceptual data modeling, XML data storage, and object-oriented databases.
The information provided in each of the chapters is excellent and very useful as reference material, but given the multiplicity of authors, the book lacks a common thread and a single style that unifies all the chapters.
Books for Advanced Readers
Beginning Database Design Solutions
The author of this book is a mathematics and computer science scholar who knows how to convey his enthusiasm for these subjects to his readers. The book is intended for those who share that enthusiasm and want to delve into the theoretical foundations of database design.
Although this book is not for learning how to use specific tools, the readers will understand how to plan and design and how to carry out an implementation process, covering key aspects such as user interaction. Database design is approached in this book from a scientific point of view, supported by set theory and predicate logic. For that reason, you’ll only need paper and a pencil to do most of the exercises in the book. Even so, in the later chapters, the author explains how to build databases with two popular database management products: MS Access 2007 and MySQL.
Toby Teorey, Sam Lightstone, Tom Nadeau, and H.V. Jagadish
Database Modeling and Design: Logical Design
This book is for information systems professionals with experience in databases. It is great for those wanting to learn how to optimize them and master the data design jargon so they can communicate fluently with other professionals in the field. Although the authors present it as an introductory book, it can be difficult to read for those who have no experience with databases.
The chapters are organized to guide you through the world of database design, starting with an introduction to ER diagrams, followed by an introduction to UML, requirements analysis, conceptual design, normalization, logical design, object-oriented design, and the relationship between object-oriented software and relational databases.
The book covers all aspects of database design, including topics such as XML data structures, web technologies, business intelligence, OLAP, data mining, and CASE tools. However, the abundance of topics means that most of them are discussed from a theoretical point of view without the details of the practical application.
Robert J. Muller
Database Design for Smarties: Using UML for Data Modeling
This is a step-by-step guide to using the artifacts of the UML standard (Unified Markup Language) in the construction of a data model, whether it is an implementation of a relational, object-relational, or object-oriented database. The author takes the reader through all stages of the design process, from requirements analysis to the generation of a database schema.
The book explains how to express stakeholder requirements in use cases and actor diagrams, how to translate UML entities into components of a database, and how to implement the final design in today’s major database engines, including Oracle and Microsoft SQL Server.
It should be noted that this is not a book for those who want to get to the final design of a database quickly. To get to that point, you must first go through all the stages of the process and their corresponding UML diagrams.
Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design
This book outlines a strategy for database modeling that combines the strengths of ORM (Object Role Modeling), UML (Unified Markup Language), and ER diagrams.
The author presents the techniques necessary to transform the knowledge of the domain experts into a robust database design adapted for that domain. In addition, he combines conceptual information with practical instructions that allow you to start using ORM effectively in a short time. Supported by examples, exercises, and background information, the book provides a step-by-step walkthrough of building an ORM model based on natural language, then deriving the abstract entity-relationship and UML models.
While the ORM methodology is recommended for beginning designers, the academic language of the book limits itself to expert readers or advanced students of database subjects.
Pro SQL Server Relational Database Design and Implementation: Database Design Delivering Business Results
Louis Davidson and Jessica Moss
Pro SQL Server Relational Database Design and Implementation: Database Design Delivering Business Results
Intended for programmers and database administrators working with SQL Server, this book teaches the latest design features in SQL Server 2016. These features include in-memory online transaction processing (OLTP), support for temporary data, row-level security, durability improvements, and more. For readers unfamiliar with the fundamental concepts of databases, such as the normalization process and the data modeling jargon, the book provides several chapters that allow them to catch up with professional designers.
The later chapters are geared toward database veterans, introducing the most current physical deployment features that SQL Server offers.
The authors emphasize how to get it right when it comes to database design with SQL Server, while laying the foundation for the future use of valuable business information.
Select the Database Design Books for you
If you choose a database design book in line with your level of knowledge – beginner, intermediate or advanced – among the books reviewed here, you will find the knowledge you need, be it to enter the world of database design or to perfect your skills.
Some of the books reviewed are already many years old, but their concepts are still valid, even if the technologies they mention may already be outdated. The good thing about data modeling is that, despite changing technologies, the conceptual models persist, and they only need to be modified when changes occur in the respective domain.