现在一个asp.net 系统 要用到两个MSSQL库。1)MainDB(主库):
包括
产品类别表ProductType(int id,varchar(100) typeName)
产品表Product(int id, varchar(100) productName,int typeId)[其中这里的typeId字段关联ProductType表中的Id]
2)AdDB(广告库)
包括(目前)
广告表Ad(int id, varchar(100) AdName,typeId)[这里的TypeId是产品类别]问题就在这里了。。“广告表的TypeId字段”是关联MainDB库表的ProductTYpe表的Id,还是在AdDB在库中间一张和MainDB库中一模一样的ProductType表呢???目前我是在net的开发环境下做的这个项目。。请有经验的朋友帮我分析一下,衷心希望你们能给我一方案和与之对应的理由?谢谢
不需要TypeId 你可以关联产品表Product的id 因为通过表Product的id就可以找到产品类别TypeId
这里产品表Product与广告表没有任何联系的。。逻辑上也没然后联系的
1)MainDB(主库):
包括
产品类别表ProductType(int id,varchar(100) typeName)
产品表Product(int id, varchar(100) productName,int typeId)[其中这里的typeId字段关联ProductType表中的Id]
2)AdDB(广告库)
包括(目前)
广告表Ad(int id, varchar(100) AdName,typeId)[这里的TypeId是产品类别] 为什么要用Ad的typeID关联ProductType的id呢?
广告表应该关联产品表,即:Product的ID
通过产品的ID就能得到产品所属类型.这样逻辑才对的
才有产品表Product 那你的产品表Product 为什么还关联产品类别表ProductType呢 不如直接关联AdDB(广告库) ,再AdDB(广告库)关联产品类别表ProductType 这样不是更好吗
通过typeid就有typename了
主键外联必须是存在数据依赖,不是节省不节省一个表的问题。
这样就可以