大概设计了一下,可供参考,有些点没有看懂你的描述:
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='评分表';