Extended tables share both fields and records. Administrators and application developers
can only extend tables during table creation.
Administrators and application developers typically extend tables to create a set of related
records that share information. For example, in the base system, the Task and the Configuration
Item tables have multiple extensions:
Table 1. Sample extended tables in the base system
||Sample related tables extended from original table
- Incident [incident]
- Problem [problem]
- Change Request [change_request]
|Configuration Item [cmdb_ci]
- Application [cmdb_ci_appl]
- Computer [cmdb_ci_computer]
- Database [cmdb_ci_database]
When you extend a table, the system:
- Links the new table to the extending table.
- Creates system fields in the new table.
A table that extends another table is called a child class, and the table it
extends is the parent class. A table can be both a parent and child class both
extending and providing extensions for other tables. A parent class that is not an extension of
another table is called a base class.
The dictionary entry for a child class only contains the fields unique to the child class. The
fields inherited from the parent class belong to the dictionary entry for the parent class. A
child class record has values in both the child class and all its parent classes. The full child
class record is actually a collection of values from multiple tables that all have the same
sys_id value. The system tracks record changes by the sys_id value and applies any change to all
classes that have a record with the matching sys_id value. For example, if you delete an incident
record, the system also deletes the corresponding record in the task table.
Administrators can use these tools to see the relationships between classes.
- Schema map
- System dictionary
- Tables module