DEV Community

Discussion on: ELI5: What is a database normalization?

Collapse
chrisvasqm profile image
Christian Vasquez

Supermarket

Let's say that your parents take you to the supermarket and when they get to the cashier they forgot about an specific item (for example: ketchup) and they send you to look for it really quick so they don't lose their turn on the waiting line.

So, you start running around looking for that specific ketchup bottle that you and your parents love, but every time you ask an employee they can't give you a straight answer like:

"Go to hall #4"

Instead, they tell you:

"Oh, hmm... well. You can try getting it from hall #1, #3, #5, and maybe #8."

In this situation you would have to check all 4 halls looking for the exact ketchup bottle, since you know your parents would be mad if you come back with a different one that they expect you to bring.

That means there's something wrong with the way they organize their items.

Normalization is basically the way you organize your data so that there's only a single place where to look for it when you need it. This helps avoid duplication as well as how fast your applications can request it.

But there are different levels of normalization, sometimes you can over normalize your data, and that would affect your workflow negatively, because of over complexity. So, you may wanna do some research about that with step-by-step examples, that's the best way I found to understand this topic.

Collapse
gladuz profile image
Jamshid Tursunboyev Author

Great explanation!!