Monday, 28 December 2015

Conceptual data model

Conceptual data model is a map of key concepts and rules binding these key concepts for a specific business, for a particular audience, that used for databases. Key concepts are both basic and critical to your business. Basic means this term is mentioned many times a day in your organisation in conversation among business people, such as CUSTOMER, EMPLOYEE, PRODUCT, etc.Critical means the business would be very different or non-existent without this key concept. For example, without the concept PRODUCT, your business may become non-existent.
In most of the Industries key concepts are common and easy to identify them, such as CUSTOMER, PRODUCT, EMPLOYEE. A super market may call a customer as BUYER, a legal firm may call a customer CLIENT and a railway company may call a customer a PASSENGER, but the underlying concept is the same, who buys or receives goods or services. Some industries has specific concepts which may not be used in other industries. For example, concept PATIENT is both basic and critical to hospital industry, whereas it may not be used in the telecom industry. 

The conceptual data model includes concepts(entities), their definitions and the relationships that specify the rules that show how these entities interact with each other. Conceptual data model may contains the many-to-many relationships which may not be used in logical and physical data model.
Example: School management application system:

Conceptual data modeling

In school management application system, concepts such as Teacher, Student, Class and Subject are considered to be both basic and critical. Also, in the following example model, we used other concepts such as Schedule, it depends on the scope of our model. In this model, the scope includes the concept Schedule as basic and critical, but in some other application it may not be considered as basic and critical. For example, Books management application system in a school, may not need the concept Schedule as basic and critical. The key point is conceptual data model is a model at a level where the end user for the model would agree that each entity is a key concept.  

Entity definition:

Person - A human being
Student - A person who is studying class.
Teacher - A person who takes class to       student.
Subject - A branch of knowledge studied or taught in a school, college or university.
Class - A place where teaching activity occurs between a teacher and students regarding a subject at an assigned date and time.
Schedule - An ordered list of times at which events or activities are planned to occur.

Business rules

Each person may be either a Teacher or a Student (see below). 
Each Teacher is a Person.
Each Student is a Person.
Each Teacher may take one or many Classes.
Each Student may attend one or many Clases.
Each Schedule may be consulted to set up one or many classes.
Each Subject may contain one or many classes.
Each Class must involve one Teacher, one Student, one Subject and one Schedule.  

(Exclusive subtype: it is a subtype where a member of the super-type cannot play more than one subtype role. It is represented by sub-typing symbol with 'X' in its center. For example, a particular person cannot be both a teacher and student).

The definition of concepts should be given more attention during the conceptual data modeling phase. Poor definition leads to the multiple interpretation of a concept. For example, imagine a real world scenario where business rule states that 'All the citizens are eligible to vote. Here, if the definition of the concept 'CITIZEN' is not clearly mentioned, it leads to the multiple interpretation of concept citizen such as, 

A citizen is a person who is presently living in that country.
A citizen is a person or an object who was lived in that country.
A citizen is a person who holds the voter identity card.
A citizen is a person who holds the Social Security Number.
A citizen is a person who holds the Aadhar card.

Having clear and agreed definition of the concepts will help us to complete the logical and physical analysis in less time. Also it will assist the business and IT with simple decision making and support the data model precision. 

Benefits of conceptual data model:

Conceptual data model provide us broad understanding of how the business works?. The business process is very large and sometimes very complicated, building a conceptual data model captures the entire business process in a single sheet of paper. This enables the people with different backgrounds to understand the concepts very easily.

Building a data model help us to define the scope of the application. For example, conceptual data model of an Administration department will help us to define what is beyond Administration department and what is within the department scope. This will provide us the direction to move further. This model mostly focused on business terms, this enable the Information Technology and business people to work closely and act as a communication tool between the Information Technology and business.

I hope this post will help you to understand the basic concepts of conceptual data modeling. In next post let us see about the normalization techniques.
Post a Comment