PostgreSQL中有多个条目

时间:2015-09-16 08:58:52

标签: postgresql database-design

我使用PostgreSQL 9.3数据库创建一个小型用户数据库。一个用户可以是不同组的一部分。

数据库中有2个表:  用户 所有列的数据类型都是文本

用户中的每一行都是一个用户,中的每一行都是一个组。
用户中的一列应该是 groups < / em>的

如何配置 groups -column以将 group 的多个条目添加到单个用户

1 个答案:

答案 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)作为主键,您可以确保用户只能映射到同一个组一次。