Guidelines for Using the S_PARTY_PER and S_PARTY_REL Tables
The predefined S_PARTY_PER and S_PARTY_REL intersection tables create a many-to-many relationship between party business components, such as Account and Contact. The table you use depends on whether you must or must not enforce access control.
You can use the S_PARTY_PER table to create a many-to-many relationship between two party business components where you must create access control. Records in the S_PARTY_PER table provide data access rights from the parent to the child parties. To maintain a good response time with a query that constrains visibility, you must minimize the number of rows that the S_PARTY_PER table contains. If you create a many-to-many relationship where you do not require access control, such as if you create a recursive many-to-many relationship between a party business component and itself, then it is recommended that you use the S_PARTY_REL table.
For example, you can use the S_PARTY_PER table to create a relationship between the following items:
Access groups and members
Accounts and contacts
Employees and positions
User lists and users
If you must configure tables in the party model, then you must create an extension table from the S_PARTY table. For example, S_CONTACT is an extension table of the S_PARTY table. The S_CONTACT table is an Extension (Siebel) type, so you cannot use it as a base table for an extension table. You must create an extension table and use the S_PARTY table as the base table. To display data from the new extension table, you can create an explicit join that brings data from the new extension table to the business component you are using.
For more information about the party model, see Siebel Security Guide.