表命名和组织postgresql中的表

时间:2016-07-17 13:36:59

标签: postgresql naming-conventions

我试图根据他们对应的应用程序组件来组织我的PosgtresSql表。例如,与“故事”相关的表格。比如' story_contents' story_comments',' story_layout':最好保持一个简单的' '提出的命名惯例?使用'会不会有任何缺点。'而不是' '? ......还是有一种我完全忽略的最佳实践?

1 个答案:

答案 0 :(得分:1)

简答:

当然,如果将整个数据库/表/列名引用放在引号

答案很长:

在Postgres和大多数其他数据库中,点用于将数据库名称与表名称分开,表名称用于列名称。例如,如果您有一个名为MyDB的数据库,其中包含一个名为MyTable的表和该表MyCol中的列,那么您可以编写以下SELECT语句:

SELECT MyDB.MyTable.MyCol
FROM MyDB.MyTable

但是,如果您的数据库,表格和/或列名称本身中有点,则执行SELECT可能无效。在这种情况下,我相信您可以使用引号来转义完全限定的名称(或部分)。因此,如果您有一个名为MyCol.Col1的列,则可以执行以下操作:

SELECT "MyDB.MyTable.MyCol.Col1"
FROM MyDB.MyTable

@vector的评论似乎指向正确的方向(没有双关语),你应该倾向于使用下划线或其他字符来分离你的模式名称,而不是使用点。