亚洲精品少妇久久久久久海角社区,色婷婷亚洲一区二区综合,伊人蕉久中文字幕无码专区,日韩免费高清大片在线

羅戈網(wǎng)
搜  索
登陸成功

登陸成功

積分  

關(guān)系型數(shù)據(jù)庫中的關(guān)系是如何建立起來的?

[羅戈導(dǎo)讀]?本篇內(nèi)容將重點(diǎn)討論數(shù)據(jù)庫中各表之間的關(guān)系。

本篇內(nèi)容將重點(diǎn)討論數(shù)據(jù)庫中各表之間的關(guān)系。

1.實(shí)體和屬性

數(shù)據(jù)庫是由實(shí)體(也叫做表)組成的,例如“SKU”、“供應(yīng)商”和“采購訂單”是實(shí)體。

每個(gè)表里有一些屬性,例如“件號(hào)”、“供應(yīng)商編號(hào)”等是屬性。假設(shè)我們有3個(gè)實(shí)體,其中各有一些屬性,如下圖。

圖 實(shí)體和屬性

我簡(jiǎn)略地解釋一下其中的主要內(nèi)容。在“SKU”表里存儲(chǔ)的是每個(gè)最小的庫存單位(Stock Keeping Unit,縮寫SKU)的關(guān)鍵信息,SKU有一個(gè)唯一的號(hào)碼,也就是件號(hào),這就像是人的身份證一樣,是一一對(duì)應(yīng)的,一般來說,1個(gè)SKU不會(huì)有2個(gè)件號(hào)。假設(shè)SKU是從外部采購的,因此需要供應(yīng)商的信息。

某個(gè)SKU可能存在多個(gè)供應(yīng)商同時(shí)供貨的情況,“SKU”表中的“配額”屬性定義了每個(gè)供應(yīng)商的采購比例。如果SKU是獨(dú)家供應(yīng)的,配額當(dāng)然是100%,如果有超過1個(gè)的供應(yīng)商可供貨,我們需要根據(jù)采購制定的策略進(jìn)行分配,累計(jì)數(shù)量必須是100%。

供應(yīng)商表中的屬性有供應(yīng)商編號(hào),一家供應(yīng)商可能提供多個(gè)SKU,所以需要一個(gè)序號(hào),另外還有件號(hào)和對(duì)應(yīng)的價(jià)格。

在采購訂單表中,重要的屬性包括了訂單號(hào)、行號(hào)、件號(hào)、供應(yīng)商編號(hào)和名稱、價(jià)格、數(shù)量和到貨日期等。

在這3個(gè)實(shí)體中,我們發(fā)現(xiàn)有一些重復(fù)出現(xiàn)的屬性,例如件號(hào)、供應(yīng)商編號(hào)和名稱,這說明實(shí)體之間應(yīng)該是有一些關(guān)系的,我們需要一種工具把這種關(guān)系描述出來,它就是實(shí)體關(guān)系圖(Entity Relationship Diagram, 縮寫ERD)。

2.實(shí)體關(guān)系圖

實(shí)體關(guān)系圖是數(shù)據(jù)庫的一個(gè)示意圖,描述了所有不同的實(shí)體或表,以及它們之間的關(guān)系。在ERD中,實(shí)體被畫成了一個(gè)個(gè)盒子,它們之間用線條連接,表示實(shí)體之間是有關(guān)系的。

在數(shù)據(jù)庫的語言中,使用基數(shù)(Cardinality)這個(gè)詞描述了兩個(gè)實(shí)體和關(guān)系之間相關(guān)發(fā)生的預(yù)期數(shù)量,這個(gè)概念很抽象,我就不詳細(xì)介紹了。我們可以簡(jiǎn)單地把關(guān)系理解為三種情況,分別是:

一對(duì)一:

例如一個(gè)人只有一個(gè)身份證號(hào)碼,一個(gè)SKU只對(duì)應(yīng)一個(gè)件號(hào)。

一對(duì)多:

一個(gè)供應(yīng)商可以對(duì)應(yīng)多個(gè)采購訂單,相反地,一個(gè)采購訂單只能對(duì)應(yīng)一個(gè)供應(yīng)商,我們不能在同一個(gè)采購訂單里出現(xiàn)2家以上的供應(yīng)商,這可能會(huì)泄露商業(yè)機(jī)密。即使這些供應(yīng)商之間沒有直接競(jìng)爭(zhēng)關(guān)系,但我們還是要有所顧慮,避免不必要的麻煩,所以它們是一對(duì)多的關(guān)系。

多對(duì)多:

一個(gè)采購訂單里可以有多個(gè)SKU,就像是我們?nèi)ゴ笮统幸粯?,通常?huì)采購多項(xiàng)的商品,很容易理解。反過來,一個(gè)SKU可以出現(xiàn)在多個(gè)采購訂單里,以前買過了,現(xiàn)在來復(fù)購,這是很正常的,所以它們是多對(duì)多的關(guān)系。

如何用簡(jiǎn)單的方式來描繪出以上3種的關(guān)系呢?可以使用鴉爪圖(Crow's foot notation),它看上去有點(diǎn)像烏鴉的爪子,因此得名。

3.鴉爪圖

以“供應(yīng)商”和“采購訂單”為例,讓我們看一下它們的ERD是什么樣子的。

圖 供應(yīng)商”和“采購訂單”關(guān)系和鴉爪圖

在上圖中,“供應(yīng)商”和“采購訂單”實(shí)體之間被一條線連接在一起,這代表它們是有關(guān)系的。

圖 放大后的線條

在線條的左側(cè)是兩條垂直的短線,它的意思是關(guān)系是“1個(gè),且僅有1個(gè)”。在右側(cè)的符號(hào)是一個(gè)圈,外加了3條短線,它代表“0或多個(gè)”。

這種關(guān)系是含義是什么呢?一家供應(yīng)商可以有多個(gè)采購訂單,只要不是一錘子的買賣,客戶很可能是會(huì)重復(fù)購買的。為什么會(huì)有0個(gè)訂單的情況?可能供應(yīng)商剛剛被加入到備選清單中,還沒來得及下訂單,或者是供應(yīng)商出了產(chǎn)品質(zhì)量問題,采購被通知暫停購買,這些都是有可能出現(xiàn)的情況,所以這個(gè)關(guān)系是“0或多個(gè)”。為什么一個(gè)采購訂單對(duì)應(yīng)的供應(yīng)商數(shù)量是“1個(gè),且僅有1個(gè)”?首先,一張訂單不能出現(xiàn)多個(gè)供應(yīng)商,原因之前已經(jīng)解釋過了。其次,僅有1個(gè)的意思是它不能是0個(gè),這樣說有點(diǎn)拗口,我們換個(gè)角度來理解一下這句話的含義。當(dāng)采購員在做訂單時(shí),他必須把訂單發(fā)給某一個(gè)供應(yīng)商,這就是“1”的關(guān)系,他如果選擇了“0”,意味著不知道供應(yīng)商是誰,這樣的訂單是無效的,采購東西的時(shí)候至少要知道該向誰買吧,所以是采購訂單對(duì)應(yīng)供應(yīng)商的數(shù)量是1,且僅是1。

再來舉一個(gè)例子,來看一下“SKU”和“供應(yīng)商”實(shí)體之間的關(guān)系,如下圖。

圖 “SKU”和“供應(yīng)商”關(guān)系和鴉爪圖

兩個(gè)實(shí)體之間被一條線連接在一起,這代表它們是有關(guān)系的。

圖 放大后的線條

右側(cè)的圖形表示“0或多個(gè)”,剛才已經(jīng)介紹過了。左側(cè)的圖形是一個(gè)圈加上一條豎線,代表是“0或1個(gè)”。1個(gè)SKU可能有多個(gè)供應(yīng)商能夠供貨,除非是壟斷的資源或是技術(shù),許多供應(yīng)商都可以制造出類似的產(chǎn)品。

如果某個(gè)特殊的SKU在市場(chǎng)上找不到貨源,那么供應(yīng)商數(shù)量為零,這也是可能的,例如有些年代久遠(yuǎn)的產(chǎn)品配件在市場(chǎng)上難覓蹤跡。因此,SKU與供應(yīng)商數(shù)量的關(guān)系是 “0或多個(gè)”。

反過來看,1個(gè)供應(yīng)商理論上只有對(duì)應(yīng)1個(gè)SKU,因?yàn)楹笳呤亲钚齑鎲挝唬幢闶峭瑯拥漠a(chǎn)品,更換了外包裝或是包裝數(shù)量,它就是另一個(gè)SKU了。供應(yīng)商也沒有理由去對(duì)應(yīng)多個(gè)一模一樣的SKU。

當(dāng)然,供應(yīng)商可以在現(xiàn)階段不提供任何的產(chǎn)品或服務(wù),但是以后說不準(zhǔn)會(huì)有購買行為,所以關(guān)系會(huì)是“0“。這就是SKU這邊是“0或1個(gè)”的原因。

圖 鴉爪圖中的4種基數(shù)

4.業(yè)務(wù)規(guī)則

數(shù)據(jù)庫中實(shí)體之間的關(guān)系,加上這些關(guān)系中的基數(shù)(一對(duì)一、一對(duì)多、多對(duì)多)構(gòu)成了業(yè)務(wù)規(guī)則的基礎(chǔ)。

我們只需要看ERD,就能理解業(yè)務(wù)的規(guī)則,例如1個(gè)供應(yīng)商對(duì)應(yīng)著0或多個(gè)采購訂單,如果更改了關(guān)系和基數(shù),意味著業(yè)務(wù)規(guī)則也變動(dòng)了。

假設(shè)采購有新的規(guī)定,供應(yīng)商這邊至少要有1個(gè)SKU在供貨,否則就要從采購名單中撤下來,不能在數(shù)據(jù)庫中出現(xiàn),那么供應(yīng)商對(duì)著SKU的關(guān)系就變成了1個(gè),不能再出現(xiàn)0了。

再比如說,采購認(rèn)為那些找不到供應(yīng)渠道的SKU必須從數(shù)據(jù)庫中拿掉,那么SKU對(duì)應(yīng)供應(yīng)商的關(guān)系成為了“1或多個(gè)“。

現(xiàn)在我們可以理解了,一個(gè)數(shù)據(jù)模型可能會(huì)有多個(gè)解決方案,用于描述不同的基礎(chǔ)業(yè)務(wù)流程或規(guī)則。企業(yè)的實(shí)際業(yè)務(wù)需求和流程決定了數(shù)據(jù)庫的業(yè)務(wù)規(guī)則。

當(dāng)我們看到一個(gè)實(shí)體關(guān)系圖,或者一個(gè)數(shù)據(jù)模型,通過實(shí)體或表之間的關(guān)系和基數(shù),就可以理解業(yè)務(wù)流程和規(guī)則。

免責(zé)聲明:羅戈網(wǎng)對(duì)轉(zhuǎn)載、分享、陳述、觀點(diǎn)、圖片、視頻保持中立,目的僅在于傳遞更多信息,版權(quán)歸原作者。如無意中侵犯了您的版權(quán),請(qǐng)第一時(shí)間聯(lián)系,核實(shí)后,我們將立即更正或刪除有關(guān)內(nèi)容,謝謝!
上一篇:你家的信息系統(tǒng)為什么越用越爛?
下一篇:蘇州南環(huán)橋農(nóng)批市場(chǎng)的供應(yīng)鏈印象
羅戈訂閱
周報(bào)
1元 2元 5元 10元

感謝您的打賞

登錄后才能發(fā)表評(píng)論

登錄

相關(guān)文章

2025-03-31
2025-03-26
2025-03-24
2025-03-24
2025-03-21
2025-03-20
活動(dòng)/直播 更多

倉儲(chǔ)管理之全局視角:從入門到精通

  • 時(shí)間:2025-04-24 ~ 2025-05-16
  • 主辦方:馮銀川
  • 協(xié)辦方:羅戈網(wǎng)

¥:2080.0元起

報(bào)告 更多

2025年3月物流行業(yè)月報(bào)-個(gè)人版

  • 作者:羅戈研究

¥:9.9元