To fix a table design you first need a precise way to say which columns decide which others. A functional dependency like roll_no → name records that rule, and attribute closure tells you everything a set of columns determines. You use FDs to find candidate keys and to test normal forms, so they come before everything else in this topic. Remember you cannot split the left side: AB → C does not mean A → C.