mysql数据库设计、加急只要解决再加20

首先有两个角色要登录
班主任和任课老师
班主任登录后新增班级和新增学生,然后对单个学生进行(德、智、体、美、劳(一级)五类中一类(德)的(二级)子类进行文字描述,并对一级(德)打分,然后保存),最后进行整个班级纪律查询(学生姓名、五项各自最后的得分、德、智、体、美、劳、总得分情况、根据等分(以10人为例,10%为A,20%为B,等)),最后查询个人(学生姓名、一级德、二级子项、老师或班主任描述内容,加分减分记录)(查询要分为四个月,可以按单月查询(个人和班级都要))
教师:选择班级,对学生进行文字记录(和班主任相同),但老师不要查询

新手,超级着急,请各位大神帮帮忙

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

CREATE TABLE tb_class (
ID bigint(20) NOT NULL,
NAME varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '班级名称',
CODE varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '班级code',
ROW_VERTION int(11) DEFAULT NULL COMMENT '行版本号',
CREATION_TIME datetime DEFAULT NULL COMMENT '创建时间',
LAST_UPDATE_TIME datetime DEFAULT NULL COMMENT '最后更新时间',
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 COMMENT '父id',
NAME varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '课程名称',
CODE varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '课程code',
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 COMMENT '班级id',
COURSE_ID bigint(20) DEFAULT NULL COMMENT '课程id',
COURSE_NAME varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '课程名',
SCORE double DEFAULT NULL COMMENT '得分',
DESCRIPITON text COLLATE utf8mb4_unicode_ci COMMENT '评价',
STUDENT_ID bigint(20) DEFAULT NULL COMMENT '学生id',
STUDENT_NAME varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '学生名称',
TEARCHER_ID bigint(20) DEFAULT NULL COMMENT '教师id',
TEARCHER_NAME varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '教师名称',
YEAR int(2) DEFAULT NULL COMMENT '年份',
MONTH int(2) 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_student (
ID bigint(20) NOT NULL,
NAME varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '学生名称',
CODE varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '学生code(学号等)',
CLASS_ID bigint(20) DEFAULT NULL COMMENT '班级id',
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 COMMENT '教师名称',
CODE varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '教师code',
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 COMMENT '教师id',
CLASS_ID bigint(20) DEFAULT NULL COMMENT '班级id',
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='老师班级关系中间表';