【发布时间】:2012-07-17 20:42:26
【问题描述】:
我是网络开发的新手,正在尝试实现一个网站,用户可以在该网站上在个人资料页面上上传照片和其他文件(即 .doc、.xls、.ppt、.txt、.pdf 等...),职位和 cmets。我正在使用 s3 存储桶进行文件存储,并将使用 mysql 数据库来存储文件 url 和其他关联数据。我感到困惑的是:
以下哪个是最好的主意?
a) 为以下各项创建文件表:profiles、posts、cmets,然后获取与指定对象(post、comment 或 profile)的 id(A FK) 关联的所有文件。
b) 创建一个文件表,其中包含一个名为“type”的字段,该字段可以是“profile”、“post”、“comment” 和一个名为“id”的字段,它是“type”字段中指定的表的 id 的 FK。
c) 使用任何人都认为更有利的完全不同的架构
编辑:我希望每个文件都与上传者(user_id)相关联,但也附加到它上传的实体(即个人资料、帖子、评论)
【问题讨论】:
-
这不是一个足够充实的问题。由于不同的原因,这些不同的方法可能会奏效。您需要断言更多的不变量,也许还有一些可能导致其中一个或另一个不舒服的原因。
标签: mysql database-design