在SQL中,我有一个供用户使用的表。在我的网站上,我希望人们能够建立由2个或更多用户组成的组,但是我不知道如何存储。人们可以同时属于多个小组。如果我要创建一个表dynamodb = Aws::DynamoDB::Client.new(
access_key_id: "xxxx",
secret_access_key: "xxxxx",
region: ENV['AWS_REGION']
)
,该如何在表中存储其成员?
答案 0 :(得分:1)
您将有一个表groups
和一个名为userGroups
的表。这些看起来像:
create table groups (
groupId int auto_increment primary key,
groupName varchar(255)
);
create table userGroups (
userGroupId int auto_increment primary key,
userId int not null,
groupId int not null,
foreign key (userId) references users(userId),
foreign key (groupId) references groups(groupId)
);
答案 1 :(得分:0)
您所描述的被称为多对多关系,它需要第三个表:
答案 2 :(得分:0)
第三个表包含一个组的主键(pk)和一个人的pk。这些列是表格的pk。你可以有其他 列也是如此约会的日期或其他。每个人/组在此表中都有一行。
这是一个常见的概念/模式,因此请确保您学习并理解它。