两个表的建立(外键和主键)实例
时间: 2023-11-30 15:04:44 浏览: 70
oracle建表练习(主键外键)
好的,以下是一个示例,包括两个表的建立,使用了外键和主键。
假设我们有两个表:学生表(student)和课程表(course)。学生表包含了学生的ID、姓名和性别信息;课程表包含了课程的ID、名称和学分信息。每个学生可以选修多门课程,每门课程可以被多个学生选修,因此我们需要创建一个中间表来存储学生和课程的关系,中间表的名称为“student_course”。
首先,我们需要创建学生表和课程表。学生表的ID字段为主键,课程表的ID字段也为主键。代码如下:
```
CREATE TABLE student (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
gender CHAR(1) NOT NULL
);
CREATE TABLE course (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
credits INT NOT NULL
);
```
接下来,我们需要创建中间表student_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)
);
```
在中间表中,我们将学生ID和课程ID作为联合主键,确保每个学生只能选修一次每门课程。同时,我们在student_id和course_id字段上创建了外键,指向学生表和课程表的ID字段。这样,我们就可以使用外键来确保每个学生和课程都存在于对应的表中,避免了数据不一致的情况。
总的来说,建立外键和主键可以确保数据的完整性和一致性,是数据库设计中非常重要的一部分。在实际应用中,我们需要根据具体业务需求来设计表结构和关系。
阅读全文