Power Platform Dataverse
Published: 2024-06-26 22:58:18

## **Dataverse**

## What is Dataverse
Dataverse is cloud base data platform for Microsoft Platform that is secure, scalable and globally available. It store data in the form of tables for apps. Tables are the building block of Dataverse.

## Diagram 


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jezj0dvlz9vl3d002vwu.PNG)

**Tables Properties** 
**Name:** You can give any name to the table such as Person, Animal and Student etc.
**Column:** Column are used to store data of specific data type.
**Row:** A Specific record in your data. 
**Relationship:** You can create relationship (link) between tables such as a relationship between Student and Teacher.
**Key:** Key is used to create relationship between tables. The Primary Key should be unique.
**Forms:** Forms are used to take data from the users in the Model-driven app.
**View:** View are used to show records to the users in the Model-driven app.
**Charts:** Charts are used to show visualization of the records.
**Dashboard:** Dashboard aggregate and display records in  the different charts and filtered data.
Business Rules: Logic that is applied to column 
**Command:** Customizable button shown in the command bar of  Model-driven apps.

## Diagram 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnudivu0jz3dh2uexfg9.PNG)


## Types of Tables in Dataverse
**Standard Tables** 
These tables are pre-defined included with Dataverse. They are common across different businesses and organizations. 
**Custom Tables**
The Tables created for specific business requirements are called Custom Table. These tables can be created from scratch or customize Standard Tables 
**Virtual Tables**
 The Table which retrieve data from external sources is called virtual Table. Virtual table is used for real-time integration from external data sources. 
**Restricted Tables**
These Tables have restrictions on how it can be customized and used. 
**Activity Tables**
These tables are used for tracking activities such as phone calls and appointments. These tables have additional properties such as time tracking.
**Complex Tables**
These tables are used for complex business logic and relationship. For example Sales Order. 

## Column Types 
**Text** 
Text column provide alphanumeric string 
**Plain Text** Text value  displayed in single line text box. 
**Text Area** Text value  displayed in Multi line text box. Text Area does not provide any text formatting such as bold and italic etc. 
**Rich Text** Text value displayed in Multi line text box. Rich text provide text formatting such as bold and italic etc. 
**Email** Text value that is validated as an email address. 
**Phone Number** Text value that is validated as an phone number. 
**Ticker Symbol** A text field that displays a link to MSN Money, showing a stock quote for the specified symbol. For example, entering "MSFT" would create a link that opens the stock quote page for Microsoft on MSN Money.
**URL** text value validated as http and https URL. 
**Number**
Number data type store numeric values. 
**Whole Number**
Whole Number data type store integer values. 
**None** A number value presented into text box.
**Timezone** A number value presented as drop-down list  that contain time intervals. 
**Duration** A number value presented as drop-down list  that contain time intervals.
**Language** A number value presented as a drop-down list that contain a list of languages. 
**Decimal** A decimal value up to 10 decimal places, stored exactly same in the Dataverse. 
**Float** A decimal value up to 5 decimal places.
**Currency** A currency data type store money value for any currency. 
**Currency(Base)** A money value that is converted into base currency. 
**Exchange Rate** A lookup column that is used to exchange rate to selected currency. 
**Date and Time**
Date and Time column is used to store date and time values. 
Format: 1) Date and Time: It show date and time. 2) Date only: It shows only date.
**Reference** 
**Lookup** This column is used to create relationship with other tables. 
**Customer** This Lookup column is used to specify a customer. 
**Choice**
This column provide a set of options but can select only one option. We can create custom choice or use standard choice. 
**Choices**
This column provide a set of options but we can select multiple options. 
**Yes/No**
This column is a Boolean type. You can choose yes or no from this column. 

**File**
This column is used to store files or images 
**File**
This column is used to store files.
**Image** This column is used to store images. 
**AutoNumber**
This column automatically  generate alphanumeric strings. We can add prefix.
**Behavior**
**Simple** A column where user can enter value or select a option
**Calculated** A read-only column whose value is calculated from other columns   
**Roll Up** A column that contain aggregated value from the tables rows or column in one-to-many relationship

**Formula** A column that used formula language to calculate the value of the value for the column. 

**Note**
Columns can be configured with additional settings such as auditing, security, and more.
Feel free to give your opinions about this topic