我有 2 个表,例如:并且我正在使用 mysql。
<强>1。产品
<强>2。模板
现在,1 个产品可以有多个与其关联的模板。我可以通过创建如下映射表来实现:
产品模板
现在,根据某些动态条件,我需要为产品所服务的每个请求选择一个模板:
条件如
- 如果请求来自区域 x,则为产品 1 选择模板 2。
- 如果请求来自区域 y,则为产品 1 选择模板 1。
我的数据库中有多个区域。明天,如果我想添加另一个条件,该条件只能通过更改数据库来完成。我应该遵循什么设计来通过可扩展的数据库设计打开。
最佳答案
您可以使用通用连接表并添加类型,而不是product_id + template_id表,例如:
template_id external_id type
1 1 'product'
1 2 'product'
1 1 'user'
然后,您可以在此表中添加您将来想要的类型。您只需根据类型重写联接即可。
关于mysql - 动态一对多数据库设计 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32475679/