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

问一个表设计的问题
需求1:个人Person,公司Company,银行Bank都可以作为车主CarOwner拥有车辆而和车辆管理局CarManager有关系
需求2:Person,Company可以作为债权人Creditor和Bank有关系
请问该怎么建表

------解决方案--------------------
我认为应该建立6张表,一张用户信息表a,公司信息表b,银行信息表c和车辆管理局信息表d,这些表中最好都有一个系统分配的内部关联的唯一ID。然后建立一张汽车信息表e,里面包含车牌号,拥有者内部唯一ID,车辆管理单位ID,以及一些汽车基本信息。最后建立一张债权关系表f,拥有自身的唯一ID字段,债权人ID字段,银行ID字段。e表的拥有者字段和a,b,c表外键进行约束,e表的车辆管理单位ID建立外键约束。f表的债权人ID和a,b表建立外键关系,银行ID和c表建立外键管理关系。
------解决方案--------------------
这不是多值字段的问题
在第一个需求中可以建一个CarOwner表,多加一个type字段,字段取值是三个类的类名
需求二类似