CREATE TABLE Departments
       (Dno char(4) PRIMARY KEY,
        Dname char(10),
        Dheadno char(7),
        FOREIGN KEY (Dheadno) REFERENCES Teachers(Tno));
CREATE TABLE Students
       (Sno char(9) PRIMARY KEY,
        Sname char(10) NOT NULL,
        Sex char(2) CHECK (Sex = '男' OR Sex = '女'),
        Birthday DATE,
        Enrollyear char(4),
        Speciality char(20),
        Dno char(3),
        FOREIGN KEY (Dno) REFERENCES Departments (Dno));
CREATE TABLE Courses
       (Cno char(5) PRIMARY KEY,
        Cname char(20) NOT NULL,
        Period smallint,
        Credit smallint);
CREATE TABLE Teachers
       (Tno char(7) PRIMARY KEY,
        Tname char(10) NOT NULL,
        Sex char(2) CHECK (Sex = '男' OR Sex = '女'),
        Birthday DATE,
        Title char(6),
        Dno char(4),
        FOREIGN KEY (Dno) REFERENCES Departments (Dno));
CREATE TABLE Teaches
       (Tno char(7),
        Cno char(5),
        TCscore smallint,
        PRIMARY KEY (Tno,Cno),
        FOREIGN KEY (Tno) REFERENCES Teachers (Tno),
        FOREIGN KEY (Cno) REFERENCES Courses (Cno));
can not add foreign key constraint???

解决方案 »

  1.   

    --这样改下就行了CREATE TABLE Departments
           (Dno char(4) PRIMARY KEY,  
            Dname char(10),
            Dheadno char(7),
           ); CREATE TABLE Students
           (Sno char(9) PRIMARY KEY,
            Sname char(10) NOT NULL,
            Sex char(2) CHECK (Sex = '男' OR Sex = '女'),
            Birthday date,
            Enrollyear char(4),
            Speciality char(20),
            Dno char(4),
            FOREIGN KEY (Dno) REFERENCES Departments (Dno));CREATE TABLE Courses
           (Cno char(5) PRIMARY KEY,
            Cname char(20) NOT NULL,
            Period smallint,
            Credit smallint);CREATE TABLE Teachers
           (Tno char(7) PRIMARY KEY,
            Tname char(10) NOT NULL,
            Sex char(2) CHECK (Sex = '男' OR Sex = '女'),
            Birthday date,
            Title char(6),
            Dno char(4),
            FOREIGN KEY (Dno) REFERENCES Departments (Dno));CREATE TABLE Teaches
           (Tno char(7),
            Cno char(5),
            TCscore smallint,
            PRIMARY KEY (Tno,Cno),
            FOREIGN KEY (Tno) REFERENCES Teachers (Tno),
            FOREIGN KEY (Cno) REFERENCES Courses (Cno));alter table Departments
    add constraint fk_dno
    FOREIGN KEY(Dheadno) REFERENCES Teachers(Tno)