Database relations for dummies

Hello everyone, thanks to those who have helped so far using bubble has so far been a great eperience especially for someone with little to no knowledge on doing any of this. I’m literally learning on the fly and everything seams to be fairly easy to figure out… with a bit of time.

I have a question about the database and the relations they have to each other.
I have been creating an app and have found when create a item in the database that is linked to an item in another database that it doesnt create a copy it is directly linked.
This has led me to question most of what im thinking.

So my questions are and there will be more once these are answered and i have time to ponder over them

What are the relationships between tables, can they be copied or just linked together?

When i refer to group [item] is this the same as referring to page[item] if the page has been set to the same table as the group?

Is the current user data a copy and is it retained when the user logs out when the session is finished or is it retained till next time ie if I set current user [item] to 1 will it still be 1 on next log in?

If I have multiple users are they all using the same data or just the same framwork. Can I choose to do either? ie if i sold my product from someone else to use, say in the case of an invoicing system

Thanks in advance for any and all help

Regards Chad

Not sure what you mean by “copied”.

A field in a row (a “thing” in Bubble speak) in table can be :

  • A single value, like a text, a number, yes/no or even an address
  • A list of values, like a list of texts (so available colours…“red”, “orange”, “yellow”)
  • A row from another table, so this Employee is in this Department, where Department is a row on another table
  • A list of rows on another table (so this Department has a list of Employees)

You achieve the last two by setting the field type to be another table’s data type.

If you have set the Group item to be the Page item (by using the “Parent’s item”, then yes. But it doesn’t have to be that way.

That depends on if your user is logged in or not.

If the User is logged in, and you save something to the “current user” then yes, they can close their browser and come back later and the data is still there. If they log in with their mobile phone … same data.

If they are not logged in, then they get a temporary user. They will get recognised if they come back again on the same browser on the same machine. But not if they then come in via their mobile.

A user has their own data, and you can keep this separate if you want. So you write your Searches so you only return rows where “Creator = Current User”.

Hey All,
So I am progressing in my app very well, all credits to bubble as once you start getting used to it, it becomes a very powerful tool.
Thanks everyone for the help. I have another question and thought I would tag it on here as I didn’t want to start a new thread but I couldn’t find an answer elsewhere.

Basically my app is a bit slow. I’m not sure if it’s because I’m still in the development version, because I have a lot of groups on one page(I was hoping to make it native iOS if I can complete it), maybe it has too many search functions or perhaps because I’m really new at any of this I might not have done things efficiently.
I’m on the personal plan a time the moment and this too may have something to do worth it.
When it’s competed it has to run relatively quick as the app will be used as a sales tool in front of customers and the people using it will most likely not be the most patient.
If this is because of my bad “coding” I will need external help, someone to go through the app and I guess modify (fix) my issues that are causing the slowness. Obviously a paid job.
My questions are,
is being on a personal plan or still running in development mode affecting my speed? (From what I’ve read it’s not the case)
Is it better to employ someone now or at the end of the project to go in and clean it up? My concern here is that it would be like someone cleaning my room, I may not be able to find anything afterwards, saying this, my focus is on the usability of the app.
Can someone recommend or would anyone like to look into my app at the correct time and clean it up, of course I would pay the required fees, I would like a quote tho or at least an indication after said person has a look at what it might entail?

I will probably add this to another thread but I also need someone to code an API thingy (call?) that will send information to an external app.

@chad I highly recommend taking the time to review the Performance Q&A thread. Lots of very helpful tips.