日期:2014-05-17  浏览次数:20413 次

单表数据间的关系如何建立?
例如有5个人,每个人为一行信息,分别取名A,B,C,D,E
然后存在3种社会关系:父子、朋友、同事
设:A是B的父亲,A是C的同事,A是D的朋友
B是A的儿子,B是D的朋友,B是E的朋友
怎么在关系数据库中实现记录?

想到的方案是建一个社会关系列,
1父子、2朋友、3同事

1 客户编号 |3 客户编号|2 客户编号|
1 客户编号 |2 客户编号|2 客户编号|
的方式。想问下是是否还有其他的更有效率的方案。

------解决方案--------------------
人员表
父子关系表(ID,Father,Child)
朋友关系表(ID,Self,Friend)
同事关系表(ID,Self,Colleague)
------解决方案--------------------
如果冗余度不是重点的话,直接用bom模式,把关系记录在一个表中。但是当数据量巨大的时候,把“关系”独立出来一个表是好的。