Reason of choosing 3NF over BCNF.
1.We normally choose to retain dependency preservation.
2.A high penalty in system performance is to be paid or risk the integrity of the data in our database.
Both the reason describe the nature of preference or security and data over the redundancy ,which is satisfy by the 3NF.
Although BCNF satisfy this problem but dependencies are not preserved always.
SO 3NF is correct answer .