请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于course_content_file表的创建的追问

我讨论的重点不是表名的更改,而是表结构,即

create table course_content_file (
	id char(8) not null default ‘’ comment ‘id’,
	course_id char(8) not null comment ‘课程id’,
	url varchar(100) comment ‘地址’,
	name varchar(100) comment ‘文件名’,
	size int comment ‘大小|字节b’,
	primary key (id)
) engine=innodb default charset=utf8mb4 comment=‘课程内容文件’;

改为

create table course_file (
	id char(8) not null default ‘’ comment ‘id’,
	course_id char(8) comment ‘课程id|course.id’,
	file_id char(8) comment ‘文件id|file.id’,
	primary key (id)
) engine=innodb default charset=utf8mb4 comment=‘课程文件’;

原因是受 “ 课程分类” 表的启发,

create table course_category (
	id char(8) not null default ‘’ comment ‘id’,
	course_id char(8) comment ‘课程|course.id’,
	category_id char(8) comment ‘分类|course.id’,
	primary key (id)
) engine=innodb default charset=utf8mb4 comment=‘课程分类’;

因为 course_content_file 中的 url, name, size 都来自file表的 path, name, size,想听听老师的想法?

正在回答

1回答

你是想直接和file表关联起来?这样也是可以的,没问题。我是考虑要在内容页面显示文件信息,且不需要分片相关的字段,所以将几个必要的字段冗余成一张course_content_file表。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕神4535282 #1
    哦,明白了,在后面的课程中,会向file表中新增(`shard_index` int comment '已上传分片');
     (`shard_size` int comment '分片大小|B');
     (`shard_total` int comment '分片总数');
     (`key` varchar(32) comment '文件标识'); 这些与分片相关的字段,这些字段没必要在课程内容页面中显示,所以,将几个必要的字段冗余成一张course_content_file表
    回复 有任何疑惑可以回复我~ 2020-08-12 09:58:33
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信