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