I've been googling for a long time now, reading lots of Normalization Tutorials, but haven't found an answer to my question....
The problem (in this question) is when I have something like a trip, where it has a start location and end location, but those locations are stored on a table and assigned an ID.
If I follow the normalization tutorials I end up with:
UNF
TripID, VehicleId, EndLocId, StartLocId, StartLocAddress, EndLocAddress
So if I normalize, I end up with these tables
1NF = UNF (no repeating groups)
2NF = 1NF (no partial dependency)
3NF (Separate Transitional Dependency)
Trip(TripId, VehicleId, StartLocId, EndLocId)
TripStartLoc(StartLocId, StartAddress)
TripEndLoc(EndLocId, EndLocAddress)
In my 3NF the last 2 tables will be exactly the same, so I want to use only one, a Location(LocId, LocAddress)
Trip(TripId, VehicleId, StartLocId, EndLocId)
Location(LocId, LocAddress)
But I can't find any step that allows me to do this, I know I can do it because there's no point in maintaining 2 tables with repeated information... but how to justify? or is this step outside of Normalization? I just want 2 foreign keys in my trip table pointing to the location table, one for the starting point and one to the end point.
Thank you for your help
Vehicle(VehicleId,VehicleName)
table which has the same data types,(int, varchar)
for example, but definitley has other domain.