如何存储某一课程的上课时间?

2020-06-11 13:40:24 +08:00
 bear2000
在 MySQL 建立一张课程表,每一条记录是一门课程,假设一门课程在一周有多节,比如某门课程是周一上午第一节和周三上午第一节,如何建立字段?或者说如何在 MySQL 中实现这样的存储效果呢?大神给我支支招呗
2218 次点击
所在节点    MySQL
8 条回复
red2dog
2020-06-11 14:15:01 +08:00
存 CRON 表达式吗
bear2000
2020-06-11 14:56:31 +08:00
@red2dog 在 mysql 里怎么个存法
no1xsyzy
2020-06-11 15:52:28 +08:00
https://www.yinwang.org/blog-cn/2014/04/24/relational#%E5%85%B3%E7%B3%BB%E5%BC%8F%E6%A8%A1%E5%9E%8B%E7%9A%84%E5%B1%80%E9%99%90%E6%80%A7

如果你有一个动态长度的数组,那你是不能把它放在一个行里的。你需要把数组拿出来,旋转 90 度,做成另一个表 B 。从原来的表 A,用一个 “foreign key” 指向 B 。

大致看看就成,现在的 SQL 也允许更复杂的数据字段了,但各数据库具体会有微妙不同,你要充分兼容的做法,就是行向量转置成列向量。
mkiwi
2020-06-11 17:59:59 +08:00
1000 0000,0,1000 0000...,然后再转一下 80,0,80
gavindexu
2020-06-11 20:04:11 +08:00
我只能想到这样做……
表:课程明细
课程编号|星期|节一|节二|节三|节四|节五|节六|节七|节八|节九|节十|时间戳
表:课程概述
课程编号|名称|任课教师|开始日期|结束日期|状态|创建人|上次修改人|时间戳
表:修改记录?
goodboy95
2020-06-11 20:57:20 +08:00
最近我用 json 用魔怔了,看啥都想用 json,所以我现在肯定要回答用 json 存。
当然,存完之后,再建一个表,用来通过周几第几节课去查课程 id 。
goodboy95
2020-06-11 21:01:01 +08:00
等等,话说要再建个表的话,那个 json 还有存在的意义吗?
算了,当个冗余好了,说不定啥时候没命中缓存的话,能提升一丁点速度。
bear2000
2020-06-12 10:49:22 +08:00
@gavindexu 这个感觉可以,那我就这样搞了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/680655

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX