Please use for the latest documentation.

This site is for reference purposes only and may not be accurate for the latest ServiceNow version

Introduction to Managing Data

From Wiki Archive
Jump to: navigation, search
Note: This article applies to Fuji and earlier releases. For more current information, see Data Management at

The ServiceNow Wiki is no longer being updated. Visit for the latest product documentation.


Data in ServiceNow is stored and managed according to a principled structure that administrators can view and configure.

Database Structure

All of the information in the instances is stored in tables, which consist of a series of records. The record in turn holds a series of fields that hold the individual bits of data and can be viewed either as a list or a form.

Tables can be related to each other in the following ways:

  • Extensions: A table can extend another table. The table doing the extending (child class) includes all of the fields of the other table (parent class) and adds its own fields. For instance, the Incident [incident] table has all of the Task [task] table fields (because an incident is a special form of task) and has its own incident-specific tasks. For more information, see Tables and Classes.
  • One-to-Many: Within a table, a field can hold a reference to a record on another table. There are three types of one-to-many relationship fields:
    • Reference Field: allow a user to select a record on a table defined by the reference field. For instance, the Caller field on the Incident table allows the user to select any record on the User table.
    • Glide List: allows a user to select multiple records on a table defined by the glide list. For instance, the Watch list field on the Incident table allows the user to select records on the User table.
    • Document ID Field: allows a user to select a record on any table in the instance. These fields are much less common, but one example is the Document field on the Translated Text [sys_translated_text] table.
  • Many-to-Many: Two tables can have a bi-directional relationship, so that the related records are visible from both tables in a related list. For more information, see Creating a Many-to-Many Relationship.
  • Database Views: Two tables can be joined virtually with Database Views to enable reporting on data that might be stored over more than one table.

Data Management Tools

There are a number of tools that can help manage data within the instance:

  • Schema Map: displays the relationships between tables visually, helping to navigate through the database structure.
  • Data Dictionary Tables: holds information that defines the database and can be accessed for information on the database schema.
  • Table Cleaner: automatically deletes records on certain tables to prevent data growing exponentially.

Schema Map

The Schema Map provides an interface for viewing the relationships between tables. The inter-table relationships it captures include many-to-many relationships, tables that extend other tables, and tables that reference other tables through reference fields.

Data Dictionary Tables

These tables hold important information on the database and its structure:

  • Tables [sys_db_object]: contains a record for each table. (Prior to the Calgary release, contains information on how tables extend one another and is called the Table classes table.)
  • Dictionary Entries [sys_dictionary]: contains additional details for each table and the definition for every column on each table. Each row represents either a column on a table or a table.
  • Field Labels [sys_documentation]: contains the human-readable labels and language information.

For more information, see Data Dictionary Tables.

Table Cleaner

The system automatically deletes records from specific tables after a specific time to deletion. Deleting these records automatically prevents the tables from growing to an unmanageable size. The time before a record is deleted begins on the date and time value in the tracked field.

The Table Cleaner scheduled job runs the table cleaner every hour. To view the list of tables that are auto-cleaned, go to


All records with [MatchField < (current_time - Age in seconds)] are deleted.

The MatchField field represents a Date/Time column in the table that you are trying to clean up.
The Age in seconds field represents a value in seconds.

You can set up multiple table cleaner entries for a particular table. Performance depends on the size of the table and the conditions used. For example, if you use a custom column in a very large table that has no index on, performance is severely degraded. Performance also depends on the number of rows to be deleted.

Several dictionary attributes available with the Calgary release control the behavior of the table cleaner.

Data Management Plugins

Furthermore, there are a few plugins that extend the data management functionality:

Database Rotations Plugin

The Database Rotations plugin mitigates performance issues caused by large tables by breaking up overly-large tables into a series of smaller tables, through two methods:

  • Table Rotation: sets up multiple tables for the same purpose that the platform uses on a rotating basis, deleting old information as it goes.
  • Table Extension: creates new tables for the same purpose as the platform fills old tables.

Many to Many Task Relations Plugin

The Many to Many Task Relations plugin allows administrators to manage the many-to-many relationships between task tables and record the relationship in more detail beyond Parent > Child.

Domain Support Plugin

The Domain Support plugin provides a method for separating an instance into different domains, including partitioning data and securing the domains so that only members of the domain can see the data from their domain. The Data Separation part of the plugin can be implemented separately, if desired.

Importing and Exporting Data

The following tools are available to export data from an instance:

The following tools are available to import data from an instance:

In addition, data can be imported or exported with web services. LDAP data can be accessed with the LDAP integration in the base system. For more information on integrating with other platforms, see Integration Overview.

Configuring Import and Export Properties

You can use the Import Export Properties page to configure import and export properties, starting with the Fuji release. To access the page, navigate to System Properties > Import Export. The page lists properties categorized by either import or export, and by data format such as CSV or XML. The Current Value appears in black if a custom value is set, or in grey if no custom value is set.

Field Normalization

Field Normalization includes two features: normalization and transformation.

  • Normalization forces the ServiceNow platform to convert different forms of the same field value to a single, accepted value automatically. By forcing a field to use a simple, recognizable description for multiple variations of the same thing, normalization can eliminate duplicate records and make searches easier. In addition to reconciling different forms of the same value in fields, normalization can be configured to adjust queries automatically to return normalized results.
  • Transformation enables an administrator to transform raw field input into standardized values that are more meaningful to an organization. An example of a standardized value might be to round RAM size in configuration items to a whole number, such as 4000 MB instead of 4112 MB. Transformations are controlled by parameters and conditions and can be configured to return transformed values in queries.

Managing Data through Scripts

ServiceNow provides a robust platform for managing and manipulating data through scripts. The primary API for querying and manipulating data in tables within an instance is GlideRecord. For more information on scripting in the platform, see Glide Stack.