Data is the building block of all business management systems. In essence, a business system is managed by extracting, organising and understanding the data that represents the important components of the business domain. Each functional component can be broken down to a data item. How we identify, define, allocate attributes and relate that data item to other data items is Data Modelling.
From an engineering and software development perspective, database design is an important part of software system functionality. Database schemas, how data is stored, retrieved and presented is the domain of the technical designers. However, before the system can be designed and database engineers get to work, the business needs to understand what data it needs stored, manipulated and presented later. In business terms, what information (data) is important for us to store, how can we manipulate this data so we can use it later to run our business, and how and when do we need access to it?
Business analysts are the ones tasked with helping business understand and articulate their needs. Helping produce the requirements that designers need to build the right systems to support the business. Data modelling is the technique (practices, conventions and notations) of visualising (in the form of diagrams) artefacts that explain clearly and communicate the data needs of the business.
As a business analyst, I have used the data modelling process with stakeholders to help them get down to the level of detail my design team need. The process helps us smoke out the detail, forcing the business to make decisions and understand and detail their business on a granular level (thus contributing to Requirements Engineering).
On our Requirements course we look at two popular data modelling notational – Entity Relationship Diagrams (ERDs) and Class Models. Data Modelling knowledge is a useful and in-demand skill for those tasked (Business Analysts) with defining requirements.