Some questions after completing Rapid developer course

I have finished the Rapid developer crash course, the one for non developers and the one for the experienced developer.We just started using Mendix at work, I came from .NET background, I'm not professional, but I found big parts of mendix are easy to understand and I saw how it will save me a lot of time, but I don't feel safe to adopt Mendix if I don't fully understand some important parts, I found it hard to understand some part of User roles managements, and some parts of setting up security and data retrieval specially using XPath, how to specify in deep details how to give access to subset of users access on subset of an entity that belongs to them. I searched Udemy for some lessons but I the only one I found is very week. Answering any question from below will help. 1-Can anyone help me with any resources to fully understand these two topics? whether from Mendix or any other sites, books, videos...etc. are mendix intermediate,advanced, and expert level courses will help? Or they are for advanced topics and will not help in understanding basics? 2-Even though in the tutorial we didn't create an ID attribute for all entities we created, but in the debugger I noticed that this attribute seems to be auto-created by Mendix, so I assume that whenever we create an association between two entities, let's say between Employee entity and Department entity, we don't need to specify the primary key and foriegn key at all, because Mendix will guess that by itself, right? 3- in the above example, we associated the two entities without creating a Department attribute in Employee entity as a foriegn key, whenever I update an employee record and change his department, where does Mendix save this depratment that has been associated to this particular employee? is it saved in what so called "Link table" ? does this table contain a record for example for Employee with ID 123 and department with ID 87? 4-where are users accounts saved? in what table? If I want to create a page for all accounts in system, from where to fetch them? the accounts that we associated with Employee entity. 5-I’m used to SQL way of relating tables where I create an ID column as a foreign key in the other table, can I still use the same way in Mendix that goes along with creating pages,microflow retriev objects, reports, APIs?
1 answers

Hey Mohammad,
It is very good to see someone so excited, and asking questions :),
Now for your queries,

1. The intermediate questions are based on the knowledge of Rapid curse,
But comparatively, intermediate will provide you with a deep and better understanding of
these topics and will help you to know the concepts in depth,
You can follow the intermediate and advanced learning paths to understand them better.

2. It is the default action for Mendix to create IDs for their reference,
You can see the built-in database, see, you will notice that for every object there's a
Unique Object ID associated with it.
And for associations, as soon as you create an association between two objects
Mendix itself assigns foreign and Primary keys in the table it stores.

3. The table will store the data of the employee along with the foreign key of the
department it is associated with, as soon as you update the employee's department,
it will automatically update the foreign key itself.

4. The users are stored in the System.User object, if you want to see all
the users in the app,
You can just put a menu item in the navigation tab and on-click show a page,
And set it to show the " Account Overview" page. it will start showing, all the
accounts in your application.

5. Yes, Mendix also uses Relational database tables,
If you want to view the tables,

Run the application

go to console -> more options-> start built-in Server

You can refer to the following image for reference,


Let me know if you have more questions,

Hope it helps!!