Hello and best regards. I’m Peter Parkett and I have a question.
If we are given a case study regarding a company and told to use two different methods to obtain the relational model, will the relational model obtained from two different methods be the same. The first method is normalization. We are to obtain the relational model through normalization. In the second method, ER modelling is used to obtain the relational model. Please enlighten me as to whether the relational model obtained from these two models will be the same and also the reasons it is the same.
I have a case study regarding a company. Now from this case study, I am able to build an Enhanced Entity Relationship Diagram. I am able to build this diagram by identifying the entities, attributes, relationships and cardinality present in the Company case study and representing it in the Enhanced ER diagram. Now, from this diagram, I am able to obtain the relational models for the Company. This is just a matter of transferring the Enhanced ER diagram to relational models.
Let’s say I don’t use an ER diagram. So, from the Company case study, I will just identify all attributes present. After I have identified all the attributes, I would have obtained the unnormalized form(UNF) of the Company. From this UNF, it is possible to obtain the Boyce-Codd Normal Form(BCNF) of the company. After I have obtained the BCNF for Company, I would have obtained the relational models for Company.
My question is, are the relational models obtained from using Enhanced ER diagram and the relational models obtained from using Normalization the same? I personally believe that they should be the same. What are the reasons that the relational models obtained should be the same?
I welcome all feedback. I am just trying to figure this one out. Thanks for all help.
Yes, they should be the same. Both approaches are working towards the same goal: a set of entities and attributes that models the data without redundancy or "repeating groups". Normalisation formalises the common sense process that you would (hopefully) follow even if you didn't know the rules of normalisation.
In response to Rudy's question, I can remember being taught normalisation as an approach to finding entities (relations). You start with some document like an invoice, and write down a list of every data item you can find on it. Then you separate out repeating groups, non-key dependencies etc., into separate lists. When you are finished, you have a set of normalised entities. Quite likely I even followed that process for real in my early days as an analyst, though I wouldn't do so now.