Say I have an app where several different companies can login.
In the app they can make different forms with different questions and different field types.
Would it make sense that each company get it own table for each of their forms so they have full controle? or would it just end up being to complicated ?
Too complicated. You should have a data table for Companies and then a table for each type of form (multiple form tables). Then the form data tables would have a field of type Company that points to the appropriate Record in the Company table. It would be wise to Search this forum for database because others have posted links to resources they found useful when learning about databases. As your whole app sits on your database it is important to get your structure right. A key skill.