SQL复合键

SQL复合键,sql,compound-key,Sql,Compound Key,我试图创建一个表,作为主键使用其他表中的值。我的讲座说这是一个复合键(主键+外键),但我似乎无法找到如何启动一个。有人可以尝试解释这个概念以及如何尝试实现它吗?考虑由学生和课程集组成的数据。当您将其存储在DBMS中时,每个学生(或课程)都将有一个关联的唯一id,该id将被称为学生(或课程)的主键 要将学生与他们注册的课程相关联,您将创建一个如下所示的表 student_course(student_id, course_id) 要在mysql中实际创建它,您可以编写如下内容:- CREATE

我试图创建一个表,作为主键使用其他表中的值。我的讲座说这是一个复合键(主键+外键),但我似乎无法找到如何启动一个。有人可以尝试解释这个概念以及如何尝试实现它吗?

考虑由学生和课程集组成的数据。当您将其存储在DBMS中时,每个学生(或课程)都将有一个关联的唯一id,该id将被称为学生(或课程)的主键

要将学生与他们注册的课程相关联,您将创建一个如下所示的表

student_course(student_id, course_id)
要在mysql中实际创建它,您可以编写如下内容:-

CREATE TABLE student_course(student_id INT NOT NULL, 
                            course_id INT NOT NULL, 
                            PRIMARY KEY (student_id, course_id),
                            FOREIGN KEY (student_id) REFERENCES student(id), 
                            FOREIGN_KEY (course_id) REFERENCES course(id))
CREATE TABLE student_course(student_id INT NOT NULL, 
                            course_id INT NOT NULL, 
                            PRIMARY KEY (student_id, course_id),
                            FOREIGN KEY (student_id) REFERENCES student(id), 
                            FOREIGN_KEY (course_id) REFERENCES course(id))