Wednesday, 05 February 2020
autanabp
There are several tables in the Siebel schema, which have extension tables X and XM.
The extension tables are used to store extra information and have the following particularities:
- They do not need an explicit Join between them and their base table;
- In column PAR_ROW_ID of the extension table is always the ROW_ID of its base table;
- In the tables _XM for each inserted record the TYPE, NAME and PAR_ROW_ID have to be unique;
Extension tables can be:
- 1:1
- These types of tables have the suffix _X;
- For each record in the _X table there is a record in the Base table;
- Table S_CONTACT_X is the extended table of S_CONTACT and table S_SRV_REQ_X is the extended table of S_SRV_REQ
- 1:M
- This type of table has the suffix _XM;
- Multiple records can exist in Table _XM for a record in the Base table;
- Table S_CONTACT_XM is the extended table of S_CONTACT and S_SRV_REQ_XM is the extended table of S_SRV_REQ
XM extension tables are used to store various types of information. To “catalog” that information, the attributes of the “TYPE” and “NAME” table are used.
To manage this information, BC’S is usually created according to the type of data that is saved. For example, if you want to save, for a contact information that may have more than a value (the restaurants you like, the schools where you have studied, the brand and model of the mobiles you have / had, …) I create a BC that will force the TYPE to have one of those values and in the NAME the value is secured (name of the restaurant, school,…). Sometimes in the NAME the ROW_ID of the table is usually saved _XM to ensure that the TYPE + NAME + PAR_ROW_ID are unique, saving in another attribute the name of the restaurant, school, …, etc.
