What is data modeling?
As Business Analysts we often get involved with data modeling in some shape or form. This is why it is important for every business analyst to have some level of understanding about what is data modeling all about. This article outlines the key concepts associated with data modeling and will provide an example of a data model to aid in a more in-depth understanding.
Let’s first consider the phrase “what is data modeling” by drilling down to the basic elements, data and modeling. Data is all around us, anything that you might want to capture as information, retrieve for later use or refer to in a conversation is a type of data. Every system on this earth is dependent on data of some description. It can be recording personal details of an employee in a company database or transaction information generated as a result of a sales transaction. All of this is examples of data.
Data versus Information
Just another important terminology aspect to be aware of: the term “information” is described as “data with a meaning”. So where a rocket scientist might interpret mathematical sets of data and consider that as “data with meaning, i.e. information” other people might always just call the mathematical set of data, a type of data (because to most people it doesn’t have a specific meaning other than being mathematical data).
With data modeling it is all about determining what data we want to capture for a specific purpose and to then logically organise that data. We also want the logical data sets to relate to each other in some way because together the data work together to produce some meaningful information.
What is data modeling – Entities or Concepts
Let’s consider this simple example.
An employee of a company gets paid on a monthly basis for a particular job role they perform. The company wants to find a way to capture all the information relating to the employee, their salary and payment details. The company is in need of a database to capture all this data in.
What is data modeling – Entities / Concepts
To model the data that they need the Business Analyst will firstly define the different logical “things” or entities/concepts that they want to capture data about. Entities can be people, places, products or anything that is tangible in some way.
To further describe ‘what is data modeling’, consider these entities (sometimes referred to as concepts) for the example provided:
- Employee (the “thing” in this case is the person or employee)
- Job Role (the “thing” in this case is the Job Role in the organisational structure)
- Salary Package (the “thing” in this case is the employee contract stipulating the Salary Package)
- Payment Details (the “thing” in this case is the employee’s bank account)
What is data modeling – Attributes
Once you have identified the concepts or entities that you would like to capture data for, the next steps is what specifically do you want to capture for each entity in terms of attributes. If we take one of our entity examples from before, let’s see what attributes we would like to capture:
Employee = Attributes could include: (Name, Address line 1, Address line 2, Date of Birth, City, Country, Phone Number)
Advanced Concept: An important point to take note of at this point is that you should always only capture information about an entity which is directly related to that entity. This is because with data modeling we aim to not duplicate any attributes in a database table which could logically have been captured against its own entity.
What is data modeling – Relationships
Now that you have identified the entities and the attributes, it is time to consider how each entity relates to each other. The relationships between entities are the significant relationships between each other. For example: In our scenario the Employee entity and the Job Role Entity have a direct relationship of the Employee performs the Job Role. The Job Role is performed by the Employee.
Once you have identified the significant relationships between these entities you will be able to define the cardinality or multiplicity of the relationship. This is where you assess the number of relationships allowed or is required between the entities. In the example we have: Every employee must perform one and only one Job Role. (Cardinality between Employee and Job Role is 1:1). However, every Job Role can be performed by 1 to many Employees (so the cardinality between Job Role and Employee is 1 to many).
What is data modeling – Meta Data
Finally, the last step when doing data modeling is to define the meta data. Meta data is data that describes data. Examples of meta data includes usage information about your data. For example, if a record in your newly created database was added, the meta data would describe when the record was added, by which user and perhaps a flag to confirm it is free from errors.
So now that you have read about the basics of what is data modeling, you should be able as a Business Analyst to interpret and understand the fundamental concepts when faced with a data model.