请稍等 ...
×

采纳答案成功!

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

关于section表?

老师,请教一个问题,本节中,section表新增了一个vod的字段。

ALTER TABLE `section` ADD COLUMN (
  `vod` CHAR(32) COMMENT 'VOD|阿里云VOD'
);

请问老师,为何不是在 section 表中新增一个 file_id 的字段,而是在section表中新增一个vod的字段呢,这也不太符合老师你以往的风格,以往像A表要关联B表,你也是在A表中新增一个B表的Id. e.g: course表要关联teacher表,就是如此。
我的理由有几点:

  1. section表要关联file表,与 course 表关联 teacher表一样,都是一对多的关系(后者对前者)。一节下只能有一个文件,而一个文件可以对应多个小节。同理,一个course下只能有一个teacher,而一个teacher可以教多门课。为此,在course表中新增了一个 teacher_id的字段来关联teacher表,那基于这个逻辑,不是应该在 section表中新增一个 file_id 来关联file表吗?
  2. 因为file表中的vod不是unique key,不像file表中的id一样有unique的性质,因此,如果根据 section 表中的 vod来查询 file表的符合的记录,有可能会查出来多条,从而得不到准确关联的那一条。
  3. 同上,如果我要查section表的某一章关联文件的大小,根据vod的话,也没办法准备查询出来,因为会返回多条记录。
  4. 以上几种情况,如果section采用新增 file_id 而不是新增 vod 的话,都可以轻松解决。
  5. 请问老师,我上面的说法对吗? 你采用 vod 的原因是?

正在回答

插入代码

1回答

这里主要是考虑读取方便,因为对视频播放来说,只要一个vod信息就可以了,像头像、视频这些字段,我们都是存具体的值的,而不是关联file,否则每次读文件相关的字段,都得去关联file表。

当然,如果你需要更多的信息,确实是用file_id来关联比较合理

0 回复 有任何疑惑可以回复我~
  • 提问者 慕神4535282 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2021-03-29 13:18:45
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号