mysql - 表名稱前綴到底有啥用?
問題描述
那么多公司的項目都在設計表的時候給表名稱加個前綴單詞,但是這到底有啥用呢,整個項目看下來沒發覺這有用到的
問題解答
回答1:給表名加前綴,之前是一種比較流行的方式。現在的趨勢是放棄添加前綴,因為它帶來的好處,遠小于帶來的問題。很多時候跨庫的設計,比表前綴的設計來的更靈活和實用,而且前綴設計(尤其是在混合用的情況下)帶來的一些困惑和問題卻是很多新手最大的苦惱。所以請慎重。
回答2:便于管理
回答3:多個項目放在同一個數據庫就會有用了
項目1用戶表 - p1_user項目2用戶表 - p2_user
這么一說你就明白了
回答4:設計習慣而已。通常是在同一個庫中區分不同的系統表而建立的。如圖示例,沒前綴的是后臺管理系統的表。帶wms前綴的是wms系統的表
講道理,還是按照數據庫來劃分不同類型的表比較合適,前綴這玩意兒確實累贅
回答6:前綴很有用的,比如我想知道所有關于user的表,直接show tables like ’%user%’就可以了,用mysql命令行的就知道了
尤其是很多插件或者模塊的項目,加了這些前綴還有利于數據庫表的批處理等操作
回答7:用來區分所有項目使用同一個數據庫中不同項目的數據表
回答8:表名稱的前綴只是一個命名規范,對于功能實現沒有影響。
在比較復雜的系統中,通過表名前綴可以大概了解到表所在的模塊和分類,這樣做日常開發和運維的時候看起來比較方便,新人了解系統數據結構的時候也有章可循。
個人比較贊同這種做法,成本很低,但對后期的運維方便,為什么不做呢?
回答9:數據表在一個數據庫時,而且數據表比較多的時候區分是很直接的
回答10:一個項目有100多張表以上時,你會懂為什么需要用到.
理想的是user_tabel1可以寫成user.table1(建立多庫) 問題是在很多開發人員對數據庫的認識也只是簡單的增刪改查,包括很多框架也是(只能連接一個庫)
打個比方,oracle最經典的scott實例.scott擁有部門與部門人員的名單, hr(另一個實例)擁有部門列表名單. 還有一個產品實例擁有產品列表名單. hr實例擁有對scott.emp的select權限但是沒有update權限個人覺得這樣的設計對數據的安全性(當一個實例被攻擊破解時不會暴露全部數據),邏輯分明性有很大的提高,但同時也要求開發人員對數據庫有更多的理解和掌握. 但往往我們看到的是,開發人員所有的表放在一個庫里.權限的控制也只是從業務邏輯上來控制.
(以上都是個人的理解)
相關文章:
