表设计的问题,急!急!急!急!急!
最近在设计的时候碰到一个问题,没有找到解决的方法,希望各位大虾帮忙,具体如下:我用的设计工具是PowerDesigner
现在有三张表
A(A1,A2,A3)(A1是主键)
B(A1,B1,B2)(A1、B1是主键)
C(A1,C1,B1,C2)(A1【关联表A获得】、C1是主键,B1是外键)
因为我设计的数据库是建立在原来已经存在地数据库基础上的,所以有很多的历史遗留问题。上面的表C在因为是这种情况没法和表B关联,我也不想用字段重用,因为这不符合设计思想,同时如果表B和表C直接关联,那么A1字段会多出一个,不易于理解了,数据也不好维护。最后我只能是修改了表B(AB1,A1,B1,B2)(AB1是主键),然后和表C关联形成表C(A1,C1,AB1,C2)(A1【关联表A获得】、C1是主键,AB1是外键),虽然解决了一时的问题,但毕竟这种设计还是比较的差。本来还想把表B拆开形成两张表,但是历史问题而行不通,表B(B1,B2),分出一张表AB(A1,B1),但是原来的数据是A1和B1不同时,B2有相同的,也有不相同的(我现在是做证券的,像股票代码是不能修改的,但是上海交易所和深圳交易所存在相同的股票代码)。因为这样的问题还有很多,请各位大虾帮我想想办法。。。。。
|