大概设计了一下,可供参考,有些点没有看懂你的描述:
CREATE TABLE tb_class (
ID bigint(20) NOT NULL,
NAME varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
CODE varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
ROW_VERTION int(11) DEFAULT NULL,
CREATION_TIME datetime DEFAULT NULL,
LAST_UPDATE_TIME datetime DEFAULT NULL,
PRIMARY KEY (ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='班级表';
CREATE TABLE tb_student (
ID bigint(20) NOT NULL,
NAME varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
CODE varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
CLASS_ID bigint(20) DEFAULT NULL,
ROW_VERTION int(11) DEFAULT NULL,
CREATION_TIME datetime DEFAULT NULL,
LAST_UPDATE_TIME datetime DEFAULT NULL,
PRIMARY KEY (ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生表';
CREATE TABLE tb_tearcher (
ID bigint(20) NOT NULL,
NAME varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
CODE varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
ROLE_TYPE varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '类型(老师、班主任)',
ROW_VERTION int(11) DEFAULT NULL,
CREATION_TIME datetime DEFAULT NULL,
LAST_UPDATE_TIME datetime DEFAULT NULL,
PRIMARY KEY (ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='教师表';
CREATE TABLE tb_tearcher_class (
ID bigint(20) NOT NULL,
TEARCHER_ID bigint(20) DEFAULT NULL,
CLASS_ID bigint(20) DEFAULT NULL,
ROW_VERTION int(11) DEFAULT NULL,
CREATION_TIME datetime DEFAULT NULL,
LAST_UPDATE_TIME datetime DEFAULT NULL,
PRIMARY KEY (ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='老师班级关系中间表';
CREATE TABLE tb_course (
ID bigint(20) NOT NULL,
PARENT_ID bigint(20) DEFAULT NULL,
NAME varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
CODE varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
LEVEL int(1) DEFAULT NULL COMMENT '等级(1级、2级)',
ROW_VERTION int(11) DEFAULT NULL,
CREATION_TIME datetime DEFAULT NULL,
LAST_UPDATE_TIME datetime DEFAULT NULL,
PRIMARY KEY (ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='课程表';
CREATE TABLE tb_grade (
ID bigint(20) NOT NULL,
CLASS_ID bigint(20) DEFAULT NULL,
COURSE_ID bigint(20) DEFAULT NULL,
COURSE_NAME varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
SCORE double DEFAULT NULL COMMENT '得分',
DESCRIPITON text COLLATE utf8mb4_unicode_ci COMMENT '评价',
STUDENT_ID bigint(20) DEFAULT NULL,
STUDENT_NAME varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
TEARCHER_ID bigint(20) DEFAULT NULL,
TEARCHER_NAME varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
YEAR int(2) DEFAULT NULL,
MONTH int(2) DEFAULT NULL,
ROW_VERTION int(11) DEFAULT NULL,
CREATION_TIME datetime DEFAULT NULL,
LAST_UPDATE_TIME datetime DEFAULT NULL,
PRIMARY KEY (ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='评分表';