亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數據庫、表和列命名約定?

數據庫、表和列命名約定?

繁星coding 2019-11-07 06:06:22
數據庫、表和列命名約定?每當我設計一個數據庫時,我總是想知道在我的數據庫中是否有最好的命名方法。我經常問自己以下問題:表名應該是復數嗎?列名應該是單數嗎?我應該在表或列前加上前綴嗎?我應該在命名項目時使用任何案例嗎?數據庫中的項目命名是否有推薦的指導方針?
查看完整描述

3 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

遲答,但簡而言之:

  1. 我的

    偏好

    復數
  2. *通常*沒有前綴是最好的。

    *沒有。
  3. 表和列:PascalCase。

闡述:

(1) 你必須做的事。很少有你每一次都以某種方式去做,但也有一些。

  • 把你的名字命名為

    主鍵

    使用“[singularOfTableName]ID”格式。也就是說,您的表名是否是

    客戶

    客戶

    ,主鍵應該是

    顧客ID.

  • 此外,

    外鍵一致命名

    在不同的桌子上。毆打不這樣做的人應該是合法的。我認為,雖然定義了外鍵約束,但

    經常

    重要的、一致的外鍵命名是

    重要
  • 你的數據庫一定有

    內部慣例

    ..即使在后面的章節里你會看到我很靈活,

    數據庫命名必須非常一致。您的客戶表是否被調用

    客戶

    客戶

    不重要的是,您在同一數據庫中以相同的方式執行此操作。你可以拋硬幣來決定如何使用下劃線,但是

    必須繼續以同樣的方式使用它們

    ..如果你不這樣做,你就是一個應該自卑的壞人。

(2) 你應該怎么做。

  • 字段表示不同表上相同類型的數據。

    同樣的名字。在一張桌子上沒有Zip,在另一張桌子上沒有ZipCode。
  • 若要將表名或列名中的單詞分隔開來,請使用Pascalcase。使用CAMELCase并不是本質上的問題,但這不是慣例,而且看起來很有趣。我一會兒再討論下劃線。(你不能像過去那樣使用ALLCAPS。OBNOXIOUSTABLE.ANNOYING_CODE 20年前在DB2中是可以的,但現在不行。)
  • 不要人為地縮短或縮短單詞。一個名字長而清晰,總比簡短和令人困惑好。超短的名字是黑暗,更野蠻的時代的堅持。CuS_AddRef那到底是什么?保管人收信人推薦人?客戶額外退款?自定義地址查詢?

(3) 你應該考慮什么。

  • 我真的認為你應該為桌子取復數名稱;有些人認為單數。閱讀其他地方的論點。不過,列名應該是單數。即使使用復數表名,表示其他表組合的表也可能是單數。例如,如果您有一個

    晉升

    和一個

    項目

    表中,表示作為促銷活動一部分的項的表可以是Promos_Items,但也可以合法地稱為Promotions_Items(反映一對多的關系)。
  • 始終使用下劃線,并用于特定目的。只有普通表的名稱在Pascalcase中應該足夠清楚;您不需要用下劃線來分隔單詞。保存下劃線(A)以表示關聯表,或(B)用于前綴,我將在下一個項目中討論。
  • 前綴不是好的也不是壞的。它

    通常

    不是最好的。在第一個或第二個數據庫中,我不建議對表的一般主題分組使用前綴。表最終不太適合您的類別,而且它實際上可以使其滿足您的要求。

    更難

    去找桌子。有了經驗,你可以計劃和應用一個前綴方案,它的好處大于傷害。我曾經在一個數據庫中工作過,其中數據表是從

    TBL

    ,配置表

    CTBL

    、觀點

    維尤

    、proc‘s

    SP

    ,以及UDF的

    新軍

    ,還有其他幾個;它是精心的,始終如一地應用,所以它的效果還不錯。惟一需要前綴的情況是,當您有真正獨立的解決方案時,由于某種原因,這些解決方案駐留在同一個db中;在對表進行分組時,前綴可能非常有用。前綴也適用于特殊情況,比如您想要突出的臨時表。
  • 很少(如果有的話)你會想要在列的前綴。



查看完整回答
反對 回復 2019-11-08
  • 3 回答
  • 0 關注
  • 496 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號