Hi @lenoradgray,
Responding to 2 and 3:
Yes, it is possible to establish foreign key constraints between tables and quite intuitive to do so.
Regarding performance, it really depends on the apps you will be building and the amount of data that you will be querying. Here's a good post around this topic.
From my experience, the retool database would start having perfromance issues with queries returning a couple of hundred lines. I reached out to the support team and they said, among other things:
..keep in mind that Retool DB is a free-tier serverless DB product, and the performance will reflect that. It is useful for prototyping and building an MVP but is not currently recommended if you are looking for high performance. I expect you can significantly improve query performance by using your own cloud hosted DB with a powerful instance...
After that I moved to Supabase and I saw a big improvement in performance compared to the retool database.