Tuesday, 11 October 2016

Conceptualizing Database Design with a Model driven approach

Design is good place to start with for any Project/Product. Often I have observed databases are designed on the fly with data being normalized at a logical level and mostly with a thought to suffice a specific business requirement. Arriving at logical pieces which can later be easily extended towards addressing different needs of business can be of great value which in turn ensures flexibility of the proposed model.
Let us consider a business requirement to have a Login. As depicted below, “User” is the most possible derived logical entity.



Now let us consider another business need to have Customer list into the system. As depicted below, “Customer” stays the most possible derived logical entity.



Considering the attributes of User and Customer, an entity named Person can be derived to hold the basic demographic details which an individual can have. This way User and Customer can be inherited from the Person entity as depicted below  .



The same Person entity can be extended to User, Customer, Employee,... and so on, thus not having to repeat the basic details representing an individual and also maintaining a single point of reference for any individual. 

No comments:

Post a Comment