前端很多表单,数据库的表应该如何设计?

旺旺大魔王 2019-01-13 11:01:03
请问下各位大佬,前端要展示50多个表单,数据表除了设计50个表来一一对应之外,有其他更好的方式吗?还有用一张表存每个表单的字段,但是数据量好像太大了
...全文
540 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
天屌妖 2019-01-25
  • 打赏
  • 举报
回复
写进资料库的资料目的就是要有关联性,找出每张单之间的关联性那自然而然就不会有重复资料的问题产生, 最主要的是找出关联就能进行资料库正规化,剔除重复、多余或者没有必要写入的资料,如果正规化到第四阶, 其实表单就会自然缩减了。 简单来说,例如: 1. 3张单:客户资料、客户订单、产品规格 2. 订单会与客户产生关联性,多对一的关系,客户名称唯一但可有多张订单 3. 订单会与产品产生关联,一对多关系,一张订单中可有多个产品 所以订单终究只要纪录客户ID,其余的客户资讯根本不用写入订单 table 中,同样的也只需要纪录产品ID 也不需要将产品规格明细写入订单中,因为在查询时都可以额外将这些资料一并查出。 初步最简单的办法,就是把你的表单区分出产生顺序,再将第一张和第二张比对,有重复的地方就是关联性,如果没有关联的就额外自行产生 table 储存两张表的关联性,如此就可以继续下一阶的正规化了
健康的猴子 2019-01-14
  • 打赏
  • 举报
回复
或许可以先说说这几张表有哪些栏位,看看是否有重复性,哪些资料可以在切出来,哪些资料可以在合成一张表,若50张合在一张表太大也可考虑分成多张,例如常查询的表分在表A,少查询的资料分在表B,会变动且频繁的资料在表C...之类的,这就要看需求去做分配
旺旺大魔王 2019-01-14
  • 打赏
  • 举报
回复
引用 1 楼 JLOGAN的回复:
结合数据挖掘知识,设计数据库你可以考虑几个问题: 1. 每个表的字段都是不重复的?是否有能表达相同含义的不同字段?做特征筛选和提取 2. 表之间有重合的话可设计数仓,提取出主数据,前端的表分别查询就可 3. 也可结合视图 4. 采用一些数据库缓存,查询缓存,前端页面缓存技术来加快查询。 综上所述,你要熟悉业务,熟悉数据,知己知彼才可找到偷懒之计。
有没有具体点的建议?
JLOGAN 2019-01-13
  • 打赏
  • 举报
回复
结合数据挖掘知识,设计数据库你可以考虑几个问题: 1. 每个表的字段都是不重复的?是否有能表达相同含义的不同字段?做特征筛选和提取 2. 表之间有重合的话可设计数仓,提取出主数据,前端的表分别查询就可 3. 也可结合视图 4. 采用一些数据库缓存,查询缓存,前端页面缓存技术来加快查询。 综上所述,你要熟悉业务,熟悉数据,知己知彼才可找到偷懒之计。

56,687

社区成员

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

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