views:

158

answers:

1

For the given relation, determine the current normal form, and list the reason why it is in that normal form. Then, using ONLY the information given, transform the relation into third normal form. Note that by default all attributes are depended on the composite primary key.

Order(
  CID, VesselID, 
  VoyID, VoyDest, EID, ContID, CDESCR, EName, EAddr, VesselType
)
CID      -> EID, ContID, CDescr, EName, EAddr
EID      -> EName, EAddr
VoyID    -> VoyDest
VessellD -> VesselType

This is a homework assignment that I'm working on. I thought I understood how to change a table into 3nf, but I just can't figure this out. If everything needs to be in relation to the keys, how do we include VoyID and VesselID in this relation?

+1  A: 

VesselID identifies a ship while VesselType says what kind of ship it is. Therefore, the two are probably not related.

IIRC, this means you must create a table which gives each VesselType a unique ID (like an enumeration) and then use this new VesselTypeID in the Order.

Aaron Digulla