也许是双重发布,但我在这里找不到任何答案。
我看到了几个帖子如何命名我的表,我明白(半官方)它应该包含小写,应该下划线和单数(fe my_table)
当我必须执行以下操作时,我的问题出现了。我有一个应用程序,其中有用户、平台和 user_info,其中平台是用户正在处理的内容(fe MAC、PC、LINUX)。如果我需要在用户和平台之间创建联结表,我如何命名它以便下一个浏览模式的人了解用户和平台有一个名为 user_platform 的联结表,但当他看到表 user_info 时不要混淆?
BR
如果小写名称背后的原因不清楚,原因如下:Postgres自动且不可见地折叠名称。因此,所有这些名称都是相同的:
他们都是 user_platform 内部。除非你把它们放在双引号中:
“用户平台”是“用户平台”。但是要使用此字段或表格,您需要在使用它的任何地方将名称放在双引号中。这是一个彻头彻尾的痛苦。所以,看到像这样的名字是很标准的
话虽如此,只要你不使用双引号,你就可以写名字
如果你觉得它更容易阅读。
就命名约定而言,是的,选择一个,坚持它并记录您的规则。您可以使用 64 个字符(默认情况下),我认为这不是问题,有时索引名称除外。
对于链接表,任何你喜欢的都可以。连接用户和平台?
无论你喜欢什么。
至于单数与复数的论点,这是一个品味问题。有些人在乎。很多。阴沟被不义之人的鲜血染红了!我说随心所欲。我属于制作表格名称单一的学校,但主要是因为这是我很久以前养成的习惯。
啊,关于双引号的一件事......我确实使用它们。我们将 Postgres 数据发送到一个名为 Domo 的可视化/分析程序。为此,在 MixedCase 中有列(属性)名称会更好。为此,我使用“MixedCase”列别名创建视图,以便使用“MixedCase”名称导出数据。这是一个有点异国情调的场景,但也许有一天你会遇到类似的事情。通常,我会在客户端更改表格,但视图是更简单的解决方案。
奖金提示!如果您还没有发现它,Postgres 文本字段是区分大小写的。如果你不喜欢这样,你可以:
忘了提...Postgres 对系统元素的评论支持异常好,包括表格:
https://www.postgresql.org/docs/current/sql-comment.html
当然,有人必须寻找并阅读您的评论,但这是您可以提供上下文的另一个地方。即使该上下文只不过是指向您维护的 wiki 的链接等。
我正在考虑为链接表使用(名词)_ n _(名词)的命名约定。就像在 user_n_platform 中一样。虽然我希望破折号被允许。
然后 user-platform 可以链接两个表
,但 user_platform 将是它自己的表。