gpt4 book ai didi

php - 用户角色数据库架构设计

转载 作者:行者123 更新时间:2023-11-29 14:34:44 25 4
gpt4 key购买 nike

我正在考虑涉及用户和用户角色的架构设计,但我不确定什么是更好的路线。

选项 1

创建三张表,一张包含用户信息,一张包含角色信息,一张包含用户角色关系。

users {
u_id,
etc
}

roles {
r_id,
r_name,
etc
}

user_roles {
u_idm
r_id
}

选项 2

创建两张表,一张包含用户信息,另一张包含角色、角色信息和关系信息。

users {
u_id,
etc
}

roles {
r_id,
u_id,
r_name,
etc
}

选项 1 更强大,但需要额外的联接。选项 2 将需要一个额外的主键,但只会是一个连接。如果我更改了角色名称,则使用选项进行更新将需要更长的时间,但我不认为更新会很频繁。

对于可扩展的解决方案,哪一个更好?我的失踪还有哪些其他见解?这是针对 mysql 和 postgresql 解决方案。

最佳答案

选项 1。如果每个角色只有一个用户可以拥有,那么角色有什么用呢?如果您有 100 个注册用户,则“注册用户”将有 100 个重复定义。

“etc”越多,您的数据库就会越大。

拥有如此多的重复项会减慢数据库速度,即使少一个连接,最终速度也会慢很多。

如果您运行大量基于角色的查询和 relly eel,就像您需要一个像选项二中的数据库一样,您仍然可以创建一个 View 并让数据库缓存它,但我怀疑这对您有任何好处。

关于php - 用户角色数据库架构设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9316478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com