4000字細(xì)說(shuō)ER模型基礎(chǔ)概念?業(yè)務(wù)建模系列

ER模型基礎(chǔ)概念

接下來(lái)幾篇文章會(huì)圍繞「業(yè)務(wù)建哪殴荩」這個(gè)方向风科,展開(kāi)總結(jié)一下斯议。講到業(yè)務(wù)建模就聯(lián)想到ER模型产捞,ER建模可以說(shuō)是B端產(chǎn)品經(jīng)理必要掌握的技能哼御。

本文會(huì)從以下幾個(gè)點(diǎn)進(jìn)行基礎(chǔ)指引:

· 什么是ER模型坯临?

· ER模型有什么作用焊唬?

· ER圖的核心部分是什么?

· 產(chǎn)品經(jīng)理如何進(jìn)行ER建模繪制ER圖看靠?

?什么是ER模型赶促?

ER模型,全稱為實(shí)體聯(lián)系模型挟炬、實(shí)體關(guān)系模型(全稱:Entity-Relationship Model)由美籍華人計(jì)算機(jī)科學(xué)家陳品山發(fā)明鸥滨,是概念數(shù)據(jù)模型的高層描述所使用的數(shù)據(jù)模型或模式圖。

ER模型常用于信息系統(tǒng)設(shè)計(jì)中谤祖;比如它們?cè)?b>概念結(jié)構(gòu)設(shè)計(jì)階段用來(lái)描述信息需求和/或要存儲(chǔ)在數(shù)據(jù)庫(kù)中的信息的類型婿滓。但是數(shù)據(jù)建模技術(shù)可以用來(lái)描述特定論域(就是感興趣的區(qū)域)的任何本體(就是對(duì)使用的術(shù)語(yǔ)和它們的聯(lián)系的概述和分類)。

在基于數(shù)據(jù)庫(kù)的信息系統(tǒng)設(shè)計(jì)的情況下粥喜,在后面的階段(通常叫做邏輯設(shè)計(jì))凸主,概念模型要映射到邏輯模型如關(guān)系模型上;它依次要在物理設(shè)計(jì)期間映射到物理模型上额湘。注意卿吐,有時(shí)這兩個(gè)階段被一起稱為“物理設(shè)計(jì)”。

在以前的文章中有簡(jiǎn)單的提過(guò)「概念模型」锋华,其實(shí)就是ER建模的輸出產(chǎn)物——實(shí)體聯(lián)系模式圖(ERD嗡官,全稱:Entity Relationship? Diagram)。

汽車美容門店排位系統(tǒng)

產(chǎn)品經(jīng)理接收到一個(gè)新的業(yè)務(wù)需求后供置,可以通過(guò)ERD進(jìn)行梳理實(shí)體之間谨湘、實(shí)體與屬性之間的關(guān)系,從中將整個(gè)業(yè)務(wù)抽象出共性與核心特征芥丧;當(dāng)ERD給到我們的開(kāi)發(fā)人員后紧阔,這些實(shí)體之間、實(shí)體屬性之間的關(guān)系就演變成數(shù)據(jù)庫(kù)的表與字段续担。有了ERD后對(duì)于整個(gè)系統(tǒng)的架構(gòu)與后續(xù)擴(kuò)展都有很大的好處擅耽,可以很好的理解與梳理業(yè)務(wù)。

?ER模型有什么作用物遇?

當(dāng)我們理解了實(shí)際問(wèn)題的需求之后乖仇,需要用一種方法來(lái)表示這種需求,ERD就是用來(lái)描述這種需求询兴。

在梳理ERD的過(guò)程中乃沙,其實(shí)我們就是梳理業(yè)務(wù),它在這個(gè)數(shù)據(jù)過(guò)程中起到的作用:

提升總結(jié)歸納的抽象能力:我們接收需求的時(shí)候诗舰,會(huì)有很多噪聲需求警儒,產(chǎn)品經(jīng)理就需要從中提煉有意義的實(shí)體概念,實(shí)體屬性,從而達(dá)到整個(gè)業(yè)務(wù)模式能在系統(tǒng)上運(yùn)作起來(lái)蜀铲。

提高溝通效率:當(dāng)我們輸出ERD后边琉,與業(yè)務(wù)、開(kāi)發(fā)记劝、測(cè)試人員溝通時(shí)变姨,能很好的表達(dá)出我們系統(tǒng)上的實(shí)體關(guān)系,這就是所謂的一圖勝千言厌丑。

提高建模合理性定欧,避免掉坑:在ER建模過(guò)程中,提高建模的合理性能讓系統(tǒng)運(yùn)作更良好蹄衷,避免后續(xù)業(yè)務(wù)變化導(dǎo)致系統(tǒng)又需推到重來(lái)的結(jié)果忧额,影響業(yè)務(wù)發(fā)展。

?ER圖的核心部分是什么愧口?

ER圖分為實(shí)體睦番、屬性關(guān)系三個(gè)核心部分:

· 實(shí)體是長(zhǎng)方形體現(xiàn)

· 屬性是橢圓形體現(xiàn)

· 關(guān)系是菱形體現(xiàn)

門店員工實(shí)體關(guān)系模型圖

? 實(shí)體(Entity)

即數(shù)據(jù)模型中的數(shù)據(jù)對(duì)象耍属,例如門店托嚣、員工、物品都可以作為一個(gè)數(shù)據(jù)對(duì)象厚骗,用長(zhǎng)方體來(lái)表示示启,每個(gè)實(shí)體都有自己的實(shí)體成員(entity member)或者說(shuō)實(shí)體對(duì)象(entity instance),例如員工實(shí)體里包括張三领舰、李四等夫嗓,實(shí)體成員(entity member)/ 實(shí)體實(shí)例(entity instance) 不需要出現(xiàn)在ER圖中

ER的實(shí)體還會(huì)細(xì)分:弱實(shí)體冲秽、復(fù)合實(shí)體

◆ 弱實(shí)體:一個(gè)實(shí)體必須依賴于另一個(gè)實(shí)體存在舍咖,那么前者是弱實(shí)體,后者是強(qiáng)實(shí)體锉桑,弱實(shí)體必須依賴強(qiáng)實(shí)體存在排霉,例如上圖的門店實(shí)體和員工實(shí)體,員工依賴于門店實(shí)體而存在民轴,因此門店是強(qiáng)實(shí)體攻柠,而員工是弱實(shí)體

弱實(shí)體和強(qiáng)實(shí)體的聯(lián)系必然只有1:N或者1:1后裸,這是由于弱實(shí)體完全依賴于強(qiáng)實(shí)體瑰钮,強(qiáng)實(shí)體不存在,那么弱實(shí)體就不存在微驶,所以弱實(shí)體是完全參與聯(lián)系的飞涂,因此弱實(shí)體與聯(lián)系之間的聯(lián)系也是用的雙線菱形

強(qiáng)弱實(shí)體關(guān)系模型

◆ 復(fù)合實(shí)體:復(fù)合實(shí)體也稱聯(lián)合實(shí)體橋接實(shí)體祈搜,常常用于實(shí)現(xiàn)兩個(gè)或多個(gè)實(shí)體間的M:N聯(lián)系较店,它由每個(gè)關(guān)聯(lián)實(shí)體的主碼組成,用長(zhǎng)方體內(nèi)加一個(gè)菱形來(lái)表示容燕。

舉個(gè)復(fù)合實(shí)體的例子梁呈,還是以汽車美容門店的案例,車主施工項(xiàng)目兩個(gè)實(shí)體是M:N的關(guān)系蘸秘,中間有施工訂單這個(gè)實(shí)體聯(lián)系官卡,因此施工訂單這個(gè)實(shí)體是一個(gè)復(fù)合實(shí)體,同時(shí)如果車主實(shí)體不存在醋虏,就沒(méi)有施工訂單實(shí)體的存在寻咒,因此對(duì)于車主實(shí)體來(lái)講施工訂單是弱實(shí)體,同理施工項(xiàng)目實(shí)體如果不存在颈嚼,同樣不存在施工訂單實(shí)體毛秘,因此對(duì)施工項(xiàng)目實(shí)體而言施工訂單是弱實(shí)體,具體如圖:

車主施工單復(fù)合實(shí)體示例


我們?nèi)绾握业綐I(yè)務(wù)中的實(shí)體阻课?

首先我們要定義的實(shí)體叫挟,就是最終定義具體業(yè)務(wù)的關(guān)鍵核心點(diǎn)。而要在業(yè)務(wù)場(chǎng)景中找到有實(shí)際業(yè)務(wù)意義的實(shí)體限煞,在找實(shí)體的過(guò)程中我們可以用以下思路:

一 利益相關(guān)者法:思考業(yè)務(wù)本身有哪些利益相關(guān)者抹恳,這些利益相關(guān)者有需要我們解決什么問(wèn)題

在B端業(yè)務(wù)中署驻,經(jīng)常會(huì)涉及到很多利益相關(guān)者奋献,而我們可以將一部分利益相關(guān)者抽象出一部分實(shí)體。

比如旺上,前段時(shí)間的文章《一篇長(zhǎng)文:總結(jié)B端業(yè)務(wù)調(diào)研的問(wèn)題》瓶蚂,經(jīng)過(guò)調(diào)研后,我們可以輸出以下利益相關(guān)者:


調(diào)查問(wèn)卷

這樣一系列調(diào)研下來(lái)后抚官,我們可以初步的確認(rèn)這些實(shí)體:?jiǎn)T工(客服人員/設(shè)計(jì)師/財(cái)務(wù)人員)扬跋、客戶、渠道凌节、量房記錄钦听、收款記錄

二 業(yè)務(wù)流程法:這個(gè)方法可以從流程中抽象出實(shí)體,因?yàn)闃I(yè)務(wù)流程往往體現(xiàn)了實(shí)體與實(shí)體之間的交互過(guò)程倍奢。

在《流程圖——產(chǎn)品?檔和原型咋弄(二)》有提到業(yè)務(wù)流程畫(huà)法朴上,其中我們還是以前面調(diào)研的例子繪制一個(gè)簡(jiǎn)單的業(yè)務(wù)流程圖:

SCRM客戶留資實(shí)體關(guān)系模型圖

??屬性(Attribute)

即數(shù)據(jù)對(duì)象所具有的屬性,例如員工具有姓名卒煞、工號(hào)痪宰、職位等屬性,用橢圓形表示,屬性分為唯一屬性( unique attribute)和非唯一屬性衣撬,唯一屬性指的是唯一可用來(lái)標(biāo)識(shí)該實(shí)體實(shí)例或者成員的屬性乖订,用下劃線表示,一般來(lái)講實(shí)體都至少有一個(gè)唯一屬性具练。

ER圖的屬性還細(xì)分為復(fù)合屬性乍构、多值屬性派生屬性可選屬性扛点,同時(shí)還有用來(lái)表示聯(lián)系的屬性哥遮,稱為聯(lián)系屬性

◆?復(fù)合屬性(composite attribute):復(fù)合屬性是指具有多個(gè)屬性的組合陵究,例如「姓名」屬性眠饮,它可以包含「姓氏」屬性和「名字」屬性,如下圖:

復(fù)合屬性

復(fù)合屬性也有唯一屬性,例如員工的「職位」屬性,由于多個(gè)「職位」都有「職級(jí)」铃岔,所以單單「職位」屬性是不唯一的,但是和「職級(jí)」組成的復(fù)合屬性后則可以匹配成唯一屬性返咱。

◆?多值屬性(multivalued attribute):一個(gè)實(shí)體的某個(gè)屬性可以有多個(gè)不同的取值,例如一輛車的「車型」屬性牍鞠,這輛車有多個(gè)「車型」咖摹,例如SUV、MPV等难述,這個(gè)「車型」就是多值屬性萤晴, 用雙線橢圓表示。

多值屬性

◆?派生屬性(derivers attribute):是非永久性存于數(shù)據(jù)庫(kù)的屬性胁后。派生屬性的值可以從別的屬性值或其他數(shù)據(jù)(如當(dāng)前日期)派生出來(lái)店读,用虛線橢圓表示,如下圖攀芯。

派生屬性(門店的營(yíng)銷活動(dòng)參與情況)

類似上圖「門店的營(yíng)銷活動(dòng)參與情況」中屯断,「參與人數(shù)」就是一個(gè)派生屬性,隨著車主參加的活動(dòng)變化侣诺,「參與人數(shù)」屬性也會(huì)變化殖演,一般來(lái)說(shuō)派生屬性不存在數(shù)據(jù)庫(kù)中,而是通過(guò)相應(yīng)的公式邏輯查詢出來(lái)年鸳,比如:參與記錄趴久、活動(dòng)下單等。而如果存放在數(shù)據(jù)庫(kù)中搔确,那么就需要隔一段時(shí)間就進(jìn)行更新彼棍,否則會(huì)出現(xiàn)數(shù)據(jù)不對(duì)的情況灭忠。

◆?可選屬性(optional attribute):并不是所有的屬性都必須有值,有些屬性的可以沒(méi)有值座硕,這就是可選屬性弛作,在橢圓的文字后用(O)來(lái)表示,如下圖的地址就是一個(gè)可選屬性坎吻。

可選屬性

◆?聯(lián)系屬性:聯(lián)系屬性用于表示多個(gè)實(shí)體之間聯(lián)系所具有的屬性缆蝉,一般來(lái)講M:N的兩個(gè)實(shí)體的聯(lián)系具有聯(lián)系屬性,在1:1和1:M的實(shí)體聯(lián)系中聯(lián)系屬性并不必要瘦真。

聯(lián)系屬性

比如上圖的「門店」需要開(kāi)展「營(yíng)銷活動(dòng)」,那么需要有個(gè)「門店開(kāi)展活動(dòng)」屬性將兩個(gè)實(shí)體聯(lián)系起來(lái)黍瞧,而這個(gè)屬性其實(shí)是需要「門店id」诸尽、「活動(dòng)id」組合而成的「開(kāi)展ID」,這里類似數(shù)據(jù)庫(kù)中的「復(fù)合主鍵」印颤。而這個(gè)「開(kāi)展日期」您机、「開(kāi)展成本」都是用于門店開(kāi)展活動(dòng)整體情況數(shù)據(jù)。

??關(guān)系(Relationship)

用來(lái)表現(xiàn)數(shù)據(jù)對(duì)象與數(shù)據(jù)對(duì)象之間的聯(lián)系年局,例如「門店」的實(shí)體和「員工」的實(shí)體之間有一定的聯(lián)系际看,每個(gè)「門店」都有自己的「員工」,這就是一種關(guān)系矢否,關(guān)系用菱形來(lái)表示仲闽。

ER圖中關(guān)聯(lián)關(guān)系有三種:

◆?1對(duì)1(1:1):1對(duì)1關(guān)系是指對(duì)于實(shí)體集A與實(shí)體集B,A中的每一個(gè)實(shí)體至多與B中一個(gè)實(shí)體有關(guān)系僵朗;反之赖欣,在實(shí)體集B中的每個(gè)實(shí)體至多與實(shí)體集A中一個(gè)實(shí)體有關(guān)系。

◆?1對(duì)多(1:N):1對(duì)多關(guān)系是指實(shí)體集A與實(shí)體集B中至少有N(N>0)個(gè)實(shí)體有關(guān)系验庙;并且實(shí)體集B中每一個(gè)實(shí)體至多與實(shí)體集A中一個(gè)實(shí)體有關(guān)系顶吮。

◆?多對(duì)多(M:N):多對(duì)多關(guān)系是指實(shí)體集A中的每一個(gè)實(shí)體與實(shí)體集B中至少有M(M>0)個(gè)實(shí)體有關(guān)系,并且實(shí)體集B中的每一個(gè)實(shí)體與實(shí)體集A中的至少N(N>0)個(gè)實(shí)體有關(guān)系粪薛。

對(duì)于這三種關(guān)聯(lián)關(guān)系悴了,其實(shí)上面的圖例中都有體現(xiàn)出來(lái)。

?產(chǎn)品經(jīng)理如何進(jìn)行ER建模繪制ER圖违寿?

前面提到ER圖分為實(shí)體(長(zhǎng)方形)湃交、屬性(橢圓形)、關(guān)系(菱形)三個(gè)核心部分陨界,而對(duì)于之間的聯(lián)系(直線表示)巡揍,相關(guān)表示符號(hào)見(jiàn)下圖:

來(lái)源「億圖圖示」

其實(shí)這里從1976年3月陳品山博士發(fā)明ER圖后,隨著實(shí)體關(guān)系建模的發(fā)展菌瘪,ER圖的畫(huà)法也出現(xiàn)了變化腮敌。比如上面是「億圖圖示」這個(gè)軟件提供的ER圖圖例阱当。

陳氏符號(hào),其實(shí)就是我們前面提到的案例:

實(shí)體是長(zhǎng)方形體現(xiàn)糜工;

屬性是橢圓形體現(xiàn)弊添,如果是唯一鍵值屬性,就在內(nèi)容文本中加下劃線捌木;

關(guān)系是菱形體現(xiàn)油坝,菱形內(nèi)注明實(shí)體之間的聯(lián)系情況;

基數(shù)就是關(guān)系菱形兩側(cè)直線內(nèi)標(biāo)注關(guān)系類型刨裆;

出自processon.com

UML畫(huà)法

使用UML畫(huà)ER圖澈圈,其實(shí)只是用UML的符號(hào)進(jìn)行繪制而已,并沒(méi)有什么特別之處帆啃。

實(shí)體:還是使用矩形表示瞬女。

屬性:這個(gè)時(shí)候我們初期都可以先忽略屬性,先把實(shí)體與實(shí)體之間的關(guān)系梳理清楚努潘。

聯(lián)系:直接使用直線诽偷,對(duì)比前面的中間有個(gè)菱形,這樣可能會(huì)快捷一些疯坤。

UML畫(huà)ER圖

如果在考慮屬性报慕,那么就會(huì)到最開(kāi)始的汽車美容門店排位系統(tǒng)的圖。


? 拓展內(nèi)容

本文章很多內(nèi)容出自以下書(shū)籍(回復(fù)關(guān)鍵詞「?ER模型」或「008」可獲妊沟 ):

? 陳品山博士發(fā)表的《The Entity-Relationship Model--Toward a Unified View of Data》

? 數(shù)據(jù)庫(kù)領(lǐng)域的殿堂級(jí)作品《數(shù)據(jù)庫(kù)系統(tǒng)概念》

? 億圖圖示(https://www.edrawsoft.com/)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末眠冈,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子刑峡,更是在濱河造成了極大的恐慌洋闽,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件突梦,死亡現(xiàn)場(chǎng)離奇詭異诫舅,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)宫患,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門刊懈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人娃闲,你說(shuō)我怎么就攤上這事虚汛。” “怎么了皇帮?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵卷哩,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我属拾,道長(zhǎng)将谊,這世上最難降的妖魔是什么冷溶? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮尊浓,結(jié)果婚禮上逞频,老公的妹妹穿的比我還像新娘。我一直安慰自己栋齿,他們只是感情好苗胀,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著瓦堵,像睡著了一般基协。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谷丸,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天堡掏,我揣著相機(jī)與錄音,去河邊找鬼刨疼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鹅龄,可吹牛的內(nèi)容都是我干的揩慕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼扮休,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼迎卤!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起玷坠,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蜗搔,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后八堡,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體樟凄,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年兄渺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了缝龄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挂谍,死狀恐怖叔壤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情口叙,我是刑警寧澤炼绘,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站妄田,受9級(jí)特大地震影響俺亮,放射性物質(zhì)發(fā)生泄漏驮捍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一铅辞、第九天 我趴在偏房一處隱蔽的房頂上張望厌漂。 院中可真熱鬧,春花似錦斟珊、人聲如沸苇倡。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)旨椒。三九已至,卻和暖如春堵漱,著一層夾襖步出監(jiān)牢的瞬間综慎,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工勤庐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留示惊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓愉镰,卻偏偏與公主長(zhǎng)得像米罚,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子丈探,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容