我使用PostgreSQL 9.3数据库创建一个小型用户数据库。一个用户可以是不同组的一部分。
数据库中有2个表: 用户和组 所有列的数据类型都是文本
用户中的每一行都是一个用户,组中的每一行都是一个组。
用户中的一列应该是 groups < / em>的
如何配置 groups -column以将 group 的多个条目添加到单个用户
答案 0 :(得分:3)
您所描述的是关系数据库中标准的多对多关系。
您可以通过在用户和组之间创建映射表来解决此问题:
如果你现在有这样的话:
create table users (id integer primary key, user_name text);
create table groups (id integer primary key, group_name text);
映射表看起来像这样:
create table user_groups
(
user_id not null references users,
group_id not null references groups,
primary key (user_id, group_id)
);
通过使用(user_id, group_id)
作为主键,您可以确保用户只能映射到同一个组一次。