CMDB & Relationships
CMDB Overview
The Configuration Management Database (CMDB) is the central repository for tracking IT assets, their attributes, and how they relate to each other. It is not a separate system — it is simply a collection of tables within ServiceNow's database.
The Base CI Table
cmdb_ci
The root base table for all Configuration Items. Every CI class in ServiceNow extends cmdb_ci, either directly or through an intermediate parent class.
Contains common fields: name, sys_class_name, asset_tag, serial_number, manufacturer, install_status, etc.
CI vs. Asset
CIs track operational/technical details (what is it, how does it relate to other things). Assets track financial/contractual details (cost, ownership, depreciation). They can be linked but serve different purposes.
Asset table: alm_asset. A server can be both a CI (cmdb_ci_server) and an asset (alm_hardware).
CMDB = Tables
The CMDB is not a separate system or database. It is a logical grouping of tables in the ServiceNow platform. The cmdb_ci table and all its child tables form the CMDB.
Navigate to: Configuration > Base Items or type cmdb_ci.list in filter navigator.
Key CI Classes
| Table Name | What It Represents | Common Use |
|---|---|---|
cmdb_ci |
Base CI — root of all CI classes | Generic CIs; parent of entire hierarchy |
cmdb_ci_hardware |
Physical hardware (extends cmdb_ci) | Physical devices; parent of computer, network gear |
cmdb_ci_computer |
Computers — workstations, laptops, servers | End-user devices and server equipment |
cmdb_ci_server |
Servers specifically (extends cmdb_ci_computer) | Tracking server infrastructure |
cmdb_ci_appl |
Software applications | Application CIs linked to servers/services |
cmdb_ci_service |
Business services | IT services that users consume; top of dependency map |
cmdb_ci_network_adapter |
Network interface cards / adapters | Discovered automatically; linked to computer CIs |
cmdb_ci_ip_address |
IP address records | Network addressing; linked to network adapters |
cmdb_ci_[type]. When you see a table name starting with cmdb_ci_, you know it is a CI class in the CMDB hierarchy. The sys_class_name field on any CI record tells you exactly which table (class) that record belongs to.
CI Class Hierarchy
ServiceNow implements CI classification using table inheritance. Each CI class is a table that extends a parent table, inheriting all parent fields while adding its own. This creates a deep, organized hierarchy for every type of IT asset.
Core Inheritance Chain
cmdb_ci ← Root base CI table (all CIs)
└── cmdb_ci_hardware ← Physical hardware
└── cmdb_ci_computer ← Computers (desktops, laptops, servers)
└── cmdb_ci_server ← Servers specifically
cmdb_ci
└── cmdb_ci_appl ← Software applications
cmdb_ci
└── cmdb_ci_service ← Business / IT services
sys_class_name — The CI's True Identity
Because all CI records are stored across extended tables, the sys_class_name field is how ServiceNow (and the platform) knows what type of CI a record actually is. This field is set automatically when a CI is created.
| Field | Purpose | Example Value |
|---|---|---|
sys_class_name |
Identifies the actual table/class of the CI record | cmdb_ci_server |
name |
Human-readable CI name | PROD-WEB-01 |
install_status |
Lifecycle state of the CI | Installed, In Maintenance, Retired |
operational_status |
Current operational state | Operational, Non-Operational |
CI Class Manager
The CI Class Manager is a visual tool within ServiceNow that lets administrators browse and manage the CI class hierarchy. Navigate to it via: Configuration > CI Class Manager.
Browse Hierarchy
View the full tree of CI classes — expand any node to see which tables extend it. Useful for understanding what attributes each class inherits.
Create CI Classes
Administrators can define custom CI classes by extending an existing CI table. The new table inherits all parent fields automatically.
Manage Attributes
Add, modify, or remove attributes (fields) on CI classes directly from the CI Class Manager without going to Studio or the table editor.
cmdb_ci_server extends cmdb_ci_computer, querying cmdb_ci_computer.list returns both computer AND server records (servers are a type of computer). This is ServiceNow table inheritance at work — parent queries include child table records by default.
CI Relationships
Relationships define how CIs connect to and depend on each other. They are the backbone of dependency mapping, impact analysis, and service modeling. Without relationships, the CMDB is just a list — with them, it becomes a dynamic map of your IT infrastructure.
The Relationship Table
cmdb_rel_ci — this table stores every relationship between CIs. Each row in cmdb_rel_ci represents one relationship between two CIs and references a relationship type from cmdb_rel_type.
| Table | Purpose | Key Fields |
|---|---|---|
cmdb_rel_ci |
Stores actual CI-to-CI relationships | parent (CI), child (CI), type (rel type) |
cmdb_rel_type |
Defines available relationship types | name (parent label), child_descriptor (child label) |
Relationship Direction: Parent → Child
Every relationship in ServiceNow is directional. It goes from a parent CI to a child CI, and the relationship type provides two labels — one describing it from the parent's perspective and one from the child's perspective. These are called the type and the complement type.
Relationship: Parent CI ──[type]──→ Child CI
↑
[complement type] (read from child's perspective)
Example:
Web Server ──[Depends on]──→ Database Server
Database Server ──[Used by]──→ Web Server (complement view)
Common Relationship Types
| Type (Parent Label) | Complement (Child Label) | Example Use Case |
|---|---|---|
| Depends on | Used by | App depends on database; most common relationship type |
| Hosted on | Hosts | Virtual machine hosted on a physical server |
| Runs on | Runs | Application runs on a server |
| Contains | Contained by | Rack contains servers; cluster contains nodes |
| Connects to | Connected from | Switch connects to router; network topology |
| Owned by | Owns | Server owned by a department |
type::complement) is how ServiceNow displays bidirectional relationships. Know that "Depends on" is the parent-to-child direction and "Used by" is the child-to-parent (complement) view.
CI Relationship Form
Relationships can be added and viewed directly from the CI record via the Relationships tab (or related list) at the bottom of any CI form. You can also navigate to cmdb_rel_ci.list to see all relationships in the system.
Adding Relationships
Open the CI record → scroll to the Relationships tab → click New. Choose the child CI and the relationship type. The complement relationship is automatically recorded in the opposite direction.
Viewing Relationships
The Relationships tab shows both directions: CIs that this CI depends on, and CIs that depend on this CI. The Dependency Views application provides a visual map.
Service Mapping & Discovery
ServiceNow provides two major automated tools for populating and maintaining the CMDB: Discovery (finds individual assets on the network) and Service Mapping (maps end-to-end business service dependencies).
Discovery
Discovery is a ServiceNow application that automatically scans your network, identifies assets, and creates or updates CI records in the CMDB without manual data entry.
How Discovery Works
Discovery scans IP ranges or subnets, connects to discovered devices (via SNMP, SSH, WMI), gathers inventory data, and then creates or updates CI records in the CMDB automatically.
MID Server (Required)
Discovery requires a Management, Instrumentation, and Discovery (MID) Server — a Java application installed on your network that acts as a proxy between the ServiceNow instance and your internal network assets.
The MID Server handles the actual network scanning and communicates results back to the instance.
Discovery Status Table
Each Discovery run is tracked in the discovery_status table. You can monitor progress, view results, and review errors from this table.
Navigate to: Discovery > Discovery Status
What Discovery Populates
- Servers (
cmdb_ci_server) — hardware specs, OS, serial numbers - Network devices — switches, routers, load balancers
- Installed software (
cmdb_ci_appl) — applications discovered on servers - Network adapters and IP addresses — automatically linked to their parent CIs
- Relationships — "Runs on" and "Hosted on" relationships created automatically
Service Mapping
While Discovery finds individual assets, Service Mapping traces the path from a business service down through all its underlying infrastructure components, building a complete dependency map.
| Aspect | Discovery | Service Mapping |
|---|---|---|
| What it finds | Individual network assets (servers, devices, apps) | End-to-end dependencies for a business service |
| Starting point | IP range / subnet scan | Business service entry point (URL, process, port) |
| Result in CMDB | CI records for discovered assets | CI records + full relationship chain for the service |
| License required | ITOM Discovery | ITOM Visibility (separate, additional license) |
| MID Server needed | Yes | Yes |
Business Service CI (cmdb_ci_service)
A business service is a special CI class (cmdb_ci_service) that represents a service delivered to users — such as "Email Service," "ERP Application," or "VPN Access." Business services sit at the top of the dependency hierarchy and aggregate the health of all their underlying CIs.
Service Dependency View
The Dependency Views application provides a visual, interactive map of all CIs related to a business service. Navigate from any CI or service record to see upstream and downstream dependencies as a diagram.
Impact Analysis
When a CI fails or goes into maintenance, ServiceNow can trace upward through the relationship chain to identify which business services are affected — enabling rapid impact communication.
CMDB Health
A CMDB is only useful if its data is accurate, complete, and current. ServiceNow provides a suite of tools under CMDB Health to measure and improve data quality.
The Three C's of CMDB Health
Completeness
Are all required fields populated on CI records? Completeness measures how many CIs have all their mandatory attributes filled in. A CI with an empty serial_number or missing managed_by scores low on completeness.
Compliance
Do CI records follow defined standards and policies? Compliance checks that CIs conform to the rules set by your CMDB governance policies — for example, every server must have a specific set of fields populated.
Correctness
Is the data accurate and up to date? Correctness checks whether CI data matches reality — for example, detecting stale CIs that haven't been rediscovered recently or have conflicting attribute values from different sources.
Duplicate CIs & Identification Rules (IRE)
One of the most common CMDB health problems is duplicate CI records — the same physical or logical asset having multiple CI records in the CMDB, often caused by multiple data sources (Discovery, manual entry, integrations) creating separate records.
| Concept | What It Does | Where Configured |
|---|---|---|
| Identification Rules (IRE) | Define how ServiceNow determines if an incoming CI matches an existing record — prevents duplicate creation before it happens | CMDB > CI Identifiers |
| Reconciliation Engine | Manages data from multiple sources — defines which source "wins" when conflicting data exists for the same CI attribute | CMDB > Data Sources |
| Duplicate CI Remediation | Identifies already-existing duplicate CIs and provides tools to merge or remove them | CMDB Health > Remediations |
serial_number, host_name, IP address, and MAC address. If a match is found, the existing CI is updated rather than a new one being created.
CMDB Health Dashboard
The CMDB Health dashboard provides an at-a-glance view of your CMDB data quality. Navigate to: CMDB > CMDB Health Dashboard. It shows overall scores for completeness, compliance, and correctness — along with drill-down capabilities to identify which specific CI classes and records have issues.
Configuration Items in ITSM
The CMDB is not just a standalone inventory — it is deeply integrated with ServiceNow's ITSM processes. CI records are linked to incidents, changes, problems, and other records to provide context, enable impact analysis, and support decision-making.
The "Configuration Item" Field on Task Records
Many task-based tables in ServiceNow — including Incident, Change Request, and Problem — include a Configuration item field (internally: cmdb_ci). This is a reference field pointing to the CI that is related to or affected by the task.
| ITSM Table | How CIs Are Used | Benefit |
|---|---|---|
Incident (incident) |
Link the incident to the failing CI (e.g., "PROD-WEB-01 is down"). Set via the Configuration item field on the incident form. | Enables incident trend analysis by CI; shows open incidents on CI record |
Change Request (change_request) |
Specify which CIs are being changed. The Affected CIs related list captures all impacted CIs. | Impact analysis — shows what else depends on the CI being changed |
Problem (problem) |
Link the problem to the root-cause CI. Helps identify recurring incidents on the same CI. | Root cause analysis; track known errors against specific CIs |
Request Item (sc_req_item) |
Request items can reference CIs when requesting changes to existing infrastructure. | Connects service requests to the CMDB for tracking |
CI Record — Related Lists
Opening a CI record and scrolling to the bottom reveals related lists that show the CI's ITSM activity at a glance. These related lists pull from ITSM tables filtered by the CI's sys_id.
Incidents
All open and historical incidents where this CI was identified as the affected configuration item. Useful for identifying problem-prone CIs.
Changes
All change requests that affect this CI, both past and upcoming. Critical for change impact awareness and avoiding conflicting maintenance windows.
Relationships
All defined CI relationships — both parent (this CI depends on) and child (other CIs depend on this one) directions are shown.
Problems
Open and resolved problems associated with this CI. Helps identify chronic or systemic issues tied to a specific asset.
cmdb_ci) on the incident form. This enables automatic relationship-based impact assessment.
Key Tables Summary
The following tables are the most important to know for the CSA exam in the context of CMDB. You should be able to identify each table by name and describe its purpose.
| Table Name | Purpose | Navigate To |
|---|---|---|
cmdb_ci |
Base CI table — root of all CI classes; all CIs ultimately extend this table | cmdb_ci.list or Configuration > Base Items |
cmdb_rel_ci |
CI Relationships — stores every directional relationship between two CI records | cmdb_rel_ci.list |
cmdb_rel_type |
Relationship type definitions — defines available relationship types and their complement labels | cmdb_rel_type.list |
cmdb_ci_service |
Business service CIs — represents IT/business services that users consume | Configuration > Business Services or cmdb_ci_service.list |
cmdb_ci_server |
Server CIs — represents physical and virtual servers in the infrastructure | cmdb_ci_server.list |
cmdb_ci_computer |
Computer CIs — parent of server; includes workstations, laptops, desktops | cmdb_ci_computer.list |
cmdb_ci_appl |
Application CIs — software applications discovered or manually added | cmdb_ci_appl.list |
discovery_status |
Discovery job tracking — status, progress, and results of each Discovery run | Discovery > Discovery Status |
[table_name].list in the filter navigator. For example, type cmdb_rel_ci.list and press Enter to see all CI relationships. This technique works for any table in ServiceNow.
Key Exam Facts & Common Traps
This section consolidates the most frequently tested CMDB concepts and common wrong-answer traps on the CSA exam. Study these carefully — they are high-probability exam questions.
Depends on::Used by represents both directions of the same relationship.
sys_class_name field tells you exactly which class (table) that record belongs to. This field is automatically populated by the platform. Do not confuse it with name (the human-readable CI name) or asset_tag.
- Discovery (with MID Server) scans the network → creates
cmdb_ci_server,cmdb_ci_applrecords - IRE checks for duplicates → updates existing CIs instead of creating new ones
- Relationships (
cmdb_rel_ci) are created linking apps to servers, VMs to hosts, etc. - Service Mapping (ITOM Visibility) maps business services → builds
cmdb_ci_servicedependency chains - Incidents / Changes reference CIs via the Configuration item field
- CMDB Health dashboard monitors completeness, compliance, correctness of all CI data