【发布时间】:2015-12-15 05:57:59
【问题描述】:
我正在为 ERP 等销售和采购应用程序设计 DATABASE,并使用 MYSQL 作为 RDBMS,我怀疑为销售和采购实体创建表以使用每个模块(销售/采购)的单个表或每个模块的多个表实体(销售订单、销售发票、销售退货、采购订单、采购发票、采购退货)。下面是我的用例。
我的应用程序将包含销售订单、销售交货、销售发票、销售退货和信用票据以及购买模块的相同实体,所有这些实体都可以在该模块中输入链接。像销售订单可以转换为销售交付或销售订单和销售交付可以转换为销售发票。所以需要维护模块的每个实体的引用。
现在,我有点困惑将所有这些都保存在一个表中,每个模块说“sale_entity”和“purchase_entity”具有实体类型或者我应该为每个实体类型创建单独的表,比如 sale_order、sale_invoice、sale_return、purchase_order、purchase_invoice , purchase_return 等。
以下是我对这两种情况的想法:
单表:我真的很想为每个模块保留这个单表,但我担心长期运行的性能,它会迅速增加表大小并可能降低性能。
多表:很难同时管理、维护所有实体类型记录的报表中的关系和获取数据,需要联合和全部。
我的理解是大尺寸的表格比小尺寸的表格执行得慢,如果我错了,请纠正。
请稍微说明一下,并建议我应该如何进行。
谢谢
【问题讨论】:
-
了解索引以及如何使用它们来提高查询效率。在大多数情况下,即使具有数百万行的表也能正常工作并快速返回所需的行。
-
老实说,您标记为答案的回答是 100% 不是答案。
标签: mysql database database-design rdbms erp