mysql 设置关联_如何在MySQL中创建用户/组关联

我正在开发一个PHP / MySQL的webapp,我已经到了需要创建用户/组关联的地步.

这是我拍摄的内容:

>我将拥有越来越多的团体和用户.

>用户将能够修改他们的组关联

随时随地.

>小组协会将决定内容的优先级

显示在网站上.

>发送给用户的电子邮件更新将由其当前组确定

关联.

我的问题是,处理此用户/组关联的最佳方法是什么?

我当前的表结构如下所示(为简化通信而简化):

Users:

User_ID, User_name, Fname, Lname, is_dealer

Deals:

Deal_ID, Dealer_ID, Deal_name, Deal_content

Dealers:

Dealer_ID, User_ID, Dealer_name, Dealer address.. etc.

我最初的想法是创建一个包含Group_ID和Group_name列的Groups表.然后我可以做两件事之一:

我可以在Groups表中创建一个名为“User_ID”的列,对于每个组关联,我都有一行说明Group_ID,Group_name和User_ID.该选项感觉它会创建一个巨大的超级冗余数据库表.

我能想到的另一个选择是在Users表中创建一个Group_ID列,并在一些必须解析的文本数组中填充用户所关联的所有组.这里的问题是我希望有无限数量的组,并且将用户表组中的每一行的所有用户的组关联卡入一个“值”似乎非常草率.

真的,这是一个SQL数据库逻辑/设计问题.

任何援助都将是一个很大的帮助.

谢谢!

解决方法:

只需创建一个将用户与组相关联的表.两列:一列存储唯一的user_id,另一列存储唯一的group_id.

如果使user_id-group_id组合唯一,则表中不需要唯一键.两个列就足够了.

+---------+ +------------+

| user | | user2group | +----------+

+---------+ +------------+ | group |

| user_id |----->| user_id | +----------+

| name | | group_id |

| pass | +------------+ | name |

| ... | | ... |

+---------+ +----------+

如果我记得正确,这是规范化的三个步骤之一.也许你应该看看这个.

标签:mysql,sql,database-design,relational-database

来源: https://codeday.me/bug/20190716/1479376.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值