Database Management and Platform Security · Topic 1 of 5
Data Schema, Tables and Fields
ServiceNow data schema for the CSA exam: tables, fields, table extension, the task table, reference fields, dot-walking, the dictionary and Schema Map.
- 4 min
- Tables hold records (rows); fields are columns defined in the dictionary.
- Child tables inherit all parent fields; Incident, Problem and Change Request extend Task.
- A reference field stores the sys_id of a record in another table.
What it is
The data schema is the structure of the instance database: which tables exist, which fields each table has, and how tables relate. Every record you see, such as an incident, a user or a server, is a row in a table. Every piece of information on it is a field, which is a column.
An administrator mostly works with the schema through System Definition > Tables, where each table and its fields are defined in the dictionary.
How it works
Tables and extension
A table can extend another table. The child table inherits every field of the parent and adds its own. Records of the child class are stored with the parent table, and the class field sys_class_name says which class each record belongs to.
The best known parent is the Task table. Incident, Problem, Change Request and Request all extend Task, so they share fields such as Number, State, Assigned to and Short description. A list of Task shows all of those record types together.
Other base tables to recognize are User (sys_user), Group (sys_user_group) and the Configuration Item table (cmdb_ci). Extension is why a change to a parent table's field shows up on all its children.
Field types and the dictionary
Each field has a type that controls what it stores and how it displays.
| Type | Use |
|---|---|
| String | Free text up to a set length |
| Choice | A value picked from a list of choices |
| Reference | A link to a record in another table |
| True/False | A checkbox |
| Date/Time | A timestamp |
| Journal Input | Work notes and comments that keep history |
| Glide List | A list of references to several records in one table |
The dictionary holds the definition of each field: its name, label, type, maximum length, default value, mandatory setting and more. Open it from the field's context menu on a form (Configure Dictionary) or through the table definition.
A dictionary override lets a child table change an inherited field for itself only. For example, Incident can make an inherited field mandatory without changing it on Problem or Change Request.
Reference fields and relationships
A reference field stores the unique ID of a record in another table and shows a readable name. Caller on an incident points to a user record. This is how one-to-many relationships are built: many incidents can point to one caller.
Every record has a 32-character unique ID called the sys_id. The platform adds system fields to every table automatically, such as created by, created on, updated by, updated on and update count.
Dot-walking follows reference fields to reach data on a related record, for example caller_id.department from an incident. Dot-walking is available in condition builders, list columns and scripts.
Related lists on a form show records that point back at the one you are viewing. A many-to-many relationship needs a third table that holds a reference to each side.
Seeing the structure
Schema Map shows a table, its parents and the tables it references or that reference it, as a diagram. Use it when you need to understand how tables connect before you change anything.
A table must be marked extensible before another table can extend it.
How the exam asks about this
- "Incident, Problem and Change share Number, State and Assigned to." They extend the Task table.
- "An administrator needs the caller's department shown in an incident list." Dot-walk through the Caller reference field.
- "One table needs a mandatory field that its parent does not." Use a dictionary override.
What to remember for the exam
- Tables hold records (rows); fields are columns defined in the dictionary.
- Child tables inherit all parent fields; Incident, Problem and Change Request extend Task.
- A reference field stores the sys_id of a record in another table.
- A dictionary override changes an inherited field for one child table only.
- Schema Map is the visual tool to see how tables relate.
- Journal fields keep a history of entries; choice fields use a list of values.
Do not add a field to a parent table to solve a need that only one child has. It appears on every table that extends it.
Common mistakes
Treating a reference as a copy. A reference field points at the record, it does not copy the data. If the referenced user's name changes, the incident shows the new name.
Choosing a choice field when a reference is needed. A choice list is a fixed set of values on that field. If the values are records with their own details, such as users or locations, use a reference.
Confusing a dictionary override with a new field. An override changes how an inherited field behaves on the child. A new field adds a column that did not exist before.
Check yourself
Which table do Incident, Problem and Change Request extend?
The Task table, so they share fields such as Number, State and Assigned to.
What does a reference field store?
The sys_id of a record in another table, which the form displays as a readable name.
How can a child table make an inherited field mandatory without affecting its parent?
Create a dictionary override for that field on the child table.
Topic 1 of 5 in Database Management and Platform Security
Test yourself on Database Management and Platform Security
The full ServiceNow CSA question bank has 600 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by ServiceNow. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.