2013-04-09 95 views
1

我相信这可以回答,但不知道在哪里。数据库:外键执行

前言:

我们是一个计费解决方案。应用程序设计非常简单,我们为企业创建网络商店并为企业所有者提供凭据。

企业主可以登录并创建相关的产品,类别等,他们还可以注册设备,他们可能想使用计费。

主实体可以通过Web界面,而计费需要对设备的本地应用程序的地方创建。

数据库表:

BUSINESS: id, name etc. - Business Info Table 
CATEGORY: id, business_id, name etc. - Product Categories 
PRODUCT: id, category_id, name etc. - Products 

应用:

Spring Roo的基于Web应用程序。 Spring MVC中的GUI技术

问题:

正如前面提到的拥有者使用他们的凭据登录到网上商店。所以当时他们已经开始创建实体的web应用程序知道这是透明地储存所有类别的相关业务ID,产品等

在创建产品,用户可以选择类别,其中产品可能会掉落。

的问题是:这是对business_id存储在产品表是一个好主意?因为我们只会在生成产品GUI时填充与业务相关的类别。在GUI中执行这些规则的所有相关表格也是如此。

你们有些人可能知道,原产地规则会针对每个CRUD操作创建服务的方法。因此,如果我们决定不将business_id与产品一起存储,那么如果有人试图用不属于相关业务的类别id调用服务,则可以规避业务规则。或者,保持数据库设计完好无损并专注于确保服务是一个好主意。

如果您有任何相关的利弊请在这里发表它。

在此先感谢:)!!!!

回答