关系数据库设计:用户列表
Relational database design: User lists
背景
我正在设计一个数据库,允许在我的网站上注册的人创建列表。这些列表将由用户组成。该功能将类似于 Twitter Lists。我正在使用 PHP 和 MySQL.
我目前的尝试
到目前为止,我想出了 2 tables:
用户(user_id,first_name,last_name)
列表(list_id,标题,描述)
我现在意识到我需要第三个 table 来连接两者,但我正在努力想出它应该具有的字段列表。我的第一个想法是我需要 id
、list_id
和 user_id
字段,但我不确定这是否是正确的方法。
我的问题
我需要在我的第三个 table 中创建哪些字段才能连接我的 USERS
和 LISTS
table?
我相信,您将需要:
Creator ID - To store the id of the user that created the list;
List ID - To store the id of the List;
User ID - To store the id of the user in that list;
你所追求的是一个支点table。
您最终会得到您已经指定的三个 table。
USERS(
user_id integer not null primary key,
first_name text not null,
last_name text not null
)
LISTS(
list_id integer not null primary key,
title text not null,
description text,
created_by integer references USERS
)
USERS_LISTS (
user integer not null references USERS,
list integer not null references LISTS,
unique (user, list)
)
USER_LISTS 是完成这项工作所需的多对多粘合剂。 id
字段是不必要的。
背景
我正在设计一个数据库,允许在我的网站上注册的人创建列表。这些列表将由用户组成。该功能将类似于 Twitter Lists。我正在使用 PHP 和 MySQL.
我目前的尝试
到目前为止,我想出了 2 tables:
用户(user_id,first_name,last_name)
列表(list_id,标题,描述)
我现在意识到我需要第三个 table 来连接两者,但我正在努力想出它应该具有的字段列表。我的第一个想法是我需要 id
、list_id
和 user_id
字段,但我不确定这是否是正确的方法。
我的问题
我需要在我的第三个 table 中创建哪些字段才能连接我的 USERS
和 LISTS
table?
我相信,您将需要:
Creator ID - To store the id of the user that created the list;
List ID - To store the id of the List;
User ID - To store the id of the user in that list;
你所追求的是一个支点table。 您最终会得到您已经指定的三个 table。
USERS(
user_id integer not null primary key,
first_name text not null,
last_name text not null
)
LISTS(
list_id integer not null primary key,
title text not null,
description text,
created_by integer references USERS
)
USERS_LISTS (
user integer not null references USERS,
list integer not null references LISTS,
unique (user, list)
)
USER_LISTS 是完成这项工作所需的多对多粘合剂。 id
字段是不必要的。