Bookshelf Home | Contents | Index | PDF |
Configuring Siebel Business Applications > About Tables and Columns > About Siebel Tables > How an Intersection Table Defines a Many-To-Many RelationshipThis topic describes the intersection table. It includes the following topics:
Overview of an Intersection TableAn intersection table is a table that defines a many-to-many relationship. It includes an intersection between two business components. A many-to-many relationship includes a one-to-many relationship from either direction. For example, a many-to-many relationship exists between Accounts and Contacts. You can view this relationship in the Siebel client:
Siebel CRM can include the two different views in different business objects. The business objects associate the two business components in opposite directions. No database construct directly creates a many-to-many relationship. Instead, the Siebel schema uses two links and an intersection table to create a many-to-many relationship. Figure 8 describes an example of how an intersection table defines a many-to-many relationship. The Type property of an intersection table contains Data (Intersection). You can add custom extension columns to an intersection table. You cannot use custom extension tables to configure an intersection table. For more information, see About Links. How Siebel CRM Creates an Intersection Between TablesAn association is a pair of ROW_ID values, where each value references a row in the base table of a business component. An intersection table contains one row for each association that exists between the row in the base table of one business component and a row in the base table of another business component. The association row in the intersection table stores the ROW_ID values of the row that resides in the base table of each business component. Figure 9 describes how Siebel CRM creates an intersection. The associations in the intersection table serve the Opportunity/Contact and the Contact/Opportunity links and their corresponding views. The figure describes how the set of object definitions and relationships pertain to one of two links. The other link uses the same set of object types but with different relationships. Siebel CRM can display one association in both views. For example, the association between Cynthia Smith and Smith Dry Goods. Explanation of CalloutsSiebel CRM uses the following objects to create an intersection:
The Siebel schema uses the following properties of the link to create a many-to-many relationship. These properties are empty for a link that does not create a many-to-many relationship: How Siebel CRM Creates a Many-To-Many RelationshipFigure 10 describes how Siebel CRM uses properties in two links to create a many-to-many relationship. In this example, the relationship is between opportunities and contacts. Explanation of CalloutsSiebel CRM uses the following objects to create a many-to-many relationship:
Intersection Data in an Intersection TableAn intersection table contains two foreign key columns that create a relationship between the records of two business components. It contains intersection data columns, which are columns that contain data that are specific to the intersection. For example, the S_OPTY_CON table defines the many-to-many relationship that exists between opportunities and contacts. It includes several data columns in addition to OPTY_ID and PER_ID. These data columns contain information about the combination of a opportunity and a contact. Some of these columns include the following:
Some intersection data columns are useful to one parent-child relationship, some are useful to the other parent-child relationship, and some are useful to both of these relationships. For example:
How Siebel CRM Uses an Implicit Join With an Intersection TableTo access an intersection data column, the Siebel schema uses a business component field that uses a join. An implicit join exists for any intersection table. It includes the same name as the intersection table. It exists for the child business component. If Siebel CRM creates a link that uses an intersection table, then it creates the implicit join. For example:
The Siebel schema includes the join. This join is not visible in the Object Explorer. This situation is similar to the implicit join that exists for a one-to-one extension table. You can use an implicit join to update data. |
Configuring Siebel Business Applications | Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices. | |