---
sourceDocument: Brazil ServiceNow AI Platform Administration
sourceDocumentLink: https://www.servicenow.com/docs/r/platform-administration

 Release :

    - brazil

ft:locale :

    - en-US

ft:publication_title :

    - Brazil ServiceNow AI Platform Administration

ft:clusterId :

    - platadm

bundleId :

    - platadm

workflow :

    - Platform


---

# Work with database views

# Working with database views for reporting {#ariaid-title1}

Release version: Brazil  
Updated September 10, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Working with database views for reporting

Database views in ServiceNow define table joins specifically for reporting purposes, enabling you to combine data from multiple tables---such as Incident, Metric Definition, and Metric Instance---into a single view for comprehensive metric reporting.
These views simplify report creation by consolidating data sources and are provided through the Database View and Database Views for Service Management plugins, covering most metric reporting needs without requiring new view definitions.
Show full answer Show less  

## Key Features

* **Access Control:** Database view access is controlled by ACLs on the views themselves if they exist; otherwise, ACLs from underlying tables apply. View ACLs override table-level ACLs by design.
* **Performance Considerations:** Performance impacts increase with the number of joined tables and records. Optimize database view performance by ensuring 'where' clauses use indexed fields.
* **No Licensing Impact:** Database views are not treated as custom tables, so they do not affect licensing costs.
* **Limitations:**
  * Cannot be created on tables participating in table rotation.
  * Data cannot be edited through the view output.
  * Database views cannot be used as data preservers in clone requests.
  * Application scope restrictions apply when referencing tables that extend sysmetadata.
* **ACL Configuration:** You do not need to create field-level ACLs on views; existing field ACLs on underlying tables are evaluated. A system property (glide.security.expander.view.legacy) controls whether underlying table ACLs are considered or ignored in favor of view ACLs.
* **Reserved Words:** Avoid using MySQL reserved words in database view definitions to prevent performance issues.
* **Enhanced Reporting:** You can add function fields to database views to display calculated results and manage complex queries using conjunctions and disjunctions appropriately.
* **Base System Views:** Several useful database views come pre-installed with the core plugins to support common reporting scenarios.

## Practical Benefits for ServiceNow Customers

By leveraging database views, you can create more powerful and flexible reports that draw on multiple tables without the need to build and maintain custom tables. This approach streamlines reporting on key metrics, respects your existing security model, and minimizes impact on system licensing. Understanding the limitations and performance considerations helps you design efficient views that meet your reporting requirements while maintaining system integrity and security.  
A database view defines table joins for reporting purposes.

For example, a database view can join the Incident table to the Metric Definition and Metric
Instance tables. This view can be used to report on incident metrics and may include fields from
any of these three tables.

Several useful database views are installed with the Database View plugin and the Database
Views for Service Management plugin. These database views cover most metric reporting needs and
greatly reduce the need to define new ones.  
Any user who can create a report can use database views as the report source. Access control follows this hierarchy:

1. If ACLs exist on the database view itself, those ACLs are evaluated and take precedence.
2. If no database view ACLs exist, the system honors ACLs from the underlying tables.
{#c_DatabaseViews__ol_ims_4lx_n3c}By design, database view ACLs override table-level ACLs.  
Note:  
* The accumulated impact on performance grows as the number of tables that are included in the view and the number of records that those tables contain increases. To maximize the performance of the database view, ensure that the 'where' clauses that are defined in the database view are based on indexed fields.
* A database view is not treated like a custom table, so there is no licensing impact.
* Database view tables are not included in FTP exports.
* Database views evaluate the ACLs of the parent table of a table included in the database view.
{#c_DatabaseViews__ul_nd5_qwm_cqb}

## Limitations

* Database views cannot be created on tables that participate in table rotation.
* It is not possible to edit data in the database view output.
* Database view tables cannot be added as a data preserver in clone requests.
* You can reference a table or database view from a different application scope in a Table Name field. However, if the field belongs to a table that extends sys_metadata, the table or database view must belong to the same application scope as that table.

## ACLs and database views

You don't need to create ACLs on fields in the view. If field-level ACLs exist, the system evaluates them.

To require that read ACLs be added to the database views, set the glide.security.expander.view.legacy property to true. On upgraded instances, add this system property and set it to
true.

When glide.security.expander.view.legacy is true, underlying table ACLs are ignored. When the property is false (the default), the underlying table ACLs are used
if there are no database view ACLs.

You can still create additional ACLs on the database views. These ACLs are evaluated last and are always honored.

## Database view reserved words {#c_DatabaseViews__section_h5v_43w_x1b}

Using the terms may cause unintended or undesirable performance. For more information, see the
[MySQL reserved words document](https://dev.mysql.com/doc/refman/5.5/en/keywords.html).
* **[Joining tables using database views](https://www.servicenow.com/docs/1n9HH7Kyn9egHOVodeeskA)**   
  Join tables into a single view and then create a report based on that view.
* **[Displaying function results in a database view](https://www.servicenow.com/docs/Sz0gNPjy107GugPRvHdN1g)**   
  Enhance the display of a database view by adding a function field to the output to display function results.
* **[Using disjunctions in complex queries](https://www.servicenow.com/docs/72cTQivnysXKdRsX4VpV8A)**   
  ServiceNow performs conjunction (AND) statements before disjunction (OR) statements in a query.
* **[Database views in the base system](https://www.servicenow.com/docs/tvJQS3oReyRnnu4P2Q3cYg)**   
  Certain views are included in the base system with the Database Views and Database Views for Service Management plugins.

