我有列用戶id列,用戶名,電子郵件和密碼。 而我有另一個表與用戶的關係。一些開發人員使用前綴方式(列id_user),一些開發人員使用postfix方式(列user_id)。在列(鍵)表中使用id的正確方式是什麼 - 前綴或後綴
哪種方式是正確的,爲什麼。
我有列用戶id列,用戶名,電子郵件和密碼。 而我有另一個表與用戶的關係。一些開發人員使用前綴方式(列id_user),一些開發人員使用postfix方式(列user_id)。在列(鍵)表中使用id的正確方式是什麼 - 前綴或後綴
哪種方式是正確的,爲什麼。
使用ID是SQL反模式,不應使用。與使用tablename ID方法相比,這很可能會導致問題,因爲人們會在dbs中使用自然連接來允許它們加入到錯誤的id中,或者在複雜的sql中進行報告,這很容易加入到錯誤的id中(來自不同的ID表比你加入)如果你要使用tablename id你會得到一個語法錯誤。另外,PK和FK具有相同的名稱更有意義。這使得更準確地知道你要加入的是什麼。
使用IDTablename或tablenameID是一個選擇問題。在我有權訪問的所有數據庫(我職業生涯中有成千上萬)中,大多數似乎更喜歡tablenameId。無論選擇什麼,通過數據庫保持一致。使用數據庫是非常煩人的,其中一些表使用Id,一些使用tablenameId,一些使用tablename_id,一些使用Id_tablename,一些使用IDtablename。模式一致性比命名對象中的任何其他因素更重要。
謝謝!我討厭在表格中看到「id」作爲列,其中正確的列名應該更像
爲了記錄在案:
林收集有關此命名約定
https://medium.com/southprojects/database-naming-convention-the-definitive-guide-90424d6c2d36
信息,我發現到目前爲止是user_id說明(或用戶ID如果數據庫允許柱與案例)比更多使用id_user(IdUser)。但是,兩者都是有效的。
此外,甲骨文曾經說,正確的方法是user_id_pk,但我認爲這種意識形態已經過時。
http://stackoverflow.com/questions/7662/database-table-and-column-naming-conventions – xandercoded
@Xander不同意。隨着查詢複雜程度的增加,您需要查詢可讀性,以便您不會回頭去嘗試弄清楚什麼是什麼以及如何連接。但我也不認爲它是如此重要的東西,需要變成一場巨大的哲學戰鬥。 – swasheck
@swasheck使用適當的別名解決了這個問題,是的,我也沒有進入大型的哲學戰爭...... – xandercoded