Building A Product Catalog and there seems to be limitations with "Has Many"

I’m building a Product Catalog in NocoDB .. .and I’m trying to make sure the architecture is correct..

The Product catalog of of Kitchen and Bath Products

  1. Products Table
  2. Brand Table

3. Collection table

A product can only be 1 brand , and only be part of 1 collection
A collection can only be part of 1 brand
A brand can have multiple products

NOCODB has a “has many” relation ship .. it doesnt have a many to one or a one to many option … so the only viable way was to go in the Brand Table and add a column for Products and set it to “has many" .. and do the same for the collection column in the brand table ..

An then in the collection table I added a product column and set it to “has many”

———————————————-

that seems to be ok but now I wanted to add categories for these products .. . Let’s say a “Product” is a toilet .. .so I added a CATEGORY table and i added a linked field for “Child_categories’ … in the NOCODB artchitecture that’s the way it seems to make sense.. I could not have parent category for each category (see picture)

I want a product to have layers of categories, so grandparent, parent and child ..

So a product would go to –Bathroom Product –> Toilet –> 2 Piece Toilets

the way i have it set up i can only assign it to the grandchild or the youngest child , I guess it’s implied that the parent and grandparent are waht they are

Is there a better way to this ? … should i do a video post instead?

Your current setup is on the right track. You’ve correctly identified that NocoDB automatically creates the inverse relationship — when you set up a “Has-Many” link from Brand → Products, NocoDB automatically creates the corresponding “Belongs-to” link on the Products side.

For your Category hierarchy question:

Your approach of using a self-referential link (Child_Categories linking back to the same Categories table) works, but you’re right that it can feel limiting. Here’s the recommended approach:

Option 1: Self-referential link pointing UP to parent (Recommended)

Instead of “Has Many Children,” flip the direction:

  • In your Categories table, create a Links field called Parent_Category

  • Set it as a Has-Many relationship pointing to the same Categories table

  • This automatically creates a “Belongs-to” field showing each category’s parent

This way, your categories look like:

Category Name Parent_Category
Bathroom Products (empty - top level)
Toilets Bathroom Products
2 Piece Toilets Toilets

Displaying the full path on Products:

Once you have the parent link set up, you can use Lookup fields to pull the parent and grandparent names into your Products table:

  1. Link your Product to its leaf category (e.g., “2 Piece Toilets”)

  2. Add a Lookup field on Products → linked category’s Parent_Category to show “Toilets”

  3. Add another Lookup field to show the grandparent level

This gives you the full hierarchy path displayed on each product while only requiring you to assign products to the most specific category.

Option 2: Explicit category levels (Simpler)

If you’ll always have exactly 3 levels, consider adding three separate link fields directly on Products:

  • Category_L1 → Links to Categories (Bathroom Products)

  • Category_L2 → Links to Categories (Toilets)

  • Category_L3 → Links to Categories (2 Piece Toilets)

This is less normalized but makes filtering and reporting straightforward.

Helpful docs:

Answer from Noco AI Support

thanks for the detailed answer… I will have to take some time to digest this and make sense of it.. i’ll get back to you if i need help .. thanks