I am struggling with the concept of 2NF form. Lets say I have a set of functional dependencies for `R1(A,B,C,D,E,H,M,K)`
Where :

    B  -> M,C
    AB -> D
    DH -> E
    H  -> K
    A  -> H

Whenever I try to decompose it, I directly get 3NF tables. What are the rules to get something in 2NF, with minimal set of tables ?

Now how do I take this further to 3NF or BCNF?