日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

mysql 多表关联建模_(四)多对多模式 - 数据库模型设计专栏 - CSDN博客

發布時間:2023/11/27 生活经验 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 多表关联建模_(四)多对多模式 - 数据库模型设计专栏 - CSDN博客 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

連載之5

原創:胖子劉(轉載請注明出處及作者,謝謝。)(四)多對多模式

多對多模式,也是比較常見的一種數據庫設計模式,它所描述的兩個對象不分主次、地位對等、互為一對多的關系。對于A表來說,一條記錄對應著B表的多條記錄,反過來對于B表來說,一條記錄也對應著A表的多條記錄,這種情況就是“多對多模式”。

“多對多模式”需要在A表和B表之間有一個關聯表,這個關聯表也是“多對多模式”的核心所在。根據關聯表是否有獨立的業務處理需求,可將其劃分為兩種細分情況。

1.關聯表有獨立的業務處理需求。

舉例如下(注:這個例子已經作了相當程度的簡化,僅僅是用來幫助大家理解“多對多模式”這個概念來使用的,請大家注意)。

比如網上書店,通常都會有“書目信息”和“批發單”。一條“書目信息”面對不同的購買客

戶、可以存在多張“批發單”,反過來,一張“批發單”也可以批發多條書目,這就是多對多模式。中間的“批發單明細”表就是兩者的關聯表,具備獨立的業務處

理需求,是一個業務實體對象,因此它具備一些特有的屬性,比如針對每一條明細記錄而言的“累計退貨次數”、“累計退貨數量”、“累計結算次數”、“累計結

算數量”;由于批發單明細在數據產生后已經打印出紙質清單提供給客戶,因此在“批發單明細”表里對紙質清單中打印的書目信息屬性作了冗余(逆標準化),這

樣在將來即使修改了“書目信息”表中的屬性,也不會影響跟客戶核對批發單明細,不會影響未來的財務結算業務。

2.關聯表沒有獨立的業務處理需求

舉例如下(注:這個例子已經作了相當程度的簡化,僅僅是用來幫助大家理解“多對多模式”這個概念來使用的,請大家注意)。

比如用戶與角色之間的關系,一般系統在做權限控制方面的程序時都會涉及到“系統用戶表”

和“系統角色表”。一個用戶可以從屬于多個角色,反過來一個角色里面也可以包含多個用戶,兩者也是典型的“多對多關系”。其中的關聯表“用戶角色關聯表”

在絕大多數情況下都是僅僅用作表示用戶與角色之間的關聯關系,本身不具備獨立的業務處理需求,所以也就沒有什么特殊的屬性。

總結

以上是生活随笔為你收集整理的mysql 多表关联建模_(四)多对多模式 - 数据库模型设计专栏 - CSDN博客的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。