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

2021-08-27 11:33:07 +08:00
 sivl6p

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

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

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

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

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

14772 次点击
所在节点    程序员
106 条回复
MineDog
2021-08-30 20:09:30 +08:00
就是多了一张关系表,感觉没啥难理解,如果每个表的 id 类型都一致,也不是不可以
encro
2021-08-30 21:32:07 +08:00
@wowbaby

一般在登录后检测一次并缓存,所以也没什么问题了
ainimuyan
2021-08-30 23:31:27 +08:00
阿里一哥们来了每个表留一个 extra_data varchar(2048) 字段,我直呼牛逼
Akiya
2021-08-31 14:40:51 +08:00
他这个相当于把边都存在一张表里面了
你需要的是一个 Graph Database
Tinyang
2021-08-31 16:04:34 +08:00
这个在数据量小的情况下可以这么设计。但是如果数据关系表变得很大的时候,后面会很麻烦,很难拆开。别问我怎么知道的,我们现在有一张 14 亿左右的关系表(杂糅了很多关系在里面)
Casbin
2021-09-02 21:55:41 +08:00

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

https://ex.noerr.eu.org/t/798305

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

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

© 2021 V2EX