如何为社交网站安排一个SQL table?
how to arrange a SQL table for social website?
我想创建一个网站,用户可以 post 一些东西,他们的朋友可以看到 post。我该如何安排 table?我有一个想法,但这是一个好方法吗?:
USERS TABLE
-------------
user id| user name| birth day|...
USERS_POST TABLE
-------------
user id|post 1|date|post 2|date|post 3|date......post 9999999|date
USERS_POST TABLE 中有很多列。有什么不同的方法吗?
您不需要为每个 post 用户创建一个列。
您将有一个 post table 和一个用户 table.
post table 将包含例如
ID、用户 ID、日期和 post
对于每个 post,您将在 post table 中创建一个新条目。
您现在可以使用 post table 加入用户 table 以获取所有条目。
编辑:
当然,您可以不在 post table 中包含用户 ID,还可以创建一个 table 来显示 post 和用户 table 之间的关系:
将不同的 post 作为列,您将不得不一直修改 table 结构。
我要做的是创建 3 tables:
USERS TABLE
-------------
user id| user name| birth day|...
USERS_POSTS TABLE
-------------
user id| post id
POSTS TABLE
-------------
post id| date| post title| post text| ...
然后,要获得用户拥有的 posts:
SELECT postid FROM USERS_POSTS WHERE userid=?
并获得text/title/etc。任何post:
SELECT * 来自 postid=?
的帖子
您也可以在 USERS_POSTS table 中使用 post 标题和文本,但从长远来看,它不会那么灵活和可扩展。
我想创建一个网站,用户可以 post 一些东西,他们的朋友可以看到 post。我该如何安排 table?我有一个想法,但这是一个好方法吗?:
USERS TABLE
-------------
user id| user name| birth day|...
USERS_POST TABLE
-------------
user id|post 1|date|post 2|date|post 3|date......post 9999999|date
USERS_POST TABLE 中有很多列。有什么不同的方法吗?
您不需要为每个 post 用户创建一个列。 您将有一个 post table 和一个用户 table.
post table 将包含例如 ID、用户 ID、日期和 post
对于每个 post,您将在 post table 中创建一个新条目。
您现在可以使用 post table 加入用户 table 以获取所有条目。
编辑: 当然,您可以不在 post table 中包含用户 ID,还可以创建一个 table 来显示 post 和用户 table 之间的关系:
将不同的 post 作为列,您将不得不一直修改 table 结构。
我要做的是创建 3 tables:
USERS TABLE
-------------
user id| user name| birth day|...
USERS_POSTS TABLE
-------------
user id| post id
POSTS TABLE
-------------
post id| date| post title| post text| ...
然后,要获得用户拥有的 posts: SELECT postid FROM USERS_POSTS WHERE userid=?
并获得text/title/etc。任何post: SELECT * 来自 postid=?
的帖子您也可以在 USERS_POSTS table 中使用 post 标题和文本,但从长远来看,它不会那么灵活和可扩展。