Now I feel sorry for missing this question. Normalization is one of the things you have to learn, and not just for databases. It will give you more insight into data. Let me stress that again, you want to master this, it is what makes a master. Can you give me a real life analogy for your abstract question? Otherwise, I'd just have to reply with the rules which you already know. And BCNF comes after 3NF; if it in 3NF, it not guaranteed to be BCNF, so answer one falls. Leaves you with three. Also, 3NF and BCNF rather close - if you can answer it, you master it.
Bastard Programmer from Hell :suss: "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.