Tables in Dataverse

Recently, Microsoft has changed some technical terminology in Dataverse, also formally known as Common Data Services. The table is a terminology that has now been changed. It was earlier known as Entity. Tables are the main components of Dataverse and Dynamics 365 CE. In this article, I will explain the types of tables in different perspective.


What are tables in the Dataverse ?

Dataverse tables are no different from tables in a database, it is a combination of rows and columns with business and logical behavior. Each instance of a databases database includes a base set of tables that provide a structure for the data that is commonly used by business applications.

As the Microsoft's doc:

A table is a logical structure containing rows and columns that represents a set of data.

 As per customization, Tables can define three types :

  • Standard Table
  • Activity Table
  • Virtual Table

Standard Table:

Standard Tables are custom tables where you can store data and add it to navigation in model-driven apps. Most of the tables you create will be standard tables. You cannot change the type of table after creating an table.

Activity Table:

Activity tables are special because they can inherit standard activity attributes from the activity tables and it also maintains the activity record when you create a record. Activities are special in that they all inherit fields from a common parent table called Activity (internally called ActivityPointer). This particular inheritance is supported and used only on activity tables. When you create a task, email, or any other activity type table. You are creating a row in an ActivityPointer table as well as a specific task or email table.

ActivityPointer itself is not customizable, but we can modify each inherited activity.

Virtual Table:

A virtual table is a custom table in Dataverse that has columns containing data from an external data source. Virtual tables appear in your app to users as regular table rows, but contain data that is sourced from an external database dynamically at runtime, such as an Azure SQL Database. Rows based on virtual tables are available in all clients including custom clients developed using the Dataverse web services.

Microsoft defines different categories of table according to record ownership:

  • Organization level
  • User or Team Ownership
When you create a custom table the ownership options are User or team or Organization owned. Once a table is created, the ownership type can't be changed.

Notice that there are a few Dataverse system tables that are similar to standard tables but have a different type of ownership from organization and user or team ownership:

None. Some system tables don’t have an owner, such as the Privilege table.

Business Unit. A few system tables are business-owned. These include Business Unit, Calendar, Team, and Security Role tables.






According to business and licensing, Microsoft divides table in the below categories: 

  • Standard
  • Complex
  • Restricted 
  • Custom

Standard:

The base set of tables that are created for every instance of a Dataverse database. we can add more columns to any table, but you cannot delete any column from a standard, Premium or restricted table.

Complex :

Tables that contain complex, , Server-side business logic, including real time workflows or plugins.

  • Some of table that are used in Dynamics 365 applications are complex.
  • To use complex tables, users are required to have a P2 or Dynamics 365 license.

Restricted:

Certain tables that are tired to Dynamics 365 application foundations require each user to have the corresponding license for that dynamics 365 application if they want to create, update or delete rows within the restricted tables.

Custom: 

Such tables are created for a specific business application. All license users of Dataverse can access custom tables if they are assigned proper security permission  to do so

According to Form information, Microsoft defines in below categories :

A table defines information that you want to track in the form of records, which typically include properties such as company name, location, products, email, and phone.

Tables appear in Power Apps as one of three different types, which indicate how the table came into the environment, whether the table is managed or unmanaged, and whether it can be customized.

Standard: Several standard tables, also known as out-of-box tables, are included with a Dataverse environment. Account, business unit, contact, task, and user tables are examples of standard tables in Dataverse. Most of the standard tables included with Dataverse can be customized. Tables that are imported as part of a managed solution and set as customizable also appear as standard tables. Any user with appropriate privileges can customize these tables where the table property has customizable set to true.

Managed: Are tables that aren’t customizable and have been imported into the environment as part of a managed solution.

Custom: Custom tables are unmanaged tables that are either imported from an unmanaged solution or are new tables created directly in the Dataverse environment. Any user with appropriate privileges can fully customize these tables.

Comments

Popular posts from this blog

Exploring the Differences: Managed vs. Unmanaged Solutions in Dynamics CRM/Dataverse

PCF vs. Web Resources: Choosing the Right Extensibility Tool for Dataverse

Effective Strategies for Debugging Plugins in Dynamics CRM