Very common thing, people get confuse why such type of naming convention oracle have used. Here is note for some of them:
- _ALL : Table holds all the information about different operating units. Multi-Org environment. You can also set the client_info to specific operating unit to see the data specific to that operating unit only.
- _TL are tables corresponding to another table with the same name minus the _TL. These tables provide multiple language support. For each item in the table without _TL there can be many rows in the _TL table, but all with different values in the LANGUAGE column.
- _B these are the BASE tables.
They are very important and the data is stored in the table with all validations.
It is supposed that these table will always contain the perfect format data.
If anything happens to the BASE table data, then it is a data corruption issue.
- _F these are date tracked tables, which occur in HR and Payroll. For these there are two date columns EFFECTIVE_START_DATE and EFFECTIVE_END_DATE which together with the PK identifies a row uniquely. The date intervals cannot overlap. Many think they are Secured data. Guess someone from Oracle confirms.
- _V tables are the views created on base tables
- _VL are views for multi language tables which combines the row of the base table with the corresponding row of the _TL table where the LANGUAGE = USERENV('LANG').
- _S are sequences, used for finding new values for the primary key of a table.
- _A are Audit Shadow Tables
- _AVN and _ACN are Audit Shadow Views (when data was changed, and with what values