A common question pops up each time I discuss databases with developers: “What are the different out-of-the-box database tables that Pega provides, and what is the significance of each one?”
It’s an important question, especially when you need to think of designing your data modelling. There are a few important out-of-the-box tables to consider, and they each have their own significance.
Generally, the Pega Platform database holds the rules, data instances, work items, history, and other concrete objects from the internal classes of Pega Platform.
There are four categories that carry significant value.
1. Assignment tables
Three items mainly fall under the Assignment tables category.
- pc_assign_workbasket: This table holds assignments in work queues and instances of the Assign-Workbasket class.
- pc_assign_worklist: This table holds assignments on worklists (Assign-Worklist class).
- pr_assign: This table holds external assignments (Assign-External class), which use the directed web access feature and assignments of all other types. Assignments in the Assign-Corr and Assign-Service classes are also stored as rows in the pr_assign table.
2. Data Object Tables
Seven key tables fall under this category.
- pr_operators: This table contains rows that correspond to instances of the Data-Admin-Operator-ID class.
- pi_data_connect: This table is associated with the Data-Admin-Connect- class. Instances of the classes derived from this class support service listeners and related interface data.
- pr_data_admin: This table holds instances of classes derived from the Data-Admin- class, excluding those who are explicitly mapped to other tables.
- pc_data_uniqueid: This table corresponds to the Data-UniqueID class. It contains a single row for each work item ID format in use. It records the most recently assigned work item ID of that format.
- pc_data_workattach: Attachments to work items are instances of concrete classes derived from the Data-WorkAttach- class and linked to this table.
- Pr4_base: This table holds the instances of three foundation classes, Data-Admin-DB-Table ; Data-Admin-DB-Name; Data-Admin-DB-ClassGroup.
- pr_data_file: Data-Content-Image class is associated with the table.
3. History tables
- pc_history_work: This table contains all classes derived from the History-Work- class.
- pr4_history_rule: This tables contains instances for various rule related works like Restore, Recover, and detailed history.
4. Case tables
- pc_work: This table saves the case instances of concrete classes derived from the Work- base class.
Apart from the ones mentioned above, there are a few other categories of tables to keep in mind.
Link Tables: This type of table stores information about paired object instances. In the Pega Platform database, the names of link tables start with the values pc_link or pr_link.
Log table: This table stores instances of Log- classes.
Index Table: Most Pega Platform DB tables that support indexes have table names that start with pr_index or pc_index and fall under this category.
NOTE: Tables that contain rows for Rule-Declare-Index are different from database indexes defined by SQL, which are maintained within the database by database software.
Overall, these are the key tables that Pega Developers should know about. If you have any further queries please visit the Pega Product Support Community and drop your questions there!