主表与事务表的区别

18
为什么我们需要在任何主题(例如销售、采购等)中拥有两个表(主表和交易表)?这两个表之间应该是什么关系,它们之间的区别又应该是什么?我们为什么真的需要它们?

请考虑在 http://dba.stackexchange.com 上提问。 - Baronz
2
通常,主表会包含高层次的信息..销售对象、客户ID等。交易表则是你所销售的内容,如物品编号、数量等。至于为什么这样做..嗯,如果你可以只说“客户=Joe Bloggs”,然后是零件a,数量=1,零件b,数量=1等,那就没有必要分别说明将a部件卖给111 SomeStreet,SomeTown的Joe Bloggs,将b部件卖给111 SomeStreet,Some Town的Joe Bloggs,以及c部件等等。最后,关系可能是order_id或类似的东西。 - Kevin M
由于数据库规范化,请看客户及其交易的示例。 - Bogdan Sahlean
3个回答

29

在销售垂直领域,数据库模式中需要使用主表和事务表。

主数据: 很少更改的数据。 例如,如果一个公司有5位客户,则他们会维护一个客户主表,其中包含客户的姓名、地址以及其他不太可能发生变化的永久数据。

事务数据: 经常更改的数据。例如,该公司向其中一位客户销售某些材料。因此,他们将为客户准备销售订单。当他们生成销售订单时,就是在进行一些销售交易。这些交易数据将存储在事务表中。

这真的很重要,以保持数据库规范化。


这里是两者的详细比较。https://metamug.com/article/difference-between-master-and-transaction-table.html - Sorter
大家好,我想澄清一下,我正在尝试通过将销售数据和客户数据连接起来创建主表,以便进行分析和持续监控仪表板。那么,我可以把我的主表称为主数据或主表吗? - Shulaz Shan

3

最终,这真的取决于你正在处理的数据类型。如果您有具体的例子,那可能会更好地指示您想要做什么。然而,总的来说,主表在与交易表中经常发生的变化相对恒定理论上应该是不变的。


3

主数据表

主数据用于捕捉系统。设计主表是数据库设计的第一步。主表包含系统的基本信息。要理解主表,您需要了解事务的概念。

事务表

一个事务是由系统内实体执行的活动。这些活动被记录下来,以表示事件,例如商品购买、预订门票。了解事务将使您更清楚地区分主表和事务表。

示例

例如,要描述一个班级的学生,所有所需信息都将作为主表的一部分,例如学生信息、班级信息、教师信息、学科信息。但是要知道学生的每日出勤情况将在事务表中捕获。

参考

以下文章可帮助区分两者之间的区别。https://metamug.com/article/difference-between-master-and-transaction-table.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接