数据库设计中,多对多关系使用使用逗号分割关联讨论
生活随笔
收集整理的這篇文章主要介紹了
数据库设计中,多对多关系使用使用逗号分割关联讨论
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
進(jìn)公司一個月,發(fā)現(xiàn)公司很多人喜歡用逗號分割,去存儲其它表的主鍵,做多對多關(guān)聯(lián),但存在很多亂用現(xiàn)象。這里對這種方式做了下總結(jié)。
?
?
? ? ? ??在傳統(tǒng)數(shù)據(jù)庫設(shè)計中,多對多關(guān)系存儲通常都是用一張中間表來簡歷兩張表的關(guān)系。例如用戶和角色,一個用戶有多個角色,而一個角色下又會有多個用戶。這樣,理所當(dāng)然的我們會想著用張中間表去存儲兩者的關(guān)系。這樣角色就能很容易的查出自己對應(yīng)的多個用戶。用戶也同樣能容易查出自己有哪些角色。這種設(shè)計是通用而合理的,兩個對象都可以維護(hù)之前的關(guān)系。
? ? ? ? ? 有種情況:例如對象A與對象B,兩者之間是多對多關(guān)系。但A對象是個相對固定,或者說幾乎沒有查詢與操作。我們只需要在B對象上維護(hù)A對象的關(guān)系。這時我們可以用逗號去分割A(yù)對象的ID去存儲多個A的關(guān)系。
優(yōu)點: 不用建中間表,操作起來會更方便。
缺點: ? 當(dāng)二者關(guān)聯(lián)關(guān)系改變時,不易去維護(hù),而且這種關(guān)聯(lián)關(guān)系時單向的,也就是說只適合與單向關(guān)聯(lián)。 ???適用范圍總結(jié):與枚舉表關(guān)聯(lián),與附件表關(guān)聯(lián),及其他只需單向關(guān)聯(lián),且關(guān)聯(lián)數(shù)量不會太多的情況。?
優(yōu)點: 不用建中間表,操作起來會更方便。轉(zhuǎn)載于:https://www.cnblogs.com/toSeeMyDream/p/8865444.html
總結(jié)
以上是生活随笔為你收集整理的数据库设计中,多对多关系使用使用逗号分割关联讨论的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下增加磁盘改变指定文件路径分区
- 下一篇: 搭建MyBatis操作数据库