微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

跨表约束一列

如何解决跨表约束一列

我使用 Postgres 在两个表中存储公式和公式元素。基本上,你有类似的东西:

元素表

符号 内容
pi 3.1.45
42

公式表

符号 内容
区域 pi*r^2
地毯尺寸 区域*月

因此,公式可以在其内容字段中使用元素,也可以使用其他公式。出于这个原因(以及为了减少混淆),我想让两个表中的符号都是唯一的。

当然,我可以在进行插入的代码中,在添加条目之前查找条目并拒绝添加重复符号。 (我可能会这样做,但我不希望数据库依赖于此。)我还可以要求公式表中的标签指定何时使用另一个公式:

符号 内容
地毯尺寸 f(area)*lune

我并不为此感到疯狂,因为它会给用户带来负担来记住这一点,或者给编码人员秘密添加删除“f()”带来负担。

我在 Stack 和其他地方发现的所有内容都是相反的:强制列值出现在另一个表中,除了一个建议将唯一项保存在单独的表中。

符号
区域
pi
地毯尺寸

然后……实际上,我仍然不确定这在数据库级别会如何工作。

那么,有没有办法用约束或外键来做到这一点,或者我必须为每个表编写一个触发器来查看另一个表?

补充:我在这里大大简化了,但元素表比我展示的要复杂得多,并且与公式表几乎没有共同之处。

编辑添加了上述内容,并尝试修复在编辑预览中看起来不错但在实际页面上格式不正确的一列“符号”表。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。