Rumah  >  Artikel  >  pembangunan bahagian belakang  >  请教一个数据库设计表问题

请教一个数据库设计表问题

WBOY
WBOYasal
2016-06-06 20:48:46931semak imbas

说一个小微博系统,用的mysql数据库, 例如微博表结构如下: content(文字内容), photos(图片), video(视频), dateCreated(发布日期)

问题是这样的, 我发一条微博后, 如何判断这个微博是否带视频,或者图片呢?

方案1:通过判断photos,video 是否为空? 方案2:增加2个字段判断是否photos,video为空? 例如0代表空,1代表有

我不知道第一种方式是否速度上有问题? 或者有其他更好的方法。

烦请大侠们帮忙,谢谢

回复内容:

说一个小微博系统,用的mysql数据库, 例如微博表结构如下: content(文字内容), photos(图片), video(视频), dateCreated(发布日期)

问题是这样的, 我发一条微博后, 如何判断这个微博是否带视频,或者图片呢?

方案1:通过判断photos,video 是否为空? 方案2:增加2个字段判断是否photos,video为空? 例如0代表空,1代表有

我不知道第一种方式是否速度上有问题? 或者有其他更好的方法。

烦请大侠们帮忙,谢谢

再建一个附件表,id, resourceType, attachFile ,
另一个关联表结构为id, contentId, resourceId, resourceType

<code class="lang-sql">#查看是否带有图片
select count(*) from 关联表 r where r.contentId = ? and r.resourceType = 0
</code>

这么设计原因是:

  • 从数据库设计角度来说,在一张表里最好是一个实体及其属性。
  • 一条微博有多张图片时,不需要在内容表里,再添加一条内容重复,只是附件不同的的记录。
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:如何加密网页Artikel seterusnya:ER图里有一个标记看不懂