基于列值以可扩展的方式链接另一个表

时间:2019-11-25 09:49:52

标签: mysql orm sequelize.js

enter image description here

嗨,我正在使用MySQL和Squalize ORM(NodeJS)设计商品目录。

假设我有一个产品列表,该产品列表根据其类别(在本例中为attributes_id)具有不同的属性。 我想通过使用带有适当属性表的JOIN语句来获得产品。设计应该是可扩展的,因为我们将有一百多个属性表。

该语句大致如下:

 JOIN
   if ( product.attributes_id == 1 ) 'attributes_car'
   elseif ( product.attributes_id == 2 ) 'attributes_food'

但是elseif案件的数量将在一百多以后增加。

所以问题是如何设计attributes_id?使其成为指向数据库元数据(例如INFORMATION_SCHEMA)的外键以指向另一个表的好主意吗?我应该引入另一个表格来管理这种关系吗?

动态SQL是一种选择,但是我认为这不是一个好主意,因为ifelse的情况应该会增加。

还是我应该放弃设计查询,只使用ORM在NodeJS端实现这种逻辑?

谢谢!

0 个答案:

没有答案