问题标签 [temporal-database]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
174 浏览

sql - 如何确定给定条目是否有指向它的外键?

我目前正在研究父表的触发函数,该函数应该对子表上的相关行执行检查,该子表具有已更新的父表行的外键。

我做了小 dbfiddle 设置我的情况:

https://www.db-fiddle.com/f/sV8f9F7Lg6R6HE89nXNhhV/4

我的数据模型包含给定实体注册的实例,其中包含给定条目的不同版本。所以我的情况是,我拥有国家、纳尼亚和机场纳尼亚机场。纳尼亚机场有一把通往国家的钥匙,表明它是纳尼亚的一部分。

每个机场都有一个检查功能,确保子表与其父表的生命周期一致,这意味着只要纳尼亚不存在,纳尼亚机场就不能存在......

第一个查询显示的是哪个,但是我如何以另一种方式进行有效的检查?目前,我可以将国家/地区更改为国外 og 其孩子的寿命使孩子成为孤儿?

我有一个想法,为每个父子关系创建一个触发器,但它似乎有点重,我只对受影响的孩子做这个检查感兴趣,而不是每个孩子?

我怎么知道某些东西依赖于这一行,并执行我想要的检查,反之亦然,什么都不依赖于这个给定的行?

0 投票
0 回答
18 浏览

xquery - MarkLogic 单时间搜索

我在单一时间集合中几乎没有文档。每天都会创建多个版本。我们用来创建 URI(例如:/canonical/entity/123.xml)的主键或文档标识符(在内容中)对于所有这些版本都是相同的。

因此,最新版本位于具有与上述相同 uri 的“最新”集合中。如果我想获得昨天或过去任何日期的最新版本,有没有办法只使用任何 cts 查询来查找?我这里没有业务轴,只有系统轴(单时轴)。我不想遍历历史记录中的所有版本,而是想使用查询并获取给定时间范围(期间)的最新版本。

TIA。

0 投票
0 回答
46 浏览

python - 关联规则挖掘中的时间模式

我有一个与硬件设计模拟的输入和输出相关的数据集。数据集由 0 和 1 值以及“X”组成。并且数据集的每一行都与特定的(时钟周期)时间相关。

我想从中挖掘一些时间模式,例如:alwaysbeforenextuntil。我想知道这些模式中是否有任何数学公式或精确算法?

我进行了很多搜索,但不幸的是找不到挖掘这些模式的确切解决方案或公式。每种模式只有一些通用定义,但没有每种模式的确切公式。

如果有任何建议或解决方案,请帮助我。

0 投票
1 回答
41 浏览

brightway - 使用“PyPardisoError:Pardiso 求解器失败,错误代码 -4”错误的时间数据集计算

我尝试在 Temporalis 上运行动态生命周期评估。在我构建了时间数据库并运行tempo.graph_technosphere()andtimel_st=dlca_st.calculate()之后,两者都出现了“PyPardisoError: The Pardiso solver failed with error code -4”。我检查了 Pardiso 手册文档,并且 -4 显示“零枢轴,数值事实。或迭代细化问题”。我认为这可能是零枢轴问题。但我不确定。我该如何解决这个问题?

0 投票
1 回答
121 浏览

oracle - SCHEMA 更改后如何避免中断临时表中的查询?

想象一下,我有一张个人信息的临时表:

  • UUID (varchar)
  • main_document (varchar)
  • 名称(varchar)
  • DoB(时间戳)
  • 流派(varchar)
  • 地址(varchar)
  • 工资(十进制)

T1我运行模式迁移并添加一个新列,从现在开始,表有:

  • UUID (varchar)
  • main_document (varchar)
  • 名称(varchar)
  • DoB(时间戳)
  • 流派(varchar)
  • 地址(varchar)
  • 工资(十进制)
  • 电子邮件(varchar)*

然后在T2运行另一个模式迁移并将 main_document 的数据类型更改为 NUMBER。

  • UUID (varchar)
  • main_document ( NUMBER )*
  • 名称(varchar)
  • DoB(时间戳)
  • 流派(varchar)
  • 地址(varchar)
  • 工资(十进制)
  • 电子邮件(varchar)

然后在T3我运行另一个模式迁移并删除流派列

  • UUID (varchar)
  • main_document(编号)
  • 名称(varchar)
  • DoB(时间戳)
  • --------------- *
  • 地址(varchar)
  • 工资(十进制)
  • 电子邮件(varchar)

然后在T4我运行另一个模式迁移并添加流派列,但现在它具有数据类型 NUMBER。

  • UUID (varchar)
  • main_document(编号)
  • 名称(varchar)
  • DoB(时间戳)
  • 流派 (NUMBER) *
  • 地址(varchar)
  • 工资(十进制)
  • 电子邮件(varchar)

如果架构在 T1、T2、T3、T4 等上发生更改,我如何查询我的数据库(及时返回)?

就像,我们在(墙上时间)T4并运行: select * from people AS OF T3,应该返回什么?真的是时间旅行吗?

是否有任何最佳实践或策略来避免这些临时表 + 模式迁移的所有这些复杂性?

任何帮助将非常感激。

谢谢