數(shù)據(jù)庫(kù)、表和列命名約定?每當(dāng)我設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù)時(shí),我總是想知道在我的數(shù)據(jù)庫(kù)中是否有最好的命名方法。我經(jīng)常問自己以下問題:表名應(yīng)該是復(fù)數(shù)嗎?列名應(yīng)該是單數(shù)嗎?我應(yīng)該在表或列前加上前綴嗎?我應(yīng)該在命名項(xiàng)目時(shí)使用任何案例嗎?數(shù)據(jù)庫(kù)中的項(xiàng)目命名是否有推薦的指導(dǎo)方針?
3 回答

慕標(biāo)5832272
TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
我的 偏好
復(fù)數(shù) 是 表
*通常*沒有前綴是最好的。 柱
*沒有。 表和列:PascalCase。
(1) 你必須做的事。
把你的名字命名為 主鍵
使用“[singularOfTableName]ID”格式。也就是說,您的表名是否是 客戶
或 客戶
,主鍵應(yīng)該是 顧客ID.
此外, 外鍵 必 一致命名 在不同的桌子上。毆打不這樣做的人應(yīng)該是合法的。我認(rèn)為,雖然定義了外鍵約束,但 經(jīng)常
重要的、一致的外鍵命名是 總
重要 你的數(shù)據(jù)庫(kù)一定有 內(nèi)部慣例
..即使在后面的章節(jié)里你會(huì)看到我很靈活, 內(nèi)
數(shù)據(jù)庫(kù)命名必須非常一致。您的客戶表是否被調(diào)用 客戶
或 客戶
不重要的是,您在同一數(shù)據(jù)庫(kù)中以相同的方式執(zhí)行此操作。你可以拋硬幣來決定如何使用下劃線,但是 必須繼續(xù)以同樣的方式使用它們
..如果你不這樣做,你就是一個(gè)應(yīng)該自卑的壞人。
(2) 你應(yīng)該怎么做。
字段表示不同表上相同類型的數(shù)據(jù)。 應(yīng)
同樣的名字。在一張桌子上沒有Zip,在另一張桌子上沒有ZipCode。 若要將表名或列名中的單詞分隔開來,請(qǐng)使用Pascalcase。使用CAMELCase并不是本質(zhì)上的問題,但這不是慣例,而且看起來很有趣。我一會(huì)兒再討論下劃線。(你不能像過去那樣使用ALLCAPS。OBNOXIOUSTABLE.ANNOYING_CODE 20年前在DB2中是可以的,但現(xiàn)在不行。) 不要人為地縮短或縮短單詞。一個(gè)名字長(zhǎng)而清晰,總比簡(jiǎn)短和令人困惑好。超短的名字是黑暗,更野蠻的時(shí)代的堅(jiān)持。CuS_AddRef那到底是什么?保管人收信人推薦人?客戶額外退款?自定義地址查詢?
(3) 你應(yīng)該考慮什么。
我真的認(rèn)為你應(yīng)該為桌子取復(fù)數(shù)名稱;有些人認(rèn)為單數(shù)。閱讀其他地方的論點(diǎn)。不過,列名應(yīng)該是單數(shù)。即使使用復(fù)數(shù)表名,表示其他表組合的表也可能是單數(shù)。例如,如果您有一個(gè) 晉升
和一個(gè) 項(xiàng)目
表中,表示作為促銷活動(dòng)一部分的項(xiàng)的表可以是Promos_Items,但也可以合法地稱為Promotions_Items(反映一對(duì)多的關(guān)系)。 始終使用下劃線,并用于特定目的。只有普通表的名稱在Pascalcase中應(yīng)該足夠清楚;您不需要用下劃線來分隔單詞。保存下劃線(A)以表示關(guān)聯(lián)表,或(B)用于前綴,我將在下一個(gè)項(xiàng)目中討論。 前綴不是好的也不是壞的。它 通常
不是最好的。在第一個(gè)或第二個(gè)數(shù)據(jù)庫(kù)中,我不建議對(duì)表的一般主題分組使用前綴。表最終不太適合您的類別,而且它實(shí)際上可以使其滿足您的要求。 更難
去找桌子。有了經(jīng)驗(yàn),你可以計(jì)劃和應(yīng)用一個(gè)前綴方案,它的好處大于傷害。我曾經(jīng)在一個(gè)數(shù)據(jù)庫(kù)中工作過,其中數(shù)據(jù)表是從 TBL
,配置表 CTBL
、觀點(diǎn) 維尤
、proc‘s SP
,以及UDF的 新軍
,還有其他幾個(gè);它是精心的,始終如一地應(yīng)用,所以它的效果還不錯(cuò)。惟一需要前綴的情況是,當(dāng)您有真正獨(dú)立的解決方案時(shí),由于某種原因,這些解決方案駐留在同一個(gè)db中;在對(duì)表進(jìn)行分組時(shí),前綴可能非常有用。前綴也適用于特殊情況,比如您想要突出的臨時(shí)表。 很少(如果有的話)你會(huì)想要在列的前綴。
添加回答
舉報(bào)
0/150
提交
取消