2010-10-11 46 views
1

MySQL中的表/字段是否有任何命名約定?我發現了一大堆「保留字」,但除此之外,還有其他關於命名的擔憂嗎?MySQL字段和表名稱約定

例如,是現場/表名像這樣接受:

p_name 
p.name 
p-name 

回答

3

您不能使用p.namep-name作爲字段! p.name將意味着來自表p的字段namep-name表示從字段p減去字段name

如果在同一數據庫中存在第三方表,則數據庫中的前綴可能很有用。例如,螳螂前綴(默認情況下)包含mantis_的所有表名以防止名稱衝突。我不會推薦這個領域,但這是一個品味的問題,對吧?

+0

謝謝,現在,我在哪裏或如何找到什麼是和不可接受的?即,你是怎麼知道的?有沒有一個基於互聯網的參考資料來源? (我缺乏白話來找到它!) – 2010-10-11 21:02:46

+0

這些操作符只是基本的SQL,它們在任何有關SQL的書籍或教程中都有解釋。我不知道任何參考或列表...您可以使用'_'。爲什麼你需要另一個符號? – Ishtar 2010-10-11 21:16:43

+0

基本的SQL,是的,但是必須有一個鏈接或一個單詞,我可以在文檔中搜索這些鏈接或單詞,這些鏈接或單詞可能會將我描述在描述此頁面的頁面上。 – 2010-10-12 18:19:23

2

我認爲最主要的是剛剛一致

我喜歡錶名這樣的:

order 
order_detail 
customer 
address 
customer_address (links customer and address) 

我使用的列名的約定相同(小寫,用下劃線分開的重要的話)。

這是我見過的在大多數不同數據庫中使用最多的約定,但同樣重要的是隻是選擇一個模式並堅持使用它。

+0

假設我有'abc_def'和'ghj'表。當我創建一個表來保存它們之間的鏈接時,是'abc_def_ghj'好嗎?是否有更好的解決方案來區分普通表(〜'abc_def'和'ghj')和包含鏈接(〜'abc_def_ghj')的表? – Mehmed 2013-09-15 21:30:32

+0

@Mehmed - 我們在工作中使用的一個約定是用##分隔鏈接的表名。所以在你的例子中,它會是abC## def_ghj。 – dcp 2013-09-16 14:22:55