发票数据库设计

发布于 2024-10-16 05:54:51 字数 301 浏览 1 评论 0原文

发票数据库设计,可能看起来像这样...... http://www.databaseanswers.org/data_models/invoices_and_ payments/index.htm

现在,如果用户决定更改/修改产品代码/描述,

它将更改以前的订单和发票产品代码/描述:(

你会做什么?将产品代码描述复制到发票表中?

The invoice database design, might look something like this...
http://www.databaseanswers.org/data_models/invoices_and_payments/index.htm

Now If the user decides to change/revise the product code/description

It will change the previous order and invoice produce code/description :(

What do you do? Copy the product code description to the invoice table instead?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

裂开嘴轻声笑有多痛 2024-10-23 05:54:51

您基本上有两个选择:

  • 要么将您的Products表设置为“启用时间”(也称为“时态数据库”),例如将单个产品的“先前”状态保留在表中,并且为每个条目提供一个 ValidFrom / ValidTo 日期对。这样,如果您更改产品,您将获得一个新条目,并且前一个条目保持不变,并引用使用该条目的发票;仅更新产品的 ValidTo 日期

,或者:

  • 您可以将产品(至少是发票所需的那些部分)复制到发票中 - 这将确保您始终知道产品的外观就像您创建发票时一样 - 但这会导致大量数据重复(不推荐)

请参阅其他 关于时态数据库的 Stackoverflow 问题 作为另一个输入,另请参阅有关 Simple-Talk 的这篇文章:数据库设计:时间点架构

You basically have two options:

  • either you make your Products table "time-enabled" (also known as "temporal database"), e.g. you keep the "previous" state of your individual product in your table, and you give every entry a ValidFrom / ValidTo pair of dates. That way, if you change your product, you get a new entry, and the previous one remains untouched, referenced from those invoices that used it; only the ValidTo date for the product gets updated

or:

  • you could copy the products (at least those bits you need for your invoice) to the invoice - that'll make sure you always know what the product looked like when you created the invoice - but this will cause lots of data duplication (not recommended)

See this other Stackoverflow question on temporal databases as another input, and also check out this article on Simple-Talk: Database Design: A Point in Time Architecture

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文