# Best planning and naming practices for large database

**URL:** https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271
**Category:** Ask for Help
**Created:** [July 10, 2020, 4:10pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271 "2020-07-10T16:10:03Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![S\_C](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/s_c/32/12766_2.png) [@S\_C](https://community.glideapps.com/u/S_C)
#### Post date: [July 10, 2020, 4:10pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271/1 "2020-07-10T16:10:03Z")

</div>

Hello Glide experts!  
I am trying to find out if you have any well-tested tips on planning and naming headers in sheets and glide database.

I have made an app that uses 15 sheets and 15-20 columns in each. It becomes challenging to remember and even read these names when one starts adding relations, templates, lookup columns, etc.  
For instance, relation between product and manufacturer name could be ‘Name-Name Relation’ making it very difficult to understand and read in glide data. So, one could just name these ‘PName-MName’. The part of relation could be clarified by the relation logo (Digressing a bit here: Colored Logos, like the one for user-specific column, from Glide would helpful but I don’t want to request this as a feature from Glide team as they are already overburdened by such requests).Another naming convention I have found helpful is simply naming Row ID as Sheet’s Initial+ID.

What has your experience taught you? Have you made any diagrams or process flow figures? I want to find your experiences, suggestions, and naming conventions so that we can all make better apps.

---

<div class="post-metadata">

### Author: ![S\_C](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/s_c/32/12766_2.png) [@S\_C](https://community.glideapps.com/u/S_C)
#### Post date: [July 10, 2020, 4:13pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271/2 "2020-07-10T16:13:31Z")

</div>

@ThinhDinh, @Jeff_Hager, @Rosewebstudio, @Krivo, @mthakershi ld love to hear from you 🙂

---

<div class="post-metadata">

### Author: ![AyS\_0908](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/ays_0908/32/27349_2.png) [@AyS\_0908](https://community.glideapps.com/u/AyS_0908)
#### Post date: [July 10, 2020, 4:30pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271/3 "2020-07-10T16:30:15Z")

</div>

Hi,

1/ To follow what I do in the DataEditor, I entitled the columns with:

- Relations: “(r\_1) origin column \< [tabname]” ; idem for (r\_2) etc
- Lookups, IfThenElse, Maths, Rollup etc: “(l\_r1) target value”, “(i\_r1) target value”, “(m\_r1) target value”, “(rup\_r1) target value” etc.  
This enables me to know exactly (when mousing-over the title) what relates to which sheets and then wich function uses which relation.

2/ To follow what comes from Glide vs GSheet in GSheet (ex. when raw data, pictures etc are directly entered in the DataEditor), I Glide originated columns with “(g\_) title”

3/ To avoid deleting formula in GSheet, when it uses an array formula, I usually type them in the title using ={“column title”;arrayformula(formula)}

4/ To distinguish the type of data in GSheet, I use different backgrounds colors in the headline (ex. black for originated from Glide, dark blue for columns with formula, light blue for raw data from GSheet)

---

<div class="post-metadata">

### Author: ![spencersRus](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/spencersrus/32/69_2.png) [@spencersRus](https://community.glideapps.com/u/spencersRus)
#### Post date: [July 10, 2020, 4:55pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271/4 "2020-07-10T16:55:20Z")

</div>

I have watched enough of @Robert_Petitto 's videos to know he has a good answer for this!

---

<div class="post-metadata">

### Author: ![S\_C](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/s_c/32/12766_2.png) [@S\_C](https://community.glideapps.com/u/S_C)
#### Post date: [July 10, 2020, 5:18pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271/5 "2020-07-10T17:18:37Z")

</div>

Thanks for responding @AyS_0908. Very nice of you to share.

Interesting approaches. A few thoughts & follow up questions:

1. RELATIONS: How do you differentiate/remember relations on different Glide Data tabs. For example: r\_1 on Products sheet could represent Products to Manufacturer relation whereas r\_2 on Manufacturer sheet could represent Manufacturer to Product relation. When you read these column names across sheets/tabs, doesn’t it get confusing?

2. Nice approach of simply adding a “g\_” prefix to Glide originated columns.

3. What’s the advantage of using “column title” in arrayformula vs manually changing column name with prefix like “A\_”.

4. Smart approach! I’ll be using it from now on.

5. Any preferences on location of columns in Glide data. For instance: I have found it better to keep ID columns and relation columns on left whereas Gsheet raw data columns on right. Do you follow a better practice?

---

<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: [July 10, 2020, 5:26pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271/6 "2020-07-10T17:26:11Z")

</div>

I typically use similar prefixes:

- rel\_emailToUser where email is whatever value is in the current sheet and User is the _name of the “User” TAB to which I’m relating_. I don’t need to say UserEmail because it’s implied in the “emailTo”.

Likewise, I’ll do lookup\_emailFromUser where email is the value I’m looking up from the User tab. For context, I try to always place lookup columns to the right of relation columns.

There are times where I create both multiple and singular relations for the same data for different purposes. I’ll label those as rel\_sing\_emailToUser or rel\_mult\_emailToUser

---

<div class="post-metadata">

### Author: ![S\_C](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/s_c/32/12766_2.png) [@S\_C](https://community.glideapps.com/u/S_C)
#### Post date: [July 10, 2020, 5:33pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271/7 "2020-07-10T17:33:38Z")

</div>

Thanks for sharing @Robert_Petitto. Cool tricks!

Lookup columns right next to its relation makes sense.

Just curious: When does one need single and multiple relation between two columns on same sheet? Can you share an example?

---

<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: [July 10, 2020, 5:55pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271/8 "2020-07-10T17:55:31Z")

</div>

A specific use case is escaping me at the moment, but the next time I use it I’ll tag you in a reply.

---

<div class="post-metadata">

### Author: ![S\_C](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/s_c/32/12766_2.png) [@S\_C](https://community.glideapps.com/u/S_C)
#### Post date: [July 10, 2020, 6:08pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271/9 "2020-07-10T18:08:01Z")

</div>

Much appreciated!

---

<div class="post-metadata">

### Author: ![Krivo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/krivo/32/5363_2.png) [@Krivo](https://community.glideapps.com/u/Krivo)
#### Post date: [July 10, 2020, 6:32pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271/10 "2020-07-10T18:32:19Z")

</div>

@S_C Thanks for including me in an expert group 🙂 But I believe that the people who has already answered are a better source than me, actually. As a business analyst I know I should do some diagrams to line out the information/data model - but I haven’t actually got around to do it.

I do try to use a prefix lie **rel\_** when I relate to another sheet and use different colors in the google sheet columns depending on whether the column includes calculated or inputted values.

---

<div class="post-metadata">

### Author: ![AyS\_0908](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/ays_0908/32/27349_2.png) [@AyS\_0908](https://community.glideapps.com/u/AyS_0908)
#### Post date: [July 10, 2020, 6:50pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271/11 "2020-07-10T18:50:06Z")

</div>

1. I need to think about it!
2. Don’t get the point of the “A\_”. The interest of the column title in arrayformula is to have all key functions in 1st row as often as possible.
3. I prefer ID columns on the left

Another thing is about recurring ‘standard data’ (ex. yes/no ; mrs, mr … ; priority level…): I create a sheet ‘data list’, and in each sheet/column where this type of data is to be entered, I set-up a “data validation”. It enables to:

- ensure that I always comply with the same word for any similar columns
- have always the same sheet for some components (ex.choice component)
- and be able to quickly identify any mis-typing/entry in case it doesn’t match

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [July 10, 2020, 11:53pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271/12 "2020-07-10T23:53:25Z")

</div>

Nothing much to add here as well, like Krivo, I usually have prefixes like **rel\_** , **lookup\_** , **rollup\_** etc when I use Glide-generated columns. For the relations, I usually have them with the format.

rel\_[the column I want to match]\_[the sheet I want to match it to]

e.g: rel\_email\_profiles

I usually name the related columns in different sheets with the same name so I can find them more easily, unless I have to do array columns. Another thing I usually do is not have the tab names too long so I can fit them in the naming for columns.

---

<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: [July 20, 2020, 11:50pm UTC](https://community.glideapps.com/t/best-planning-and-naming-practices-for-large-database/12271/13 "2020-07-20T23:50:54Z")

</div>

I don’t have any hard set rules for naming columns in the google sheet. As long as it makes sense, then I name them whatever. As for glide only columns, I tend to prefix them.

- rel- Relation
- lkup- Lookup
- rlup- Rollup
- mth- Math
- if- If/Then
- tmp- Template
- us- User Specific
- etc.

When I do relations, I tend to name the relation the sheet I’m attaching to, so if I created a relation in Sheet1 to Sheet2, I would name the relation rel-Sheet2. Again there is some wiggle room on this depending on if I have multiple relations. Likewise with Lookups. Sometimes I will name the the column that I’m looking up (lkup-Column6), or depending on the complexity, I’ll name it lkup-Sheet2Column6. I do tend to reshuffle columns around so the relation is next to the column used for the relation and any lookups/rollups are next to the relation. I just try to keep related columns grouped together.

> [@S\_C](#):
>
> Just curious: When does one need single and multiple relation between two columns on same sheet? Can you share an example?

Sometimes I’ll use a multiple relation on the same sheet to link back to the same record. In this case I expect only a single match, but I use the multiple setting so I can use an inline list to display a profile picture, for example, via a tile or card view with the overlays. A single relation wouldn’t let you do that. In fact I really can’t think of a good use for a single relation to the same sheet, unless you were doing some sort of hierarchy where one row could lead to the next row. I rarely use single relations unless I need a single lookup value from another sheet. Another case for a multiple relation back to the same sheet would be to accumulate a total via the Rollup column of all related rows in the same sheet.
