Imagine you have a big toy box, and inside it are all sorts of toys mixed up: LEGO pieces, toy cars, and action figures. Every time you want to play, it’s hard to find what you need because everything’s jumbled up. So, you decide to organize it.
1st Normal Form (1NF):
First, you group similar toys together. All LEGO pieces go into one bag, toy cars in another, and action figures in a third. Now, instead of a jumble, you have organized groups. This is like the first step in database organization.
2nd Normal Form (2NF):
But, when you look into the LEGO bag, you notice there are different types: LEGO bricks, LEGO figures, and LEGO wheels. So, you decide to divide them further into smaller bags, but you still keep them all inside the main LEGO bag. In databases, this is like making sure related information stays together, but breaking it down even more.
3rd Normal Form (3NF):
Lastly, you notice that some of your toy cars have notes attached saying whom they were gifts from: “From Grandma” or “From Aunt Jane.” Instead of keeping these notes with each toy car, you decide to create a special list. On this list, you write the name of the person and all the toys they gave you. This way, if Grandma gives you another toy in the future, you just update the list instead of attaching a new note to every toy. In databases, this is like making sure we don’t repeat the same information over and over, but refer to it in a smarter way.
After all this, your toy box is super organized! Just like how a database becomes really organized and easy to use after it’s in 3NF.