gpt4 book ai didi

mysql - 用于在帖子、评论和个人资料页面上上传文件的数据库设计

转载 作者:行者123 更新时间:2023-11-29 02:32:07 24 4
gpt4 key购买 nike

我是网络开发的新手,正在尝试实现一个网站,用户可以在该网站上上传照片和其他文件(即 .doc、.xls、.ppt、.txt、.pdf 等)到个人资料页面,帖子和评论。我正在使用 s3 存储桶进行文件存储,并将使用 mysql 数据库来存储文件 url 和其他关联数据。我感到困惑的是以下内容:

以下哪个是最好的主意?

a) 为以下各项创建一个文件表:个人资料、帖子、评论,然后获取与指定对象(帖子、评论或个人资料)的 id(A FK) 关联的所有文件。

b) 创建一个文件表,其中有一个名为“type”的字段,可以是“profile”、“post”、“comment”和一个名为“id”的字段,它是“type”字段中指定的表的 id 的 FK。

c) 使用一个完全不同的模式,任何人都认为它更有优势

编辑:我希望每个文件都与上传者(user_id)相关联,但也附加到上传它的实体(即个人资料、帖子、评论)

最佳答案

我会创建一个表 Files 就像

Files
|id|file_path|...(other information about the file)

如果PostCommentProfile 只能包含一个文件,您可以将file_id 直接添加到像这样的表格

Posts
|id|data|...|file_id|

如果他们可以拥有多个文件,您将需要一个映射表,例如:

Posts
|id|data|...

Posts_Files_Mapping
|post_id|file_id|

关于mysql - 用于在帖子、评论和个人资料页面上上传文件的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11530573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com