mysql - 問個數(shù)據(jù)庫的設(shè)計規(guī)范,中間表名應(yīng)該用單數(shù)還是復(fù)數(shù)?
問題描述
問個數(shù)據(jù)庫的設(shè)計規(guī)范問題,假設(shè)有個用戶表users 有個角色表roles 用戶跟角色之間是多對多關(guān)系,那我中間表應(yīng)該用users_roles 還是用user_role? Laravel 默認是用單數(shù)user_role我想知道有什么設(shè)計規(guī)范?
問題解答
回答1:一般是采用merge_user_role或者mapping_user_role這一類的形式,user_role當(dāng)然也行,但這樣容易和其他表混淆。至于是否使用復(fù)數(shù),主要看其他表的設(shè)計,如果你的users表就是復(fù)數(shù)的,你這里大可也使用復(fù)數(shù),但一般表名都不以復(fù)數(shù)形式出現(xiàn),所以這里也無需出現(xiàn)復(fù)數(shù)。
回答2:沒必要糾結(jié)到底是單復(fù)數(shù),風(fēng)格統(tǒng)一 就好
回答3:沒有規(guī)定,不過建議用單數(shù),因為如果負數(shù)要多占2個字符,在ORACLE里標識符長度最大30,在某些情況下用復(fù)數(shù)就超了
回答4:命名規(guī)范統(tǒng)一即可,如果單個表名用復(fù)數(shù),表關(guān)系的名稱中也建議用復(fù)數(shù)。
