请教一下各位数据库大神,此业务如何设计表更合适?

weixin_41036653 2019-01-19 09:38:37
业务介绍:类似百度百科
现在需要构建一个信息数据库,假设分为三大主体:【人】【事】【物】;
每个主体对应个性化属性,但是其中也有几个通用属性,比如:

三大主体公用属性:
名称 — 别名 — 记录年月 — 地区— 图片 — 视频 — 简介 —备注;

三大主体个性属性:
人:人物类型—性别—年龄—出生年月—国籍—职位—经历—作品等等
事:事件类型—事件来源—级别—关联人物—关联信息等等
物:物品类型—物件等级—物件标示等等

业务主要需求:
1、需要频繁通过【公用属性】来模糊搜索三大主体内容;
2、总数据量应该不会过百万;

疑问:
1、建一张表,用类型区分三大主体,横向扩充各主体属性,这样会有很多空字段产生,但是便于查询;
2、建三张表,不会有空字段产生,但是查询很麻烦;
3、三张表,关联一张公用属性表?这样貌似无法关联吧?

跪求数据库大神提出合理建议,谢谢哈。
...全文
481 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
老葱1# 2019-02-18
  • 打赏
  • 举报
回复
三大主体公用属性,说是共用属性,只是域段名相同,其实是完全不同的概念,所以做一张基表 是没意义的( 除非你确实有只基于这张表的需求 );

建4张表: 人

物 应该属于事(一对多,直接外键指向事)
人与事关系表 多对多
  • 打赏
  • 举报
回复
不超过百万,一张表就行,建好索引,查询飞快

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧