V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
bear2000
V2EX  ›  MySQL

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

  •  1
     
  •   bear2000 · 2020-06-11 13:40:24 +08:00 · 2271 次点击
    这是一个创建于 1626 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在 MySQL 建立一张课程表,每一条记录是一门课程,假设一门课程在一周有多节,比如某门课程是周一上午第一节和周三上午第一节,如何建立字段?或者说如何在 MySQL 中实现这样的存储效果呢?大神给我支支招呗
    8 条回复    2020-06-12 10:49:22 +08:00
    red2dog
        1
    red2dog  
       2020-06-11 14:15:01 +08:00
    存 CRON 表达式吗
    bear2000
        2
    bear2000  
    OP
       2020-06-11 14:56:31 +08:00
    @red2dog 在 mysql 里怎么个存法
    no1xsyzy
        3
    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
        4
    mkiwi  
       2020-06-11 17:59:59 +08:00
    1000 0000,0,1000 0000...,然后再转一下 80,0,80
    gavindexu
        5
    gavindexu  
       2020-06-11 20:04:11 +08:00 via iPhone
    我只能想到这样做……
    表:课程明细
    课程编号|星期|节一|节二|节三|节四|节五|节六|节七|节八|节九|节十|时间戳
    表:课程概述
    课程编号|名称|任课教师|开始日期|结束日期|状态|创建人|上次修改人|时间戳
    表:修改记录?
    goodboy95
        6
    goodboy95  
       2020-06-11 20:57:20 +08:00
    最近我用 json 用魔怔了,看啥都想用 json,所以我现在肯定要回答用 json 存。
    当然,存完之后,再建一个表,用来通过周几第几节课去查课程 id 。
    goodboy95
        7
    goodboy95  
       2020-06-11 21:01:01 +08:00
    等等,话说要再建个表的话,那个 json 还有存在的意义吗?
    算了,当个冗余好了,说不定啥时候没命中缓存的话,能提升一丁点速度。
    bear2000
        8
    bear2000  
    OP
       2020-06-12 10:49:22 +08:00
    @gavindexu 这个感觉可以,那我就这样搞了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2285 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:46 · PVG 09:46 · LAX 17:46 · JFK 20:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.