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

同一个表的主键可以是外键吗
同一个表的主键可以是外键吗,注意,我说的是同一个表?
比如表A(a_ID)表B(b_ID),设置表A的a_ID作为主键,同时设置为外键与表B(b_ID)关联。
可以不?表A与表B是一对一的关系
------最佳解决方案--------------------
引用:
主键不能作为外键,这是为什么呢?凭什么不能做外键。
有什么科学依据?


SQL里是可以的。。。
------其他解决方案--------------------
SQL主键可以当外键处理,多对多的表就是这样的。。其他的数据库应该也是可以的。
------其他解决方案--------------------
当前可以了
------其他解决方案--------------------
当然可以
------其他解决方案--------------------
可以的,楼主
------其他解决方案--------------------
当然可以
------其他解决方案--------------------
可以的,试试不就知道咯.
------其他解决方案--------------------
加个主键的标识,然后引出到表B做外键。
------其他解决方案--------------------
如何描述? E-R图就多一条参考线而已.
主键/外键是2个不冲突的属性.
------其他解决方案--------------------
引用:
楼上的理解能力这差吗?
不是表B的外键。而是表B的主键作为表a的外键,同时这个外键与表a的主键是同一个字段。


我不是说引出到表B做表B主键的外键么?

E-R图在表A标上主键标识,引一条线到表B主键就行。
------其他解决方案--------------------
引用:
powerdesiger用过吗?powerdesiger当一个表字段为主键是,是不能选择作为外键的。
有没有什么道理可言?


把表A的主键列当做两个列显示,一个里做主键标识,一个列引出做外键标识。
------其他解决方案--------------------
没用过Powerdesiger, 只用过ERwin Data Modeler.

------其他解决方案--------------------
引用:
引用:
引用:

powerdesiger用过吗?powerdesiger当一个表字段为主键是,是不能选择作为外键的。
有没有什么道理可言?


把表A的主键列当做两个列显示,一个里做主键标识,一个列引出做外键标识。


加一个字段还有意思啊?本来一个字段就能存放的事情。


我的意思是E-R图描述的时候将表A的主键字段作为两个字段来看,一个是主键,一个是外键,是为了描述,你不说了不能在同一个字段上既做主键又做外键么,这样子也能比较清晰的描述表结构吧!
------其他解决方案--------------------
这就是powerdesiger这个软件的问题了,如果真不能按楼主的那种情况设置,那就是开发者的设计成那样了,别抱什么想法。
------其他解决方案--------------------
引用:
主键不能作为外键,这是为什么呢?凭什么不能做外键。
有什么科学依据?

powerdesigner的设置问题 与SQL无关
------其他解决方案--------------------
E-R图如何描述?
用该死的powerdesiger能弄出来吗?

------其他解决方案--------------------
楼上的理解能力这差吗?
不是表B的外键。而是表B的主键作为表a的外键,同时这个外键与表a的主键是同一个字段。
------其他解决方案--------------------
powerdesiger用过吗?powerdesiger当一个表字段为主键是,是不能选择作为外键的。
有没有什么道理可言?
------其他解决方案--------------------
引用:
引用:

powerdesiger用过吗?powerdesiger当一个表字段为主键是,是不能选择作为外键的。
有没有什么道理可言?


把表A的主键列当做两个列显示,一个里做主键标识,一个列引出做外键标识。


加一个字段还有意思啊?本来一个字段就能存放的事情。




------其他解决方案--------------------
我的意思,为什么不能呢?
------其他解决方案--------------------