Can Glide turn Google Sheets into a Relational Database?

Google Sheets isn’t a relational database. However, Glide does have relational database features. If I use Google Sheets as my data source, can Glide then ‘turn it into’ a relational database? If yes, how would I input the data on Google? Just comma seperated?

Correct. Comma separated is one way to do it. In Glide, split the column using a split text column and then related the split text column to another table with matching data.

1 Like

Google Sheets has Vlookup, filter, match… and scripts… plus it has Java… combined with Glide = the most powerful tool !

1 Like

… and QUERY!

1 Like

Just curious, is there a reason you don’t want to use Glide Tables?

I need to be able to automate the creation of columns and rows based off events (using something like Zapier or Make). It seems i can only do that via Google Sheets

And then you will add those columns as elements in Glide later? Just asking because it seems like you will have to do that manually.

Not really… but most likely :wink:

I’m not sure. I haven’t gotten that far into the implementation… I seem to have a peculiar database design/automation need that can’t seem to solve without Google Sheets. Perhaps I just don’t understand database design well enough…

Long story short, I have ideas and I have compatibility between ideas (Y/N).
Every single newly added idea must have compatibility answered going both ways by the admin as data entry. I’m trying to automate the process of creating the questions.

For example:

Table/sheet one with ideas:

Idea 1
Idea 2
Idea 3

Table/sheet two to handle compatibility:

Columns 1 and 2:
Is idea 1 compatible with idea 2? Y/N
Is idea 1 compatible with idea 3? Y/N

Columns 3 and 4:
Is idea 2 compatible with idea 1? Y/N
Is idea 2 compatible with idea 3? Y/N

Columns 5 and 6:
Is idea 3 compatible with idea 1? Y/N
Is idea 3 compatible with idea 2? Y/N

If you have a better idea, I’m all ears

Adding rows is easy, but automating the process of adding columns will become a pain point. For every column that is added to a database, you have to manually maintain the app interface to use that new column.

Specifics regarding your “compatibility” between ideas would be useful, but I think properly configured Relations would allow you to find matching (or compatible) idea rows in the same database.

2 Likes

Or you transform your data into a JSON… and have the freedom of doing whatever you want with it :wink:

Admin adds an idea ‘Judaism’
Admin needs to add data entry for new idea based on all previous ideas:

Is Judaism compatible with Islam?
Is Judaism compatible with Christianity?

On top of that, all previous ideas need to be answered to for the new idea.

Is Islam compatible with Judaism?

Is Christianity compatible with Judaism?

(There are cases where the answer is different depending on which way it goes)

The admin is entering all this data from the backend.

The frontend user sees a simple drop-down that reads:

Is ‘choose idea’ compatible with ‘choose idea’ - ‘answer’

I need to automate the questions based on the event of adding a new idea, otherwise the admin won’t know what questions remain to be answered.

I’m not familiar with JSON. But all this info helps! I’m going to discuss it and review our options with my dev.

1 Like

Ok, so I’ll float a couple ideas:

  • If you use google sheets and you have an automated process on the back end to determine compatibility between ideas, then you can populate a single column with a comma delimited list of compatible ideas. In Glide you would then create a Split Text column which converts that comma delimited list into an array. Using the array, you can create a relation to the compatible ideas.
  • Ruling out a backend process…let’s say you add an idea, and then later add a second idea. With that second idea, you indicate that it’s compatible with the first idea. Then later you add a third idea and indicate that it’s compatible with both the first and second idea. The problem is that the first idea doesn’t know that it’s compatible with the second or third idea, and the second idea doesn’t know it’s compatible with the third idea. You can use the same concept of converting a comma delimited list into an array (assuming that each new idea is given a column of compatible ideas as a comma delimited list). To link all compatible ideas together, you can create two Relation columns. One would link the idea to the array, and the other relation would link the array to the idea. Then create two Lookup columns to retrieve the idea column from each relation. Then use an Append Array column to merge both lookup arrays together into a single array. Using that single combined array, you can create a relation to link the combined array to the idea column. This should give you all compatible ideas for each idea, regardless if previous ideas have know knowledge of newer compatible ideas.
2 Likes