我试图根据他们对应的应用程序组件来组织我的PosgtresSql表。例如,与“故事”相关的表格。比如' story_contents' story_comments',' story_layout':最好保持一个简单的' '提出的命名惯例?使用'会不会有任何缺点。'而不是' '? ......还是有一种我完全忽略的最佳实践?
答案 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的评论似乎指向正确的方向(没有双关语),你应该倾向于使用下划线或其他字符来分离你的模式名称,而不是使用点。