When designing a new solution using Dataverse it is recommended to leverage as many standard tables as possible and not to create new tables. Below we are going to discuss some of the most common standard tables from the default solution and their purpose and how they could and should be leveraged in your custom solution.
Types of Tables
There are three types of tables in Dataverse: Standard, Managed, and Custom. Standard tables, also known as out-of-the-box tables that are included with a Dataverse environment. Managed tables are imported into an environment as part of a managed solution and cannot be customized. Standard tables, with the customizable flag set, and custom tables can be customized for fit your purpose.
- Customer Tables (Account, Contact, Customer Address) – These tables are used throughout all the solutions available from Microsoft such as ERP and CRM tools. The Contact’s table is also used to connect external authentication such as B2C, or any of the many social platforms (Facebook, LinkedIn, Twitter, etc.). External authentication is specifically used with PowerApps Portals.
- Activity Tables – An activity is like a calendar event with start time, end time, due date, and duration among other properties. Activities may involve many parties such as contacts or users.
- Annotation (Notes) Table – Who doesn’t need notes? This table can also be used to store attachments.
- User table – This is your internal employees and is used to assign ownership of records.
If you are planning on a new Dataverse solution it is well worth it to analyze which tables out of the box that are already available and to reuse as many as possible. However, there are a few caveats to reusing the existing tables. In many cases you may not need all the properties (fields) of the existing tables and the forms and views may also have too many of the fields that are not applicable to your solution. Similarly, to custom tables you are likely to need additional views and forms.