我们有内部团队的软件存储库网站来访问它
目前有很多用户,分为不同的组
为了管理它们,我们使用像二进制文件那样的字符串,比如'000101'并检查1和它的位置,基于此,我们决定用户属于哪个组...
例如,
'01111'=>组'test1'
'10111'=> group'test2'
'11011'=> 'exa1'组
'11101'=> 'exa2'组
'11110'=> group'admin'
我们通过群组用户访问进行'AND'操作...
user ='someone',access ='01001'...表示用户(某人)属于groups => test2和admin。
我们存储这个二进制文件。字符串到DB。
现在情况就像没有。群体增加(60+),我正在寻找新的逻辑而不是二进制字符串来识别用户和各自的群体
因此,如果任何人实现或知道不同的逻辑而不是一个以上,那么请分享它,这将是很大的帮助。
在此先感谢。
答案 0 :(得分:2)
CREATE TABLE groups_members (
group_id INTEGER NOT NULL,
member_id INTEGER NOT NULL,
PRIMARY KEY(member_id, group_id)
);
基本SQL。拥有members
表,groups
表和将成员映射到组的表。这称为多对多关系。
顺便提一下,你显示的数字没有意义......如果你想要60个组,你需要60位长的数字,除非有些组是其他组的超集。要确定组成员身份,它将是OR操作,而不是AND。