请教一个数据库设计表问题
程序员文章站
2022-05-10 14:03:17
...
说一个小微博系统,用的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
#查看是否带有图片
select count(*) from 关联表 r where r.contentId = ? and r.resourceType = 0
这么设计原因是:
- 从数据库设计角度来说,在一张表里最好是一个实体及其属性。
- 一条微博有多张图片时,不需要在内容表里,再添加一条内容重复,只是附件不同的的记录。
上一篇: mysql主从设置_MySQL
推荐阅读
-
mybatis generator对于同一个表生成多次代码的问题
-
mysql怎么把一个数据库的表复制到另一个数据库中
-
SQL Server 数据库调整表中列的顺序操作方法及遇到问题
-
oracle数据库查询没问题,正常显示两个汉字;但是java后台Hibernate查询的时候只显示第一个汉字怎么解决?
-
备份mysql数据库的php代码(一个表一个文件)
-
oracle数据库锁表问题的解决办法
-
sqlserver2008锁表语句详解(锁定数据库一个表)
-
我们在删除SQL Sever某个数据库表中数据的时候,希望ID重新从1开始,而不是紧跟着最后一个ID开始需要的命令
-
Java生鲜电商平台-商品分类表和商品类型表的区别与数据库设计
-
关系型数据库中常用的表设计