Okay so I know that for BCNF, when listing all non-trivial FD's that everything to the left has to be a candidate key.
So I have this relation:
Person(Id, TFN, Name, Phone)
Where Id and TFN(Like SSN) are both Primary Keys.
So the minimal FDs I have is:
ID->TFN
ID->Name
ID->Phone
(TFN->ID is redundant right?)
So it looks to be in BCNF but I was thinking, does Phone->Name? Because Phone would be unique and point to a Name too, along with that a person could have more than 1 phone number, is that the right approach? Given that is true, it would not be in BCNF because the left Phone is an attribute correct? Or at the very least would Phone be considered a candidate key? But if it is a candidate key, it is on the left and therefore still BCNF.
I'm going around in circles with this thought process..
So if that is all correct then the way to decompose the Person relation would be to remove phone and make a new relation
PersonPhone(PhoneNo, id*)
Where id is a foreign key on Person. Then that would make Person BCNF?
Thanks
ID
or person==TFN
. Yes, your decomposition is correct. Other possible decompositionPersonPhone(PhoneNo,TFN)
.