🧙‍♂️ Adalo Database Relationships Explained

There are 3 types of relationship parameters that you can use for your database collections. One-to-many, many-to-one, and many-to-many. Let’s explore how each of them works.

One-to-many relationships are the most common type of relationship. In a one-to-many relationship, a record in one table can be linked to multiple records in another table.

In a many-to-one relationship, multiple records in one table can be linked to a single record in another table.

In a many-to-many relationship, multiple records in one table can be linked to multiple records in another table.

Creating a one-to-many automatically creates the many-to-one relationship on the 2nd collection.
So if you create a one-to-many relationship in the user collection between Posts and Users where a user can have many posts and posts belong to 1 user, it will automatically create the relationship parameter in the posts collection of many-to-one where posts belong to 1 user and a user can have many posts.

Here are some examples of one-to-many relationships:

  • A customer can have multiple orders.
  • An order can have multiple items.
  • A user can have multiple social media posts.
  • A company can have multiple employees.
  • A course can have many lessons.

Here are some examples of many-to-one relationships:

  • Comments belong to a single social media post.
  • Employees can be tied to one company.
  • Companies can have a single owner.
  • Restaurants can be put in a single category.
  • Lessons belong to one course.

Here are some examples of many-to-many relationships:

  • Users can block other users.
  • Users can have multiple interests.
  • Social media posts can have many “liked by” users.
  • Tasks can be assigned to multiple users.
  • Restaurants can be in many cities.

Let’s say you want to create a “support ticket” app where you provide customer support to your customers.

You would have a “Tickets” collection.

This collection would contain the following parameters:
Ticket ID # (Number)
Problem (text)
Description (text)
Creating User (one-to-many, a ticket belongs to 1 user, users can create many tickets)
Ticket Replies (many-to-one, tickets can have many replies, Replies belong to 1 ticket)
Ticket Status (one-to-many, tickets can have 1 status, Statuses can have multiple tickets)
Ticket Category (one-to-many, tickets can have 1 category, Categories can have multiple tickets)
Ticket Images (many-to-one, tickets can have many images, Images belong to 1 ticket)

2 Likes