2012-06-27 33 views
1

我有列用戶id列,用戶名,電子郵件和密碼。 而我有另一個表與用戶的關係。一些開發人員使用前綴方式(列id_user),一些開發人員使用postfix方式(列user_id)。在列(鍵)表中使用id的正確方式是什麼 - 前綴或後綴

哪種方式是正確的,爲什麼。

+0

http://stackoverflow.com/questions/7662/database-table-and-column-naming-conventions – xandercoded

+0

@Xander不同意。隨着查詢複雜程度的增加,您需要查詢可讀性,以便您不會回頭去嘗試弄清楚什麼是什麼以及如何連接。但我也不認爲它是如此重要的東西,需要變成一場巨大的哲學戰鬥。 – swasheck

+0

@swasheck使用適當的別名解決了這個問題,是的,我也沒有進入大型的哲學戰爭...... – xandercoded

回答

3

沒有正確的方法,這只是一個品味問題。我會在後綴上使用前綴,因爲它將名稱的更有意義的部分放在第一位,使其讀取速度稍快(或者我可以想象)。

+0

那會是前綴:) – swasheck

+0

嘿,謝謝。 ;) – djc

3

使用ID是SQL反模式,不應使用。與使用tablename ID方法相比,這很可能會導致問題,因爲人們會在dbs中使用自然連接來允許它們加入到錯誤的id中,或者在複雜的sql中進行報告,這很容易加入到錯誤的id中(來自不同的ID表比你加入)如果你要使用tablename id你會得到一個語法錯誤。另外,PK和FK具有相同的名稱更有意義。這使得更準確地知道你要加入的是什麼。

使用IDTablename或tablenameID是一個選擇問題。在我有權訪問的所有數據庫(我職業生涯中有成千上萬)中,大多數似乎更喜歡tablenameId。無論選擇什麼,通過數據庫保持一致。使用數據庫是非常煩人的,其中一些表使用Id,一些使用tablenameId,一些使用tablename_id,一些使用Id_tablename,一些使用IDtablename。模式一致性比命名對象中的任何其他因素更重要。

+0

謝謝!我討厭在表格中看到「id」作爲列,其中正確的列名應該更像 _id或類似的東西。爲了清楚起見,外鍵名稱應該與原表上的主鍵相同。 –