首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用SCD2 2/4实现恢复逻辑

用SCD2 2/4实现恢复逻辑
EN

Database Administration用户
提问于 2021-09-05 13:58:24
回答 1查看 523关注 0票数 0

我在StackOverflow上发布了这个问题,但没有多少运气,所以我希望我能在这里有更好的运气。

我正在从事一个项目,它是一种材料清单管理器,需要支持组件的恢复。经过一些研究,我偶然发现了缓慢变化的维度类型2和类型4,这似乎是这个用例中最合适的模式。

然而,我对以下几个概念有点困惑:

代码语言:javascript
复制
CREATE TABLE projects (
  id    INTEGER PRIMARY KEY,
  name  TEXT
)

CREATE TABLE components (
  id           INTEGER PRIMARY KEY,
  name         TEXT,
  project_id   INTEGER,
  CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects (id)
)

如果我想实现SCD 2,那么components表会有start_dateend_dateactive的附加列吗?或者,Type 2会添加一个具有与components相同结构的带有附加列的D5表,并且Type 4会添加一个revisions表和一个revisions_history表吗?

任何帮助都将不胜感激!

EN

回答 1

Database Administration用户

发布于 2021-09-07 01:59:23

原文SO post:https://stackoverflow.com/questions/69057139/implementing-revisioning-with-scd2-4

从你在那篇文章中的评论(应该在这里复制到你的问题中-请编辑你的问题),听起来你需要审计/历史表,这样你就可以将编辑还原到任何特定的对象。这些通常是使用触发器实现的;像pgaudit这样的扩展可以为您管理这些触发器。

尽管如此,我建议退一步,确定您的业务流程,并实现对您的项目经理有意义的操作。您可以编写一个复杂的系统,它允许还原任何东西,并最终得到从未存在过的项目。

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

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

复制
相关文章

相似问题

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