如何创建桥梁 table?我是否创建两个主键和两个外键?

How do I create a bridge table? Do I create two primary keys and two foreign keys?

我有一个 table 想做,它是老师 table 和 class table 的桥梁。这是ERD

我最初以为我要通过

创建这个table
CREATE TABLE class_teacher
(
    teacher_id number(3),
    class_id number(2),

    CONSTRAINT class_teacher_pk 
        PRIMARY KEY(teacher_id, class_id),
    CONSTRAINT class_teacher_teacher_fk 
        FOREIGN KEY(teacher_id) REFERENCES teacher(teacher_id),
    CONSTRAINT class_teacher_class_fk 
        FOREIGN KEY(class_id) REFERENCES class(class_id)
);

但在网络上我看到人们只有两个外键而没有主键,或者 table 没有外键但有两个列的主键。

我做错了吗?

Am I doing it incorrectly?

不对,看起来是正确的。

虽然我会质疑数字数据类型的大小,因为您被限制为只有 1999 名教师和 199 名 类(包括负数);这可能足以立即使用,但几年后 类 重新组织或重写教学大纲并创建新的 类 时,您可能 运行 出主键.

create语句returns有没有错误?否则你应该很好。

尝试在所有 3 个表和 运行 一些 delete 语句中插入一些数据,看看效果如何。