Relationships in a Relational Database

A Relational Database models data in the form of tables and relation between tables.
Consider the following application: When a customer asks a question about an equipment, we want to connect to an expert who can answer. For example, an expert on Ultrasound is different from an expert on X-ray; and there are different experts in different countries.
One way to model this data is to make a table with the equipment identifier and the contact of the expert.

As you can see, there's a lot of redundancy; the expert's contact is replicated in multiple rows. Not only is this inefficient in terms of storage, but also multiple updates need to be done when there's a new expert.
How could we solve this? Any identification we repeat will have the same redundancy.
The answer is to remove redundancy - normalize the data. The best normalizations are the ones that reflect the real world. In this case, the equipment and the region are linked to the contact. So one way to organize the data is to keep the equipment-region-contact mapping separate, and have a relationship between the equipment-id to the equipment-type and region.
What if there are multiple experts for an equipment-type in a particular region? In a relational database, we replicate the entries rather than keep a list of contacts in a single row.
Do you think this is a good normalization? Is there a better way?
Write your thoughts below and click here to read on...

Comments

  1. William Hill Sportsbook Review - CasinoLoland.jp
    William Hill william hill Sportsbook is a Licensed Online Sports Betting Company. 카지노사이트 William Hill offers excellent customer service and great starvegad odds. Get  Rating: 92% · ‎Review by CasinoLoland.jp

    ReplyDelete

Post a Comment

Popular posts from this blog

Data Schema and Blobs

JavaScript data-types