1

我正在开展一个项目,该项目是一种需要支持组件修订的物料清单管理器。经过一些研究,我偶然发现了缓慢变化的尺寸类型 2 和类型 4,这似乎是这个用例中最合适的模式。

但是,我对几个概念有点困惑:

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,组件表是否会有额外的列用于start_dateend_dateactive?或者,类型 2 是否会添加一个与附加列具有revisions相同结构的表,而类型 4 是否会添加一个表和一个表?componentsrevisionsrevisions_history

任何帮助将不胜感激!

4

1 回答 1

1

您可以使用temporal_tables

系统周期数据版本控制(也称为事务时间或系统时间)允许您指定将旧行归档到另一个表(称为历史表)中。

https://pgxn.org/dist/temporal_tables/

于 2022-01-26T11:18:03.977 回答