【发布时间】:2019-07-13 00:54:45
【问题描述】:
我有三个相互依赖的表,以便为一种产品类型检索正确的税金。下面我将详细描述这些表及其功能:
ProductType: 确定正在销售的产品类型。它包含有关产品的信息,例如:名称、尺寸、重量、价格等。
税收: 确定每种产品类型在其将销售到的每个省份的税收百分比。它有多种税种。
省: 确定产品销售到的省/州。它包含有关省份的信息,例如首字母缩写词、名称、国家等。它还用于确定其他对象(表格)的覆盖区域以及供应商、销售员等的位置。
我的问题是:我如何在数据库以及我的 Ruby on Rails 项目中构建它,因为我想要获得的税款不仅取决于产品的类型,还取决于省/州好吗?
我不希望有同一省份的多条记录,每种产品类型一个或同一产品类型的多个记录,每个省或税种一个。
注意:所有三个表之间都有多对多的关系。
【问题讨论】:
-
我怀疑其他人也面临过这个难题。他们做了什么?
-
@Strawberry 相信我,我已经搜索过了。没有找到任何我能理解并适用于我的特定问题的东西。但是如果你知道的话,请告诉我。
-
看我的回答,看来Tax不应该对Province和ProductType有has_many,但应该属于它。这将在实际税率中产生冗余......如果您想对其进行规范化,您应该创建一个单独的表来存储 TaxRates,并将 Tax 模型重命名为 TaxRule
-
不是重复的,其他问题适用于 2 个表格,在巴西有一个名为“NCM”的分类(为了便于理解,我已翻译为 productType),为该问题增加了另一个维度。
标签: mysql ruby-on-rails database join ruby-on-rails-5