The variety of ways to learn database design is enormous. Books, courses, blogs, forums, videos… the list goes on. Our recommendations will help you choose the option that best suits your needs
The number of database design learning options is enormous, but there is also a great variety in terms of the money, time, and effort that you must dedicate to them. There are free learning options and very expensive ones; there are some that only take a couple of hours of your time and others that require months of study. And the options that require you to spend more money, more effort or more time are not necessarily the best.
To choose the best learning path, you should start by knowing what you need to learn.
Before You Start Learning
If you are thinking about learning database design, start by determining what knowledge you should have. This usually includes:
- Knowledge of computers and, preferably, programming.
- Basic knowledge of mathematics, logic, and statistics.
- Database concepts: If you’ve created spreadsheets with more than one sheet and have created lookup formulas involving different sheets, you already have an idea.
For more information on what you need to learn to prepare for database design, read about the skills and knowledge database designers need.
If you do not have the required basic knowledge, don’t worry. That will not prevent you from learning database design. But you will have to opt for a course, degree, or book that includes all of the above knowledge areas.
Next, take the time to answer the following questions. They’ll guide you towards the most suitable learning option:
- How much money am I willing to invest in learning database design?
- How much time (daily/weekly/monthly) can I dedicate to learning database design?
- How soon do I want to have all the database design knowledge?
- Do I have any database knowledge, or do I need to start from scratch?
Depending on how you answer the above questions, you have different options for learning database design:
- If you are not willing to invest large sums in learning but you have unlimited time to learn and already have the necessary foundation (computer science, programming, mathematics), then you don’t need much to learn database design. You can either buy a specific book on database design and read it at your own pace, or learn from blogs, forums, or online videos. Below you will find a series of recommendations of books and online database design resources.
- If you intend to learn database design within a certain time frame – for example, if your goal is to be working as a database designer within six months – then you will need to take a course that imposes a pace of study according to your learning goals. This requires committing a number of hours per week and the price of the course you choose. Below are some specific database design courses that you can complete in a relatively short time – if you have the discipline to attend classes and do your homework.
- If you have a set time frame to achieve your learning goals but have no computing, math, or programming skills, then you’ll need a degree course that teaches you all of these basic skills in addition to database design. A career will require a longer period of time (at least 1 year), a higher dedication of hours per week, and also a higher cost.
- If you already have some knowledge of database design that you want to expand, a workshop, boot camp, or masterclass that only requires you to dedicate a few days might be your best choice. The cost is very variable, depending who teaches them and what they cover. The attraction of these courses is often to hear firsthand the teachings of a database guru, so they can be quite expensive. Below you can find some of these types of database design learning resources.
Whichever learning path you choose, keep in mind that continuous learning and improvement are among the most important tips for staying relevant as a data modeler.
Before starting with database design, it's helpful to learn from experts. This interview with Vertabelo’s CEO, Jarosław Błąd, offers great insights into the tool's development and its role in database education.
Books on Database Design
Learning database design through books is the preferred option for those who enjoy reading and learning at their own pace without having to listen to a teacher, watch a video, or even use a computer.
The books listed below are the most recommended for learning database design. Some are for beginners without any knowledge of databases, while others are for those who know something about the subject and are looking to deepen their knowledge.
Database Design for Mere Mortals
In this book, author Michael J. Hernandez presents his own design methodology that’s designed to achieve effective databases in the simplest way. The book clearly explains how to create structured, reliable, and flexible database designs that work with the latest practices, applications and engines.
In this book, you will find a wealth of useful tips along with a detailed explanation of the reason for each tip. As its title indicates, the book is aimed at “mere mortals” who are looking to design a database without having to resort to an expert.
This book is easy to read and includes real-world examples. But it is not best suited for seasoned designers, as it does not go deeply enough into such topics as primary keys, normal forms, and other ways to ensure data integrity.
Beginning Database Design Solutions
This book is intended for those who want to get into the theoretical basics of database design. While the reader will not learn how to use specific tools, they will understand how to plan a design and carry out the implementation process. It also covers key aspects like user interaction.
Rod Stephens, the book’s author, shows how to approach database design from a scientific point of view based on set theory and predicate logic. For most of the exercises, paper and pencil are the only tools needed.
Beginning Database Design Solutions includes plenty of examples and exercises that teach you how to create databases and challenge you to apply your knowledge and solve problems. The exercises will lead you to think through scenarios, which will ultimately help you improve your skills as a database designer.
Six-Step Relational Database Design
This book is an ideal read for learning relational database design. Its real-world case studies cover everything from capturing customer requirements to implementing a database. It explains essential design theory, database modeling, and implementation.
Fidel A. Captain, the author of the book, bridges the gap between database theory, modeling, and implementation through a simple six-step process. Through an entertaining and readable narrative, Captain guides the reader through these steps, which begin with creating a crow’s-foot relational model and culminate with the implementation of the model in any database management system.
The book is a valuable resource for those who need concise, methodical information that will open up the world of relational database design. You can complement your reading of the book with a short course given by the author (see below).
Online Learning Resources on Database Design
The web offers you virtually endless free database design resources in the form of blogs, forums, and videos. The problem with these resources is that you can’t know beforehand if the information they provide is of good quality. This is unlike books or courses, which are backed by the name of an author or an educational institution. It is for that reason I’ve curated a list of free online learning resources that you can trust.
Vertabelo Blog
Vertabelo offers hundreds of database design resources and articles. In their posts, you can find virtually any database design topic you can imagine. Each topic is covered in depth, with clear and concise explanations, examples, and ER diagrams that you can view, analyze, copy, and even edit without leaving your browser via Vertabelo's online diagram editor.
The blog contents are organized by category, including design fundamentals, design patterns, ER diagram examples, database internals, and many more. You can also search for any particular topic you need. Just enter vertabelo.com
in your browser’s search box, followed by the search terms you want. For example, if you want to find information about ternary relationships, you can search for vertabelo.com ternary relationships
. As a result, you’ll see a list of articles in the Vertabelo blog that deal with ternary relationships.
You can search the Vertabelo blog for any term you want.
In addition to finding information on specific database design topics, you can also find a detailed guide to database schema design. It leads you by the hand through the necessary steps to create a database design. Once you have the fundamental knowledge, you can improve it by exploring this selection of 13 blog articles on database design best practices and tips.
Other database design tools also offer learning resources that you can leverage to become a database designer. Read about the top 7 database schema design tools to see what each one offers.
In addition to learning what you need to do to be a good database designer, you also need to learn the things you should not do. For that, I suggest you read about the 9 most common database design errors and some common ER diagram mistakes.
Database Design Topics in Stack Overflow
Stack Overflow is a question-and-answer site focused on programming topics. The site allows you to review questions asked by other users and read the answers. To browse database design topics, you can use the database-design
tag search, which will return tens of thousands of results. To better focus the search, you can add arbitrary search text after the database-design
tag in Stack Overflow’s search bar, as in the following examples:
A search for the tag [database-design] followed by the word “basics” retrieves many database design questions and answers that cover precisely the basics.
This will show you questions that other users have asked about basic database design issues along with their answers.
Searching for the [database-design] tag followed by the words “first steps” yields quite a few resources for taking your first steps into database design.
The “first steps” keyword will also show quite a few questions and answers covering database design topics for beginners.
Database Design Basics
This Microsoft Support site offers a complete (and free) online introduction to database design. It guides the reader through the database design process. It starts with defining what good database design is and continues to refining your design and taking the final design to the third normal form.
The examples are based on the Northwind database that usually appears in Microsoft tutorials and can be installed in SQL Server. With these examples you can see how to create tables, how to establish different types of relationships between tables, and how to set primary keys.
Database Design Process
Neso Academy offers a complete video course on database design. It covers the database design process, from requirements gathering and analysis to the creation of the physical database model. The video illustrates the process by building a sample database application.
This video is part of a comprehensive series of 27 videos on Database Management Systems that Neso Academy offers for free on YouTube. These videos cover topics ranging from an introduction to database management systems to relational algebra.
Database Design in DBMS Tutorial
This web page condenses in 5 minutes of reading (or less) the main concepts you need to understand to learn database design from scratch, summarized in Guru99's characteristic style. The page also serves as a starting point for further learning, linking to related pages where you can drill down on advanced concepts, such as normalization and ER modeling.
Database Design Courses on Coursera
The number of courses that include database design topics is gigantic and can be overwhelming. Fortunately, there are sites dedicated to concentrating all available courses and facilitating access to them through search tools.
One of the most popular is Coursera, which gathers MOOCs (Massive Open Online Courses) from highly recognized universities around the world. All courses available through Coursera offer pre-recorded video lectures that you can attend at a time that is convenient for you.
Searching Coursera
You can easily find about 600 courses on the subject database design on the Coursera platform. Obviously, it is not practical to go through all these courses one by one to choose the most suitable. Luckily, Coursera offers several ways to refine the search by different criteria.
The first criterion is the topic or orientation of the course. There are many options that you can filter out, such as “Arts and Humanities” or “Health”. You can also limit the search to courses that are oriented towards “Computer Science” or “Data Science”.
There are more criteria to filter the search: language, duration, type of learning program, and skills taught (curiously, there’s no filter by price range). Finally, by choosing only courses for beginners that last between 1 and 3 months and that include the Database Design skill, the options are reduced to only 8 courses, such as the two mentioned below:
Process Data from Dirty to Clean
This course is offered by Google as the fourth course in its Data Analytics certificate. While database design is not the focus of the whole course, the topic is included as part of the tools needed to achieve information integrity for data cleansing and transformation.
Introduction to Databases for Back-End Development
Offered by Meta, this course is oriented (as its name suggests) to back-end developers. The goal is to help them acquire the knowledge they need about how databases work and how to interact with them. It provides an introduction to databases and explores the different ways they can be used to store and manage information.
Refining the Search
Note that the 8 courses that emerged from the previously mentioned search were filtered by a duration between 1 and 3 months and oriented to beginners. If you are looking for courses with other durations or oriented to experts, you have to choose the appropriate options in the filter selection.
The same Coursera course search page offers answers to frequently asked questions about your search topic. This provides you with synthetic information that will serve as an introduction to the topic and will give you elements to better choose the most suitable course for your needs. When searching for database design courses, for example, the Coursera page offers brief answers to questions like:
- What is database design?
- Why is it important to learn about database design?
- What careers use database design?
- How can taking online courses help me learn database design?
When exploring Coursera’s offer of educational resources on database design, you can see that it ranges from short courses (which last between 1 and 4 weeks) to degree programs that require 4 years of study. At the same time, the site offers affordable and extremely short learning alternatives - less than 2 hours long - which it calls guided projects. These guided projects give you very specific skills, such as creating basic relational databases in SQL Server or creating a database with the MySQL Workbench modeling tool.
Database Design Courses on Udemy
If you are looking for flexible, unstructured and non-traditional learning alternatives and you are not concerned about obtaining a degree from an accredited institution, then Udemy’s offerings are likely to appeal to you.
Udemy is an online learning platform that brings together courses on many topics in a variety of formats. This freedom of formats and content means that the educational material on offer includes not only traditional courses, but also teaching options with different dynamics, such as masterclasses, workshops and bootcamps.
The courses are taught by expert instructors, on dates and times determined by them, with limited vacancies. Prices vary widely, and depend on factors such as the length of the course, the level of content, and the reputation of the instructor.
If Coursera’s offer of database design learning options is big, Udemy’s is simply overwhelming. Searching for “database design” without applying any other filter yields no less than 10,000 results. Fortunately, the course offerings can be browsed by category. There is a specific category of database design in which only 75 courses are included (at the time of writing). Most of them are only a few hours long and their prices are affordable.
The following are some examples of the best database design courses that can be found on Udemy.
Database Design Introduction
This course aims to familiarize the student with the techniques necessary to create and standardize a relational database. Throughout 20 lectures, expert instructors guide students to avoid making mistakes that could extend their projects’ completion time. The content is developed for students who are taking their first steps in database design as well as for those who have been designing databases for some time but need help to make their designs more effective.
Six-Step Relational Database Design
The contents of this one-and-a-half hour course are basically the same as the contents of the book of the same name, mentioned above. Fidel Captain, course instructor and author of the book, describes the database design process in six simple, precise, and easy-to-follow steps. Captain uses video lectures to present the material and incorporates case studies to reinforce the six steps. The course is supplemented with a wealth of downloadable material that you can read to better understand each step of the process.
Basic Relational Database Design
This course is designed especially for beginner and intermediate developers looking to design and build efficient databases for their applications. It is divided into 21 lectures and offers 1.5 hours of on-demand video. The classes provide an introduction to databases and their design. They explain how to build a database the right way, normalize a schema, and use the different types of relationships, among other concepts. The instructor is a software engineer with experience in the design and development of successful software products.
You Can Learn Database Design!
I hope this tour through the best alternatives for learning database design will be useful for you. The important thing – besides choosing a learning path and following it – is not thinking that you won’t need any more education after taking a course or reading a book.
As with any other discipline in the world of computing, database design is constantly evolving. You must stay informed about new technologies and new concepts, study them, learn them, and discover their potential to incorporate them into your day-to-day life as a database designer. Database design really is continuous learning, and these resources will help you get started, grow your skills, and stay up to date.