# Best practice for creating relations

**URL:** <https://community.glideapps.com/t/best-practice-for-creating-relations/81603>\
**Category:** Ask for Help\
**Created:** [April 28, 2025, 7:07pm UTC](https://community.glideapps.com/t/best-practice-for-creating-relations/81603 "2025-04-28T19:07:24Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ryanp](https://avatars.discourse-cdn.com/v4/letter/r/7ea924/32.png) [@ryanp](https://community.glideapps.com/u/ryanp)\
**Post date:** [April 28, 2025, 7:07pm UTC](https://community.glideapps.com/t/best-practice-for-creating-relations/81603/1 "2025-04-28T19:07:24Z")

</div>

if im creating a relation should i store a text value or a unique id for reference?

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [April 28, 2025, 7:12pm UTC](https://community.glideapps.com/t/best-practice-for-creating-relations/81603/2 "2025-04-28T19:12:34Z")

</div>

ID’s don’t typically change. Text values can.

If a value can potentially change (for example spelling or slight modification to the text value), then relations can break when the value is changed.

Take a person’s name for example. If you use a name, you not only risk multiple people having the same name, but you also have a bit of a mess if someone gets married and changes their name. If you use an ID, that ID will always stay the same no matter what.

---

<div class="post-metadata">

**Author:** ![HeartwoodTreeCo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/heartwoodtreeco/32/8150_2.png) [@HeartwoodTreeCo](https://community.glideapps.com/u/HeartwoodTreeCo)\
**Post date:** [April 30, 2025, 5:49pm UTC](https://community.glideapps.com/t/best-practice-for-creating-relations/81603/3 "2025-04-30T17:49:14Z")

</div>

I totally agree with Jeff as a general rule, and about unique IDs in particular.😉

However, I have found that sometimes it’s worth the risk of things changing to relate on text values instead of IDs. When the choices are limited, like a pick list for example, it saves lookup columns, keeps things a little simpler to work with because the data tables show the actual value, and I suspect it might be faster. It’s also handy when integrating using Zapier or Make because you can just send a value like “Completed” without having to find and use the ID for that choice.

In the rare cases I have decided to change a value, it’s possible to update an entire column at once using copy-paste.

I would never try to relate to a text column that is typed in by users, only ones that use a choice component or some other way to limit the possibilities.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [April 30, 2025, 6:15pm UTC](https://community.glideapps.com/t/best-practice-for-creating-relations/81603/4 "2025-04-30T18:15:25Z")

</div>

I always use UUID (row ID). However, at times I have to also redundantly add basic column to my child table due to GBT limitations in case relation→lookup from parent (or vise versa) fails.

---

<div class="post-metadata">

**Author:** ![nathanaelb](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nathanaelb/32/43079_2.png) [@nathanaelb](https://community.glideapps.com/u/nathanaelb)\
**Post date:** [April 30, 2025, 8:56pm UTC](https://community.glideapps.com/t/best-practice-for-creating-relations/81603/5 "2025-04-30T20:56:10Z")

</div>

I only create relations based on row IDs.

Row IDs can be difficult to read and hard to work with in visibility and filtering conditions. In some cases in can be helpful to create an “Human-readable Row ID” which will be absolutely unique and that you will never edit. I learnt this from Mark at @V88.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [May 2, 2025, 11:38am UTC](https://community.glideapps.com/t/best-practice-for-creating-relations/81603/6 "2025-05-02T11:38:34Z")

</div>

> [@nathanaelb](#):
>
> In some cases in can be helpful to create an “Human-readable Row ID” which will be absolutely unique and that you will never edit. I learnt this from Mark at @V88.

Is there an explainer for this concept?
