Skip main navigation

New offer! Get 30% off your first 2 months of Unlimited Monthly. Start your subscription for just £29.99 £19.99. New subscribers only. T&Cs apply

Find out more

Data Modelling Fundamentals Overview

Microsoft Dynamics 365 and the Power Platform
Here we will be discussing our data modelling overview. When we plan and create solutions to fulfil the business requirements we need to be able to describe and model the objects and the data that we’re going to be dealing with. This is where data modelling comes in. As defined by Wikipedia, data modelling is a process used to define and analyse data requirements needed to support the business processes within the scope of corresponding information systems in organisation. The outcome of the process is a data model that is an organised, structured representation of the business requirements.
There are several fundamental definitions that will help us to describe the data model and the processes within the power platform, or specifically, within the common data service for apps, also known as CDS. Entities are the formal representations used to model and manage business data. Usually they are some form of interpretation of a real life object and concepts. For example, contacts or people, companies, projects, products, orders, invoices, different activities such as appointments or emails, all of those are different types of entities. Fields is where we store information about an entity. Sometimes these are called attributes. Fields are created during the design process to capture specific information about an entity.
For example, project will have a deadline, order will have a total, contact will have an email address. To represent different types of data attributes have different types, such as, text, money, date, time, et cetera. Within the data model we often see the terms attribute and field, or property, all used interchangeably. Typically speaking, these are all being used to define the same concept. For relationships with entities we realised the entities do not live in isolation. Real life concepts and objects have relationships between them. For example, an employee works for a company, an individual may speak many languages, a project has tasks, an order has order lines with products. These relationships are represented in a common data service as entity relationships.
Relationships describe the way that entity record can be associated with records from other entities or even the same entity. When you combine entities and relationships you have the building blocks of an application. The definitions for the entities, attributes, and relationships between these entities within the common data service are collectively described as metadata. Metadata contains all of the information necessary for Power platform to use all of these underlying entities and data. It also makes it possible to describe and transport changes or customizations between different environments. Metadata within common data service supports implementations with multiple languages. This includes capabilities to store the translation of the relevant elements such as attribute labels or messages displayed to the end user.
When modelling business data there are a few fundamental concepts that help you represent, model, and secure the data stored within the system. Ownership describes who owns the specific set of data. Ownership can be used to govern access for specific users and user roles. Security boundaries define the scope where specific sets of data can be secured. Boundaries can be as broad as the entire organisation and as granular as an individual attribute. Legislative requirements often place additional restrictions within this data model. These can vary and often are defined by standards on different levels. Organisations, for example, government bodies, may have specific security requirements.
Industries, such as health care, may have standards in place to govern access to private patient information and various privacy concerns and legislation for different countries, such as things like GDPR. All of these will influence how you represent, and model, and secure your data. Additional things that would be influencing our data model could be things like the security requirements we just discussed. The user experience– users will need to make use of this data that we’re storing. The navigation and user experience for this will matter. Sometimes following the strict data model will result in a cumbersome user experience.
Creating a delightful experience for users sometimes requires data modelling steps that may be viewed as objectionable, such as duplication of fields and data across different entities to improve interaction. Data location and retention can influence our data modelling. Not all data is allowed to be stored. Oftentimes data from services can’t be cached. Companies have internal policies that govern the use of data. Some data is protected by governmental laws and also specific requirements for storage, such as personally identifiable information, credit card numbers, and so on. Self service reporting will also influence our data modelling.
If it takes a data architect to navigate the data model chances are many of the tools, such as Power BI and export to Excel, will be less valuable to the user. Most self service features of Dynamics 365 allow navigation of one level of relationships. We need to consider existing systems. Whether legacy system or not, the presence and interaction or integration requirement with existing systems will heavily affect the data model. Additional considerations must be given to the existing user experience and its transition. And globalisation will influence us as well. Implementations across multiple geographies, multilingual, multi-currency, will all influence our data model. When it comes to planning and documenting our data model we have many tools available.
The common data service allows high level of extraction when creating and dealing with metadata. And it’s very agile and allowing easy changes for adaption. However, formalisation of this data model is helpful. Depending on your business requirements, team composition, and skills you can use formal tools, such as, entity relationship diagram modellers, tools such as Visio, or much less formal use case diagrams, pen and paper, whiteboard, and so on. Data management features are plentiful. As a data modeller you need to be familiar with some of these concepts that are describing the use and management of the business data within the organisation. Auditing of the data access and changes is essential to part of the modern apps.
Deciding which entities and attributes to audit from is crucial and typically it’s a joint decision effort across the organisation. Storage of the data has a cost associated with it. As tempting as it could be to store all of the data related to the processes or all of the data from other existing systems the decisions need to be made what data to store, for how long, and how to handle expiration. For example, excessive auditing may unnecessarily increase storage costs without providing tangible business benefit. Auto-numbering assists in creation of human readable unique references for specific entity records. It’s always easier to refer to an invoice by an invoice number, for example, instead of a system generated unique identifier.
Duplicate detection is the feature within common data services that allows early capture and handling of the duplicate data. Importing and exporting requirements may influence how the data model is described and whether it’s adjusted to make these processes easier. Bulk deletion is a feature to assist users and administrators handling deletion of large data volumes to minimise the space used or simply recover from such operations as an erroneous data import. While it’s not possible to create a prescriptive advice for creating good data models, some of the good data modelling principles that may help you. Avoid creating too many entities with too many fields. Simplicity is the key. Avoid locking selections when not required.
For example, don’t use a yes no Boolean attribute if potentially there may be more than one answer later on. So yes, no, or prefer not to answer, for example. Some of the metadata cannot be changed after creation. For example, entity ownership, attribute type and formatting, and so on. Choose these carefully. And the common data service will allow for easy prototyping and incremental development. Do not build parts of the system that you are not planning to use just yet.

In the previous step, you had to complete an assessment to test your knowledge on all that we’ve learned thus far. In this step, we explore the fundamentals of Data Modelling.

When we plan and create solutions to implement business requirements, we need to be able to describe, model the objects and the data we’re going to be dealing with. This is where data modelling comes in.

As Wikipedia defines it, ‘Data modelling is a process used to define and analyse data requirements needed to support the business processes within the scope of corresponding information systems in organisations.’

The outcome of the process is a data model that is an organised, structured representation of the business requirements in the form of entities with fields, and relationships that connect them.

In this video, Julie Yak provides an overview of Data Modelling.

Join the discussion

When we plan and create solutions to implement business requirements, we need to be able to describe, model the objects and the data we’re going to be dealing with. Can you think of real-life examples of entities where we store/capture/manage data?

Use the discussion area below to let us know your thoughts. Try to respond to at least one other post and once you’re happy with your contribution, click the Mark as complete button to check the Step off, then you can move to the next step which is Data Modelling Building Blocks.

This article is from the free online

Dynamics 365: Using Power Platform Applications

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now