|
Posted by Erland Sommarskog on 03/04/07 10:19
(bbcrock@gmail.com) writes:
> I have three tables with a relationship I've never worked with
> before. Can anyone suggest/comment on the best way to create a third
> normal form relationship between these tables?
>
> The tables basically are:
>
> TRAIN (TRAIN_ID and 15 columns about train specs, etc)
> TRUCK (TRUCK_ID and 12 columns about truck specs, etc)
> TRANSPORTATION_ITEM
> This table has, among others, two columns, TRUCK_ID and TRAIN_ID. If
> the truck column is used there can be no data in the train column and
> vice versa.
>
> This relationship seems denormalized to me, but I don't remember how
> to normalize it. Does anyone know the correct name for this kind of
> relationship?
It's difficult to say exactly from this scant information. Judging from
the anme, TRANSPORTATION_ITEM is a supercalls, of which TRAIN and TRUCH
are heirs, to speak in object-orirent terms. In such case, it feels
backwards to me that TRUCK_ID and TRAIN_ID appears in TRANSPORTATION_ITEM.
I'd rather have a TRANSPORTATION_ITEM_ID that also would be the key in
thr TRAIN and TRUCK tables.
But the purpose of TRANSPORTATION_ITEM may be different, in which case
TRAIN_ID and TRUCK_ID as mutually exclusive columns makes perfect sense.
--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
Navigation:
[Reply to this message]
|