本人刚学习数据库,可能遇到的问题比较弱智,但还是希望各位神牛申以援手,帮一下忙。谢谢!我设计了四个表
表1: student  属性: {学号      姓名       性别         年龄     院系}   主键: 学号
表2: course   属性: {课程号    课程名     先行课号     学分}            主键: 课程号
表3: xuanke   属性: {学号      课程号     成绩}                         主键: 学号and课程号(共同作为主键)
表4: depart   属性: {院系号    院系}                                    主键: 院系我想在xuanke中设置两个外键: “学号”  作为外键与表1相联系
                             “课程号”作为外键与表2相联系然后因为涉及两个属性,这两个属性合二为一是本表的主键,,各自分开又是外键,所以有些迷糊,不知该怎么设置外键,希望各位提示一下,谢谢。
        

解决方案 »

  1.   

    主健表分別選擇
    student
    course
      

  2.   

    CREATE TABLE test_1(ID INT NOT NULL  UNIQUE)CREATE TABLE test_2(ID2 INT NOT NULL  UNIQUE)CREATE TABLE test_3(ID INT NOT NULL FOREIGN KEY REFERENCES test_1(ID),ID2 INT  NOT NULL FOREIGN KEY  REFERENCES test_1(ID))
    --如果需要級聯更新刪除時用ON UPDATE cascade/ON delete cascadeCREATE TABLE test_4(ID INT NOT NULL ,ID2 INT)ALTER TABLE test_4 ADD CONSTRAINT FK_test_4_ID  FOREIGN KEY (ID) REFERENCES test_1(ID) --表存在時這樣用DROP TABLE test_4,test_3,test_2,test_1
    用語句時這樣用
      

  3.   

    自己操作成功,谢谢各位!!!
    具体方法是 
    打开“表和列范式”,首先在外键表里,“学号”不修改,“课程号”选为“无”
                        然后在逐渐表里,选“student”,然后选择“学号”,这样第一个外键就设计好了。
                        同理:
                        首先在外键表里,“课程号”不修改,“学号”选为“无”
                        然后在逐渐表里,选“course”,然后选择“课程号”,这样第二个外键就设计好了。