When can a BCNF decomposition not preserve functional dependency... I am trying to figure this out for say R=(V,W,X,Y,Z)
The point of a BCNF decomposition is to eliminate functional dependencies that are not of the form key -> everything else
So if a table has a FD, say A -> B, such that A is not a key, it means you're storing redundant data in your table. As a result, you create a new table with columns A and B, with A being the key, then you remove B from your original table.
As a result of this change you would no longer suffer from deletion anomalies, nor would you have to update multiple rows just to make a change to the A -> B relationship.
So for a trivial, naive example, let's say you have a employee table with columns:
employeeId name jobTitle salary
Assume that jobTitle -> salary
that is, everyone with the same job title always makes the same salary. Assume a jobTitle of "developer" equates to a salary of $90,000. If you have 20 developers in your database, it would be silly to store the same redundant value of $90,000 for each row. So, you drop the salary column from your employees table, and create a new salary table with:
jobTitle_[key] salary
Then, to get a salary on an employee, you look it up in the salary table.