首頁  >  問答  >  主體

mysql - 表名稱前綴到底有啥用?

那麼多公司的專案都在設計表的時候給表名稱加個前綴單詞,但是這到底有啥用呢,整個專案看下來沒發覺這有用到的

高洛峰高洛峰2690 天前1321

全部回覆(10)我來回復

  • 天蓬老师

    天蓬老师2017-06-09 20:12:57

    給表名加前綴,之前是比較流行的方式。現在的趨勢是放棄添加前綴,因為它帶來的好處,遠小於所帶來的問題。很多時候跨庫的設計,比表前綴的設計來的更靈活和實用,而且前綴設計(尤其是在混合用的情況下)帶來的一些困惑和問題卻是很多新手最大的苦惱。所以請慎重。

    回覆
    0
  • 浴后重生

    浴后重生2017-06-08 17:27:26

    便於管理

    回覆
    0
  • 大家讲道理

    大家讲道理2017-06-08 11:05:32

    多個項目放在同一個資料庫就會有用了

    項目1使用者表 - p1_user
    項目2使用者表 - p2_user

    這麼一說你就明白了

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-08 11:05:32

    設計習慣而已。通常是在同一個庫中區分不同的系統表而建立的。

    如圖範例,沒前綴的是後台管理系統的表。帶wms前綴的是wms系統的表

    回覆
    0
  • 高洛峰

    高洛峰2017-06-08 11:05:32

    講道理,還是依照資料庫來分割不同類型的表格比較合適,前綴這玩意兒確實累贅

    回覆
    0
  • 代言

    代言2017-06-08 11:05:32

    前綴很有用的,例如我想知道所有關於user的表,直接show tables like '%user%'就可以了,用mysql命令行的就知道了

    尤其是許多插件或模組的項目,加了這些前綴還有利於資料庫表的批次等操作

    回覆
    0
  • phpcn_u1582

    phpcn_u15822017-06-08 11:05:32

    用來區分所有項目使用同一個資料庫中不同項目的資料表

    回覆
    0
  • phpcn_u1582

    phpcn_u15822017-06-08 11:05:32

    表名稱的前綴只是一個命名規範,對於功能實作沒有影響。

    在比較複雜的系統中,透過表名前綴可以大概了解到表所在的模組和分類,這樣做日常開發和運維的時候看起來比較方便,新人了解系統資料結構的時候也有章可循。

    個人比較贊同這種做法,成本很低,但對後期的維運方便,為什麼不做呢?

    回覆
    0
  • 为情所困

    为情所困2017-06-08 11:05:32

    資料表在一個資料庫時,而且資料表比較多的時候區分是很直接的

    回覆
    0
  • 黄舟

    黄舟2017-06-08 11:05:32

    一個項目有100多張表以上時,你會懂為什麼需要用到.

    理想的是user_tabel1可以寫成user.table1(建立多庫)
    問題是在很多開發人員對資料庫的認識也只是簡單的增刪改查,包括很多框架也是(只能連接一個庫)

    打個比方,oracle最經典的scott實例.
    scott擁有部門與部門人員的名單, hr(另一個實例)擁有部門列表名單. 還有一個產品實例擁有產品列表名單.
    hr實例擁有對scott. emp的select權限但是沒有update權限

    個人覺得這樣的設計對資料的安全性(當一個實例被攻擊破解時不會暴露全部資料),邏輯分明性有很大的提高,但同時也要求開發人員對資料庫有更多的理解和掌握.
    但往往我們看到的是,開發人員所有的表放在一個庫裡.權限的控制也只是從業務邏輯上來控制.

    (以上都是個人的理解)

    回覆
    0
  • 取消回覆