对于有多个选项的后台管理系统,针对选项应该如何设计?

对于有多个选项的后台管理系统,针对选项应该如何设计?

在编写一个后台管理系统时,我遇到了以下问题:

业务主线:产品
产品属性:如,归属部门、产品状态、研发方式等等(属性的纬度会有很多)
每个产品,都会关联这些产品属性,以确定产品的信息。

例如,产品表设计为:产品ID、产品名称、归属部门ID、产品状态ID、研发方式ID、…

那么这里,问题就来了。

如果,我采用常用的设计方式,即给每种属性定义一个属性数据表,例如:归属部门表、产品状态表、研发方式表…,然后使用模型关联,关联起来,使用 with(归属部门, 产品状态, 研发方式) 来防止 N+1 问题,提升性能。这样会不会太不灵活?因为,我确实面临着众多属性项,给每种属性项定义一个数据表,感觉非常笨。

另外的一种方式是,定义个属性表,结构如下:
属性表:属性ID、属性组、属性名
把所有的属性都定义在该表中,表单录入时,以“属性组”检索来获取属性选择列表;清单显示时,以“属性ID”来获取属性名。
但这样设计肯定会在列表检索时,出现 N+1 问题,因为每个属性都需要检索一次属性表,才能正确的显示属性名。

这里,有没有其他更好的办法?希望能得到大师的指点。

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 1
翟宇鑫

你好,请问这个问题,之后有继续研究吗?最近也碰到这个问题,想讨教一下。

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!