BillMartin
Mega Sage
Mega Sage

When you work within ServiceNow, understanding how tables relate to one another is essential for building efficient, scalable applications. At the heart of the platform's data structure is the concept of parent tables and child tables. These relationships are built on the principle of inheritance, which streamlines development and promotes reusability across modules.

 

This guide moves beyond the theoretical, offering you both a conceptual framework and a hands-on look inside a personal developer instance (PDI) to see this structure in action. You'll understand why this foundational knowledge is key to building reusable, scalable, and reliable structures that make your implementation more productive. By the end, you'll know how to identify these relationships and use them to your advantage.

 

If you find value in this tutorial, consider supporting my work by joining as a member and don't forget to like and subscribe to the channel for more free content.

 

 

 

The Task Table: ServiceNow's Core Parent Table

 

In ServiceNow, the Task table serves as the gold standard for a parent table. It provides a common foundation for many key applications and modules.

 

The primary benefit of this parent-child relationship is reusability. Instead of rebuilding common fields every time you create a new table (like Incident or Change), you establish a baseline feature set on the parent table and then allow multiple child tables to inherit those features.

 

Establishing Traceability and Workflow

 

One of the most crucial elements of any record in ServiceNow is traceability. You need to know who created a record, when it was created, and who made subsequent changes. The Task table provides these baseline fields, which are automatically available to all its descendants.

 

The platform is designed around the ITIL framework, acting as a workflow system where requests often become tasks. When you send a request to a reviewer or an approver, it inherently involves a task. Therefore, almost all core ServiceNow tables inherit from the Task table because of its critical role in process automation and record management.

 

Key Inherited Features

 

The Task table contains components essential for workflow and record management. These components embody industry best practices for a parent table structure.

 

Essential fields inherited from the Task table include:

 

  • Created: Tracks when the record was initially created.
  • Created by: Identifies the user who created the record.
  • Assigned to: Specifies the individual responsible for completing the task.
  • Assignment group: Designates the team responsible for the task.
  • Actual start and Expected start: Used for tracking task timing.

 

When you create a record on a child table, such as the Incident table, you don't need to rebuild these fields. They are inherited automatically, making your implementation efficient and reliable. This structure mirrors concepts from object-oriented programming, where a base class provides attributes that all subclasses automatically possess.

 

Exploring Table Relationships in Your Developer Instance

 

To observe this parent-child relationship in action, you can navigate directly within your personal developer instance (PDI).

 

First, go to the Tables module to look at the table definitions. If you search for the Task table, you'll notice a key detail: it does not extend from any other table. It is the original parent in this hierarchy. As a parent table, it contains the reusable components necessary for its children.

 

Vetting Parent Table Components

 

When you drill down into the Task table's definition and examine its columns, search for fields related to traceability and assignment.

 

For example, when you search for "assigned," you find the Assigned to field. If you search for "start," you see Actual start and Expected start. These components are established here, at the parent level, ready for inheritance.

 

The Incident Table: A Case Study in Inheritance

 

Now, let's switch gears and verify the Incident table. If you navigate to the Incident table definition, you will clearly see that it Extends from the Task table. This confirms the parent-child relationship.

 

The Incident table, being the child, acts as a canvas where you can add unique fields specific to incident management. The beauty here is that you don't have to repeat the fields already provided by the Task table.

 

To prove this theory of inheritance, look at the Incident table's columns. If you try to find the Assigned to field within the Incident table's definition columns, you won't find it. Why? Because it is inherited directly from the Task table. Behind the scenes, the system references the parent.

 

This efficient design means you build reusable, scalable tables without unnecessary duplication of data definitions.

 

Combining Parent and Child Fields on a Single Form

 

While the definitions for fields like Assigned to reside in the Task table, they are seamlessly displayed and utilized on the Incident record form.

 

When you open an Incident record (perhaps by navigating to incident.list and drilling down into a record), the form presents a combined view of both parent and child fields. This integrated view provides a single point of interaction for the user.

 

Identifying the Field Source

 

How can you quickly determine if a field on a child record form comes from the parent table or was created specifically on the child table?

 

You can identify the source of any field using the system dictionary configuration:

 

  1. Right-click the field label on the form (for instance, Assignment Group).
  2. Select Configure Dictionary.
  3. In the field dictionary information, you will see a reference indicating the source table. For Assignment Group, the source will be listed as the Task table. This confirms it is an inherited parent field.

 

Conversely, if an Incident-specific field, such as Category, is checked via the dictionary, the source returns the Incident table. This shows that the field was created uniquely on the child table.

This ability to easily combine and identify fields from multiple systems of record into a single form, often using a no-code approach, is what makes the ServiceNow platform so powerful for data configuration.

 

Visualizing Table Relationships and System Architecture

 

Understanding the parent-child chain is only one piece of the data architecture puzzle. You can visualize the broader relationships between your tables using the system schema viewer.

 

To access this powerful view:

 

  1. Navigate to the Task table definition (or any table you wish to analyze).
  2. Click the "hamburger" menu (three lines or three dots, depending on your version) next to the table definition title.
  3. Select Configure and then Table.
  4. Scroll down and click Schema.

 

The schema map visualizes the network of relationships surrounding your selected table.

 

You can inspect various connections, including:

 

  • Parent-Child Relationships: See which tables extend from the current table and which table the current table extends from (if any).
  • Referencing Tables: Identify tables that point to records on your current table (one-to-many relationships).
  • Reference Tables: See what other tables your current table points to and references.

 

This visualization allows you to see the broad data architecture for any module you are working on. You gain insight into complex relationships, including one-to-many and many-to-many connections, making it easier to plan design changes and maintain data integrity.

 

Summary of Best Practices for Table Implementation

 

To achieve optimal performance and maintainability, always follow key best practices when structuring tables in ServiceNow.

 

The parent table serves as your foundational baseline. It must contain all the essential fields and attributes necessary for record management and traceability, such as who created the record and when. By building these core features into the parent, you ensure consistency.

 

The child table inherits all the properties and fields from the parent table by default. This inheritance promotes reusability, minimizing the need to recreate common fields and maximizing implementation efficiency. You only add fields to the child table that are truly unique to that module.

 

We demonstrated the powerful relationship between the Task table and the Incident table, confirming that the fields present on a form can originate from either the parent or the child table. Knowing how to identify the source of these fields via the system dictionary is a critical skill for any developer or administrator.

 

Focus on building a structure that is usable, scalable, and reliable. Adopt traceability and robust data architecture principles to ensure quality throughout your ServiceNow implementation. 

 

 

Version history
Last update:
2 hours ago
Updated by:
Contributors