查找表命名约定?

cec*_*i0n 3 naming-convention

查找表是否有命名约定?我看不到 oracle 的任何声明或谷歌上一致的任何内容。

但是我假设你们中的一些专业 DBA 遵循惯例?也许当您被要求编辑不是您创作的项目时,最常发生的约定是什么?

示例表

金属

+----+------------+
| id | metal_type |
+----+------------+
| 1  |    gold    |
| 2  |    silver  |
| 3  |    bronze  |
| 4  |    brass   |
+----+------------+
Run Code Online (Sandbox Code Playgroud)

目前我一直使用原始表名+列名作为我的查找表名。

metals_metal_type
Run Code Online (Sandbox Code Playgroud)

我决定更改为 LK_ + 原始表 + 列,因为它可以在浏览所有表时更轻松地导航。

LK_metals_metal_type
Run Code Online (Sandbox Code Playgroud)

您对此有何看法?

谢谢

Zan*_*ane 7

从技术上讲,没有表命名约定的标准。只要您在整个环境中使用一致的东西就不会有问题。还应该详细记录您为什么使用此前缀。

话虽如此,但这里有一些我遵循的规则。IAlwaysBookEndMyTables 这样做的原因是它可以清楚地阅读,没有任何空格或下划线。我不使用下划线的原因是我是一个 SQL 服务器人员,它们可以用作通配符。在命名查找表时,我通常使用 LU。再说一遍,只要您始终如一地做事,这并不重要。LKMetalsMetalType 与 LUMetalsMetalType 并没有什么不同。

另一件事是尽可能用你的表名来描述。在您离开项目后接手的人应该能够查看您的表结构并很好地了解正在发生的事情。长表名有足够的空间,但在试图弄清楚Pl_uva表到底意味着什么方面的理智非常有限。仅供参考,这只是一个例子。

我不应该说这个,我假设你已经知道了,但我还是要说。不要在表名中使用保留字或包含空格。我向上帝发誓我昨天在 Stack Overflow 上看到了一个人,他将一个专栏命名为“来自”,所以它是字面意思。

SELECT
    [FROM]
FROM HisTable
Run Code Online (Sandbox Code Playgroud)