I need to design database which would keep track of the following attributes:
stdnum // student number
postcode // postal code
phone_number // student phone number
city // student address: city
Also listed are functional dependencies:
stdnum -> postcode
stdnum -> phone_number
postcode -> city
phone_number -> city
I need to find a lossless-join, dependency preserving, 3rd normal form decomposition.
I have tried different decompositions but there was no one that obeys all requirements (they are: lossless-join, dependency preserving, 3rd normal form).
E.g. if I leave the original relation without changes (table would have all 4 attributes) I would get lossless-join and dependency preserving but not 3NF, only 2NF.
The decomposition(stdnum, postcode, phone_number) JOIN (postcode, city) JOIN (phone_number, city) is in 3NF and dependency preserving, but not lossless-join.