课题章节得数据库是怎么设计得

效果如图
图片说明

这种课程的章和节点,在数据库里面是怎么设计的呢

图片说明图片说明

类似这样就差不多了

CREATE DATABASE /*!32312 IF NOT EXISTS*/`course` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='N' */;

USE `course`;

/*Table structure for table `course` */

DROP TABLE IF EXISTS `course`;

CREATE TABLE `course` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '课程id',
  `name` varchar(50) DEFAULT NULL COMMENT '课程名称',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

/*Data for the table `course` */

insert  into `course`(`id`,`name`,`create_time`,`update_time`) values (1,'语文','2020-03-18 14:22:21','2020-03-18 14:22:23'),(2,'数学','2020-03-18 14:22:31','2020-03-18 14:22:34');

/*Table structure for table `section` */

DROP TABLE IF EXISTS `section`;

CREATE TABLE `section` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `course_id` int(11) DEFAULT NULL COMMENT '课程id',
  `title` varchar(100) DEFAULT NULL COMMENT '章节标题',
  `chapter_id` int(11) NOT NULL COMMENT '章节id',
  `chapter_parent_id` int(11) DEFAULT NULL COMMENT '章节父id',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`),
  KEY `course_id` (`course_id`),
  CONSTRAINT `PK_courseid_id` FOREIGN KEY (`course_id`) REFERENCES `course` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

/*Data for the table `section` */

insert  into `section`(`id`,`course_id`,`title`,`chapter_id`,`chapter_parent_id`,`create_time`,`update_time`) values (1,1,'第一章',1,0,'2020-03-18 14:23:14','2020-03-18 14:23:16'),(2,1,'第二章',2,0,'2020-03-18 14:23:59','2020-03-18 14:24:01'),(3,1,'第三章',3,0,'2020-03-18 14:24:22','2020-03-18 14:24:24'),(4,1,'第一节',4,1,'2020-03-18 14:24:53','2020-03-18 14:24:55'),(5,1,'第二节',5,1,'2020-03-18 14:25:14','2020-03-18 14:25:16'),(6,1,'第一节',6,2,'2020-03-18 14:25:40','2020-03-18 14:25:42'),(7,1,'第二节xxxx',7,2,'2020-03-18 14:27:02','2020-03-18 14:27:04');

关联ID,就像存放多层菜单一样,在表里原有的ID字段外,新增一个父ID(章),然后关联起来