Are Normal Forms Normal ?

Another set of potholes on my journey with Django and Postgres database configuration is understanding normal forms.

There seems to be many of these but most people give up trying to explain what they mean after the first 3 and I can understand why.

I can understand the 1st NF and it is just a set of common sense rules about not mixing data type in columns and keeping cell values atomic.

However, it seems to get harder and more subtle to grasp for the other NFs.

2nd NF has to satisfy 1st NF and in addition have no partial dependencies ?

3rd NF has to satisfy 2nd NF and in addition have no transitive dependencies ?

The solution in both cases is to decompose the original table into a number of smaller tables but I struggle to understand what these terms mean and what the rule of thumb is to perform the decomposition.

I read numerous explanations on these dependencies but still struggle to get my head around ?

Wesley Persad