根据业务目标单独的表格

问题描述 投票:0回答:1

是否值得仅根据业务目标来拆分表?

注意:所有表格都有相同的列。

1.一桌

一张

orders
表,并用
orderType
列来区分它们。

2.两张桌子

两张表分别称为

sales_orders
purchase_orders

3.很多桌子

更多的桌子怎么样

sales_quotes
,
sales_orders
,
sales_backorders
,
purchase_requisitions
,
purchase_orders
...


我认为方法 3 太过分了,而方法 1 的精神负担太大,无法继续过滤 2 个截然不同的业务目标。

方法 2 似乎只是足够的分离,但不确定它以后是否会困扰我。

PS:我知道这是基于意见的,让我拥有这个。

sql database database-design architecture
1个回答
0
投票

是否值得仅根据业务目标来拆分表?

根据我的观点和经验,简短的答案是肯定的。事实上,不仅值得,“业务(功能)需求”实际上是主要的(如果不是唯一的)指导因素,尤其是概念数据模型。技术方面的考虑,包括简单的规范化,应该放在最后,并且无论如何都要小心:实现与概念模型的差异越大,它就越难以理解和维护(以及可扩展等)。 (“避免过早优化:已经在设计层面。”) 更具体地说,对于具体标准:考虑您的

实体

生命周期(由状态转换图表示,包括所涉及的用户/角色):同一个生命周期=>相同实体,不同的生命周期=>不同的实体。 (一般来说,实体可能与一个状态转换图相关联,以表示非正式地称为它们的“生命周期”,这是 SE 中所谓的“流程流”的最基本组成部分。相应地,在实体中,我们会找到一个“状态”属性来跟踪当前状态。例如(仅作为示例,具体解决方案取决于需求),订单可能是:已接收、已收取、已拒绝、取消、运输、履行、已付款、退款、退回。)

© www.soinside.com 2019 - 2024. All rights reserved.