2

我正在尝试为当前设置制定最佳数据库模型:

管理员可以创建“客户产品”。这意味着客户可以附加/订阅的服务/产品。产品只需定价或产品订阅应发送电子邮件的简单情况很容易在数据库中建模。

但是客户产品的非常具体的后端代码呢?例如,一种产品可能具有非常特定的代码,用于检查不同数据库上的客户状态。如何在数据库中映射这种关系,以便我可以根据产品设置打开/关闭一些代码。

我处理它的直观方法是在 CustomerProducts 表上有一个字符串列,其中可以设置一组预定义的字符串,例如“MyCustomCodeHandler”,然后代码将检查该字符串是否存在以便执行它。但对我来说,这并不像是数据库和代码之间的真正关系。

4

1 回答 1

1

数据就是数据,而代码就是代码。我不建议将代码存储在数据库中。

如果您需要允许客户使用相关代码创建产品类型(在“类型”的面向对象意义上),我会选择以与部署其他代码相同的方式部署该代码。

自定义代码还可以引用存储在数据库中的自定义数据。我会选择为每个产品子类型创建一个依赖表,并将特定类型的列放在那里。此子类型表与通用产品表之间的关系是一对一的。也就是说,子类型表中的主键也是通用产品表的外键。

于 2008-12-01T22:36:09.223 回答