首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么选择将产品费用存储在另一个表中?

为什么选择将产品费用存储在另一个表中?
EN

Database Administration用户
提问于 2014-12-20 07:57:56
回答 1查看 53关注 0票数 0

MySql:将几种类型的费用存储在另一个表中有什么好处

代码语言:javascript
运行
复制
Product Table -> (productid...),
ProductFee Table -> (productid, feetypeid, feeamount), 
ProductFeeType -> (feetypeid, feetitle)

结束

产品表-> (productid, feeXamount, feeYamount, feeZamount)

前者需要太多的联接,而在创建/更新外观页面时,需要太多的插入/更新。这种结构的好处是什么?前者似乎是比较可取的办法。显然,如果收费金额的种类数量开始像40-50这样疯狂,最好遵循后一种方法。但是,如果只有5-10个这样的列,那么数据库的大小是微不足道的,特别是当您不是在编写像WordPress这样的通用CMS,而是为特定的商店定制了一个CMS时?

当然:这些费用是可选的,但这就是null的意义所在,对吗?

EN

回答 1

Database Administration用户

发布于 2014-12-20 17:20:53

如果费用的范围保证是固定的-以及费用本身,您可能可以将它们作为列在产品表中,而不是作为其他表中的行。否则,您将需要调整架构和代码,以添加新类型的费用。

一旦您有了单独的表,维护,例如,期间,一个特定的费用值是有效的,是简单的(尽管它可能需要多一个表和多一个连接)。想象一下用列来做这件事。

在(数据库)设计中,您需要根据您的领域(“S特性”在系统生命周期内有效)平衡(应用程序)需求、解决方案的效率/有效性、灵活性等。

一般来说,这是数据(De)规范化…的一个例子。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/86660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档