【发布时间】:2011-03-09 03:39:22
【问题描述】:
我正在建立一个论坛类型的网站,用户将拥有一个头像。主页将有一个小版本,而单个页面将有一个大版本的头像。
所以为了带宽,我会有不同的尺寸:
example.png
example_thumb.png
不同大小的首选存储和检索方法是什么?
这是我目前的想法:
User Table UserId | AvatarName | AvatarExt
1 | example | .png
这样,只要我知道有一个“_thumb”版本,我就可以使用相同的查询获得基本版本和拇指版本
或者我应该像这样创建一个元表:
UserMeta UserId | Avatar | AvatarType
1 | example.png | original
1 | example_thumb.png | thumbnail
我想要一些建议
【问题讨论】:
-
我会回避称它为 UserMeta - 这并没有真正捕捉到这种关系。这种关系实际上是从用户到化身的一对多关系。因此,您应该有一个用户表和一个头像表,每个用户的头像表中有 0 条或更多条记录。根据您当前的需求,您通常会为每个用户拥有 2 条记录,但假设您稍后决定允许用户拥有多个头像 - 您实际上不需要更改此结构以适应这种情况。
-
我使用 'UserMeta' 作为示例。我确切地知道你的意思是让它成为一个更好的名字。你是一个巨大的帮助,谢谢一群人
标签: database