SQL Server 设置外键问题~

我创建了一个关系表S,学号S#设为主键;另外一个关系表SC,学号S#是主属性。在SC中设置外键,提示“ALTERTABLE语句与FK_SC_S约束发生冲突。冲突发生在··... 我创建了一个关系表S,学号S#设为主键;另外一个关系表SC,学号S#是主属性。在SC中设置外键,提示“ALTER TABLE 语句与FK_SC_S约束发生冲突。冲突发生在····表"dbo.S“ ”column S#“
请高手指教,该如何解决? 不胜感激!~
展开
 我来答
bhtzu
2012-05-24 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4597万
展开全部
说的太含混了,没有表结构和关系图,没法明确问题的根源。
CS表主键是什么,联合的还是单一的?外键是CS.s# 对应S.s#么?CS表存在非主键约束么,还是就是主键约束,怎么设置的?最好给出关系图。
更多追问追答
追问
额,没有CS表呀~
SC表的主键是S#和C#;就是想把S#设置为SC表的外键(相对于S表)。我把C#设置为SC表的外键(相对于C表,C表主键是C#),是可以的,但是S#没法设置为SC的外键~
S(S#,SNAME,SSEX,SBIRTHIN,···)
SC(S#,C#,GRADE)
C(C#,CNAME,CLASSH)
追答
你SC表这样使用的是联合主键。
联合主键做外键不符合关系数据库的范式要求,联合本身的含义就是几个列用and连接起来才唯一.单独一个列是不能保证唯一的。
你看看你的主外键关系是不是反了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式