数据表设计的有关问题

数据表设计的问题
有产品表(主键productID),
    采购表(主键PurchaseID,外键productID),
    采购合同表(主键ContractID,外键PurchaseID)

问题是显示采购合同信息时,要知道产品名称的话,不就要联合三个表.
这样的数据表合理吗?
(最近发现自己数据库好薄弱呀!喜欢上这个版块了.)

------解决方案--------------------
合理.

因为如果产品名称变化的时候,不用更新采购表,通过关联即可显示.

对不经常更新的,所关联的表比较大时可以考虑冗余下,基础数据一般都是通过关联.
------解决方案--------------------
是否合理要看你的需求

采购表到底放什么信息,采购表和采购合同表的对应关系应该如何等等

或许采购表并不需要


------解决方案--------------------
就设计结构来说,这个是合理的,对于查询而言可以适当增加冗余字段来实现