"Horizontal" database vs "Vertical" database structure

Hi everyone.

What database structure is more convenient to use, ‘horizontal’ (one thing with a lot of fields) or ‘vertical’ (many things with a few fields)?
Example: I need a database with 5 different letters templates.

  1. “Ask the supplier for quotation”,
  2. “Ask the supplier for the samples”,
  3. “Thank you” letter,
  4. “We are on vacations”,
  5. “Ask for shipping configuration”

With a ‘horizontal’ structure will be very easy to address the data. Just call “Templates”, first item -> “Ask suppliers for quotation” (text). But there will be an issue with adding the 6-th template if needed. Will need to add a new field and upload the database to ‘live’ what rewrites the live database.
On another hand, the ’ vertical structure’ gives the possibility to add as many templates as we want (the thing with “name” and “content”. First letter will be: ‘name’ field -> “Ask supplier for quotation”, ‘content’ field -> text. But then it is an issue with addressing it (I always struggle with that). How to address only one field of particular thing if needed (if there is no RG, Bubble requires it for some data sources) as there can be a few things with the same field. ’ item number’ is not always working because, if creating few things simultaneously, numbers will be random (I created 5 things, one by one in a workflow, and during three runs got three different results). I can put the ‘number’ field to the thing and then :sort, and then pick the ‘item number #’. But I heard that sorting slows down the performance as it performs on the client-side, not the server, especially if there will be 50 templates instead of 5. Also, using ‘item numbers’ as a reference is not always descriptive as you should remember what item has which number.
Is there any other way to address a particular ‘thing’ in the database?