【发布时间】:2012-03-08 03:47:26
【问题描述】:
我正在考虑一种涉及拥有用户和用户角色的架构设计,但我不确定哪种方式更好。
选项 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 解决方案。
【问题讨论】:
标签: php mysql sql postgresql scalability