如果扩展度有限,并且一个bigint的二进制位可以完全标识所有关系,可以用二进制位表示:例如前4位表A的第二个4位表示B的,这样通过位运算来处理。

解决方案 »

  1.   

    1、我继续扩充C表的字段(也就是把其他表与C表的关联字段放在C表中) 
    -- 看你的应用对C表的依赖程度,如果说对于C表的改动将影响到所有的与C表相关的应用的改变的话,
    -- 这种方式不可取,每次更改都会增加系统重复的维护量.
    -- 反之,如果扩展不多,维护不是很大的情况下,这种方式比较快捷.
    2、通过一个中间表,如A与C的关系,通过一个建立一个AC表,其中有(c1、a1),这样来保存他们的关联关系,同时B与C之间也是建立一个BC表(c1、b1),以后有这种情况类似、、、、、、、 
    -- 这种方式可以扩展,对于扩展较多,较为频繁的情况下建议使用这种.
    -- 灵活性比较大,相对复杂一些.
    -- 后续维护和扩展工作量不大,
    3、单独建立一个CToOther表(c1、a1、b1、d1、、、、、)来与C表关联 
    -- 这种方式和第二种方式是类似的,只是将二中的几个表合并到一个表里面而已.