The standard relationship between two objects is 1:N. So there is a parent and several child objects, but the opposite is not possible: a child can not have more than one parent.
To be able to erase this parenthood and allow the N:N, an intermediate object must be created.
This intermediate object is called “junction” and is a child object that will be related to these two parents with two 1:N relationships. It therefore makes it possible to establish a Many-to-Many relationship.
For example, the records of the Application object include records that are present on both the Post object and the Candidate object:
- A Post may be related to several Candidates (1:N)
- A Candidate may be related to several Posts (1:N)
The Application object is the junction object that relates a candidate with a post. (N:N)