V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nonesuccess
V2EX  ›  程序员

请教一个 app 的数据库设计问题,多个用户角色使用不同的 app,数据库应当怎样设计好一些

  •  
  •   nonesuccess · 2018-03-17 18:16:55 +08:00 · 3351 次点击
    这是一个创建于 2443 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前没开发过 app,感觉好多问题想不清楚。

    一个教务类的 app,用户分为家长和老师。app 开发两个,家长和老师各用各的,没有互相转换的可能。

    家长和老师要存的业务字段不同,类似于家长要保存“有几个孩子”,老师要保存“教了几年课”。

    第一个问题:

    保存用户名、密码的表,和保存姓名、出生年月等业务信息的表,是否要分开?

    第二个问题:

    家长和老师是否要用同一张表?

    按照业务划分的话,应该不用同一张表。犹豫的理由是,不清楚是否有“统计今天所有 app 登录次数的功能”,另外,有类似于“老师和家长给班级相册评论”的功能,如果是完全分来的两个表,没有抽象出一层概念的话,评论记录这张表的外键要怎样设计呢

    7 条回复    2018-03-19 08:47:44 +08:00
    l00t
        1
    l00t  
       2018-03-17 18:21:45 +08:00
    第一个问题:分吧
    第二个问题:三张表不行么?抽象的用户一个表,内含全局统一的用户 ID、密码之类的。然后家长一个表,老师一个表,字段各自随各自的业务而定。
    summerwar
        2
    summerwar  
       2018-03-17 18:30:04 +08:00
    用户表(主要是账号、密码、人物角色)、不同角色单独表、各种业余表

    多弄几个表就是了,两个 app 里调用不同的数据就是了
    nonesuccess
        3
    nonesuccess  
    OP
       2018-03-17 20:15:48 +08:00
    @summerwar 用户表和不同角色单独的表之间的关联关系要用什么模式呢?
    summerwar
        4
    summerwar  
       2018-03-17 20:25:22 +08:00
    一对一,角色表里存个用户 id 就可以了
    janus77
        5
    janus77  
       2018-03-18 00:02:42 +08:00
    进去登录时直接选角色就完了
    更彻底的分两个 APP 呗,外卖还有送餐员专用客户端呢
    winglight2016
        6
    winglight2016  
       2018-03-18 12:14:31 +08:00
    你这是服务器后台的设计问题,跟 app 有什么关系?
    xAx
        7
    xAx  
       2018-03-19 08:47:44 +08:00
    这个不是“之前没开发过 app,感觉好多问题想不清楚”。
    这是:之前没做过任何项目
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2724 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:10 · PVG 23:10 · LAX 07:10 · JFK 10:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.