gpt4 book ai didi

database - 在模式中对 postgresql 表进行分组

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:32 27 4
gpt4 key购买 nike

我目前正在构建一个包含大约 60 个表的应用程序,其中一些包含元信息,一些包含实际数据以及它们之上的几个 View 。

为了让事情井井有条,我在所有表名前分别加上 meta_view_ 前缀,但将它们放在同一个内的不同模式中可能是值得的数据库?

  1. 这是常见的做法吗?
  2. 有什么理由不这样做?
  3. 我可以在不同的模式上创建 FK 约束吗?

PS:从这个答案来看似乎没有性能损失:PostgreSQL: Performance penalty for joining two tables in separate schemas

最佳答案

您可以按照自己喜欢的任何方式使用模式。原则上没有限制。如果您需要 GRANT,它们特别有用对对象组的某些权限,例如在数据库中分隔用户。您可以在很大程度上将它们视为文件系统中的目录(尽管类比有其局限性)。

我对 View 使用 v_ 前缀,对函数使用 f_ 前缀。但这基本上只是在文本搜索中快速发现这些对象的符号便利——例如,如果我破解转储。使这些前缀简短,您将不得不在数据库的剩余生命周期中键入它们。来自不同语义层的多个前缀可能必须应用于单个对象。

不会在同一水平。而是为元对象创建一个单独的模式,并在所有模式中使用前缀来表示对象类型。

无论您选择哪种系统,都要保持一致!否则弊大于利。

关于database - 在模式中对 postgresql 表进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8971856/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com