Please use docs.servicenow.com 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
| Note: This article applies to Fuji and earlier releases. For more current information, see Data Management at http://docs.servicenow.com
The ServiceNow Wiki is no longer being updated. Visit http://docs.servicenow.com for the latest product documentation.
- 1 Overview
- 2 Database Structure
- 3 Data Management Tools
- 4 Data Management Plugins
- 5 Importing and Exporting Data
- 6 Field Normalization
- 7 Managing Data through Scripts
- 8 Enhancements
Data in ServiceNow is stored and managed according to a principled structure that administrators can view and configure.
- The data is stored in database tables and records.
- Various tools exist to manage this data.
- Various plugins provide additional functionality.
- Data import and export simplifies managing large sets of data through import maps and a number of exportable formats.
- Field normalization makes records more readable and prevents duplication of data.
- Scripting support allows for advanced customizations and automation of data management.
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.
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.
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.
Data Management Plugins
Furthermore, there are a few plugins that extend the data management functionality:
- Data Archiving plugin: provides the ability to archive records to minimize performance issues.
- Database Rotations plugin: provides tools for managing large tables to minimize performance issues.
- Discovery plugin: provides the ability to auto-populate the CMDB with data about hardware, software, and networks.
- Domain Support plugin: provides the ability to separate an instance into different distinct domains.
- Many to Many Task Relations plugin: provides the ability to define many-to-many relationships between task tables.
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:
- Manually exporting from a record list.
- Exporting data on a schedule with scheduled reports.
- Exporting data with a URL parameter.
- Exporting data with a .NET application.
The following tools are available to import data from an instance:
- Manually importing from a record list.
- Importing data with import sets.
- Accepting external data onto the ECC queue.
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 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.
- You can configure import and export properties using a graphical interface.