# How to best model Hierarchical Types?

**URL:** <https://community.fibery.io/t/how-to-best-model-hierarchical-types/1907>\
**Category:** Get Help\
**Tags:** flexible-domain\
**Created:** [August 11, 2021, 3:39pm UTC](https://community.fibery.io/t/how-to-best-model-hierarchical-types/1907 "2021-08-11T15:39:18Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [August 11, 2021, 4:29pm UTC](https://community.fibery.io/t/how-to-best-model-hierarchical-types/1907/4 "2021-08-11T16:29:23Z")

</div>

The goal is to make the schema/DB structure as clean as possible; i.e., no duplication of fields, and no extraneous fields. (see [Database Normalization](https://en.wikipedia.org/wiki/Database_normalization))

So e.g.:

- all of the different project types need “tasks”, so “tasks” should belong to a generic “parent” Project type.
- only “website projects” need a URL (brochure projects do not), so the URL field belongs in the “website project” type, not in the generic Project type.

---

_[View the full topic](https://community.fibery.io/t/how-to-best-model-hierarchical-types/1907)._
