读书人

主键外键多个主键有关问题?

发布时间: 2013-03-22 09:49:50 作者: rapoo

主键,外键,多个主键问题??
3个表:
studentinfo(sno,sname,ssex,school,sbirth)
coursinfo(cno,cname,credit)
scinfo(sno,cno,score)
显然第一个表主键是sno,第二个表主键是cno,但是第三个表的主键应该是(sno,cno)的组合吧?那怎么弄呢?可以用两个外键的组合当主键吗?
[解决办法]
像第三个表的主键一般都是另建一列,sno和cno上再分别建外键,链接studentinfo,coursinfo
[解决办法]
studentinfo(sno(主键),sname,ssex,school,sbirth)
coursinfo(cno(主键),cname,credit)
scinfo(sid(新建一列主键),sno,cno,score)

[解决办法]

引用:
studentinfo(sno(主键),sname,ssex,school,sbirth)
coursinfo(cno(主键),cname,credit)
scinfo(sid(新建一列主键),sno,cno,score)


顶,经常做插入更新操作的话,搞个也业务逻辑无关的id做主键也不错
[解决办法]
引用:
3个表:
studentinfo(sno,sname,ssex,school,sbirth)
coursinfo(cno,cname,credit)
scinfo(sno,cno,score)
显然第一个表主键是sno,第二个表主键是cno,但是第三个表的主键应该是(sno,cno)的组合吧?那怎么弄呢?可以用两个外键的组合当主键吗?
……
可以做啊,很多设计都这样的拉。

读书人网 >SQL Server

热点推荐