Let’s say I have a list of Artist / Track / Link and I want to store it in Airtable. I know that would be easy with a 3 column table in some base.
But let’s say I wanted to add notes to some of the rows. For example, for some rows I might want to add extra information about the track. This would be for some rows but not all rows.
I know I could use a table with 4 columns, like this:
Track | Artist | Link | Notes
But if most of the Notes fields are going to be empty that seems like an odd/inefficient way to do this.
What is the best way to do this?
Ha! I wasn’t trying to motivate you there, I was trying to stop you from overthinking the solution which you already figured out.
Now THIS is some of my motivational speaking technique in action:
Perhaps you can create a magic question about your database!
I’ll watch your vid later…with a gin & tonic to take off the edge.
Returning to the problem…I contend I was not overthinking. I was merely offering what really amounts to a hack by way of illustrating I thought about the problem. I am sure there is someone who knows Airtable who could offer the “correct” way to do what I describe, rather than adding a mostly empty column to a table.
Go ahead and add the extra column that will be empty for most records.
One of the beauties of Airtable is that it is easy to change the configuration of the base if you later decide on a different system.
While having “rivers” of empty cells is often an indication that you should examine the base schema, it does not always indicate a problem.
If you think that was discourteous you need to get out more often. It was sincere and honest probing, looking for the best solution.
You seem very easily triggered. Lapsing into a defensive and sarcastic safespace might make sense to you but it will not work with the overwhelming majority of people, a lot of whom I imagine could use some motivation to get their lives on track. This advice comes with no charge to you.
I’ll take a stab at this. :winking_face: But from a different perspective.
Imagine a database architecture where there are never “empty” fields. In fact, an underlying storage architecture that physically does not have any fields in a record unless there is data in those fields. This is the nature of a NoSQL database; it uses no storage or resources to store and manage null values, and null values are treated very different than empty strings and numbers. While the client may render such non-existent fields as if they exist, they really do not.
If you query a given record using the Airtable API, you will quickly learn that fields that have no values are simply not in the result set.
Do you still think it’s inefficient?
To be clear, this happens when you query Airtable’s REST API. When you query for a record using the Scripting or Custom Apps API, null field values are included as nulls.
The absence of the field in the query result from the REST API is not proof one way or another of how the underlying data is stored.
I suggest yet another point of view. Instead of thinking of what is the most efficient method of storing the data, what method of arranging the data best fits your workflows?
If having a column in the same table makes data entry quick and convenient, despite the large number of empty cells, do it.
If seeing lots of empty cells makes you uncomfortable, hide the field so you only see it in expanded view. Or put the data in a linked table if you don’t mind the extra work in dealing with a linked table. (However, if having lots of empty cells in Airtable bothers you, does having blank columns and rows in a spreadsheet also bother you?)