• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sivl6p
V2EX  ›  程序员

队伍里的小伙子这样设计表,应该怎么评价

  •  1
     
  •   sivl6p · Aug 27, 2021 · 15702 views
    This topic created in 1751 days ago, the information mentioned may be changed or developed.

    项目里有几个多对多关系,需要表达到关系数据库。

    比如:用户 角色 权限; 用户与角色是多对多关系;角色与权限是多对多关系;

    一般人会分别创建 [用户角色表]、[角色权限表],来存储多对多关系,这个没啥好说的。

    现在队伍里一个小伙子嫌麻烦,就创建了一张 [数据关系表],大致字段有:[第一个 id],[第二个 id],[表名]。

    大家分析下,这种做法,要如何评价

    Supplement 1  ·  Aug 27, 2021
    这个小伙子建了四个模型:用户、角色、权限、数据关系。

    我是兼着负责这个项目的技术的,过来时项目已经开发了一段时间了
    ,小伙子写的是整个平台的基础功能,我很想让小伙子按着常规方法来做

    但是小伙不直接归我管,只能讲道理,但是又没有必杀的理由

    毕竟这样做功能也能正常跑,给领导演示肯定没问题

    之类的问题很多,小伙子的台词是“你不了解,就别瞎说”。
    无言反驳,我也无法去证明我是不是了解。

    很是苦恼啊。
    106 replies    2021-09-02 21:55:41 +08:00
    1  2  
    MineDog
        101
    MineDog  
       Aug 30, 2021
    就是多了一张关系表,感觉没啥难理解,如果每个表的 id 类型都一致,也不是不可以
    encro
        102
    encro  
       Aug 30, 2021
    @wowbaby

    一般在登录后检测一次并缓存,所以也没什么问题了
    ainimuyan
        103
    ainimuyan  
       Aug 30, 2021
    阿里一哥们来了每个表留一个 extra_data varchar(2048) 字段,我直呼牛逼
    Akiya
        104
    Akiya  
       Aug 31, 2021
    他这个相当于把边都存在一张表里面了
    你需要的是一个 Graph Database
    Tinyang
        105
    Tinyang  
       Aug 31, 2021   ❤️ 1
    这个在数据量小的情况下可以这么设计。但是如果数据关系表变得很大的时候,后面会很麻烦,很难拆开。别问我怎么知道的,我们现在有一张 14 亿左右的关系表(杂糅了很多关系在里面)
    Casbin
        106
    Casbin  
    PRO
       Sep 2, 2021
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3218 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 03:48 · PVG 11:48 · LAX 20:48 · JFK 23:48
    ♥ Do have faith in what you're doing.