數(shù)據(jù)庫是用于存儲記錄和信息的地方,在供應鏈管理中最常用的數(shù)據(jù)庫是關(guān)系型數(shù)據(jù)庫,這是今天我想要介紹的內(nèi)容。
我相信讀者對于數(shù)據(jù)庫有一定的了解,所以重點介紹“關(guān)系型”的概念。關(guān)系型數(shù)據(jù)庫使用共同的屬性(Attribute)將數(shù)據(jù)分組,把每種類型的數(shù)據(jù)存儲在一個位置,并建立起了許多的鏈接。
這句話很抽象,首先來解釋一下屬性的概念。每個人都有屬性,例如性別、年齡和出生地等,這些是個人信息的屬性。
采購訂單有哪些屬性呢?采購訂單編號、件號(Part number)、訂單數(shù)量、每件商品的單價、到貨日期等等,這些是采購訂單的屬性。假設我們有這樣一份采購訂單。
在最頂部的一排信息就是采購訂單的屬性,如果是在Excel表格里,每個屬性就是一列,例如C列是件號。
每行的信息就是記錄,比如第2條記錄中的采購訂單編號是123456,行號是2,件號是26516,訂單數(shù)量是300。。。供應商編號是1475。
在這里總共有4條記錄,與屬性一起構(gòu)成了一張表,在關(guān)系型數(shù)據(jù)庫中也叫做實體(Entity),而數(shù)據(jù)庫就是所有表的集合。
看到這里您可能會想“原來數(shù)據(jù)庫就是Excel表格??!”這樣理解是片面的,我們看到的電子表格是數(shù)據(jù)庫部分的功能,Excel表格可以存儲數(shù)據(jù),但表格之間還沒有建立關(guān)系。多個Excel表格內(nèi)可能存在重復的屬性,例如在采購訂單表格里有件號的屬性,在其他表格里也有。
如果在多個表格內(nèi)維護相同屬性的記錄,這是一項繁瑣的、容易出錯的工作,而關(guān)系型數(shù)據(jù)庫可以做到單一數(shù)據(jù)源(Single source of truth),數(shù)據(jù)只需要輸入或修改一次,可以在有關(guān)聯(lián)的表格內(nèi)顯示更改。
首先我要介紹一個概念——數(shù)據(jù)建模,它的意思是把現(xiàn)實世界中獲取到的數(shù)據(jù),裝入結(jié)構(gòu)化數(shù)據(jù)庫的方法,然后就可以用快速和便捷的方式進行查詢和索引。
為了做到這一點,我們必須考慮到所有不同類型的數(shù)據(jù),這些數(shù)據(jù)可能是涉及到一個項目、流程或業(yè)務,我們得要思考這些數(shù)據(jù)是如何相互關(guān)聯(lián)的。
舉個例子,在“采購訂單”表中,有多個的件號和對應的單價。每個件號可能有多個供應商在供貨,每一家的單價都是不同的,所以我們要建立“件號”的表格來管理價格。
我們需要通過關(guān)系型數(shù)據(jù)庫在表格之間建立起關(guān)聯(lián),才能保持數(shù)據(jù)的正確性和一致性,允許多個用戶訪問數(shù)據(jù),并讓使用者可以靈活地查詢信息。
公司的業(yè)務是經(jīng)常在變化的,比如采購的策略從單一供應源改為多個渠道購買,采購業(yè)務規(guī)則就需要更新,與業(yè)務保持一致。一個設計合理的數(shù)據(jù)庫可以確保業(yè)務數(shù)據(jù)存儲在一個地點,易于使用,且有很強的適應性。
關(guān)系型數(shù)據(jù)庫可以對存儲的數(shù)據(jù)關(guān)系設定規(guī)則或約束,讓我們先從基礎(chǔ)規(guī)則開始。
1)在某個表中有唯一的屬性
在Excel表格中可以有重復名稱的列(Column),而在關(guān)系型數(shù)據(jù)庫中,每個屬性或每一列都必須在某個表中有唯一的名稱。這是為了避免重復的屬性造成數(shù)據(jù)混亂,讓我們能知道所指的是哪一列。
采購訂單是數(shù)據(jù)庫中的實體,也就是表,采購訂單編號是其中的屬性,只能存在一個訂單編號,如果有2個號碼,我們就不知道哪個是正確的信息。采購訂單編號可以出現(xiàn)在其他表中,例如供應商發(fā)票表里也有采購訂單編號這個屬性,它們之間是具有關(guān)聯(lián)的。
2)屬性中的值來自于屬性列表
每個屬性的值應該是來自于這個屬性的所有值的清單,這句話是什么意思?當我們準備做一份采購訂單時,只能從現(xiàn)有的供應商列表中進行選擇。
比如“蘇州X公司”是已經(jīng)創(chuàng)建的記錄,我們可以選擇,如果是另一家不在列表中的供應商,在采購訂單表中就無法被選中。
這樣做可以避免輸入錯誤,有時候我們會在數(shù)據(jù)中找到許多名稱相似的值,它們的區(qū)別可能是大小寫或是空格號,但也不確定它們是不是同樣的信息。設定這個規(guī)則可以防止出現(xiàn)這種情況。
在上圖中,我們可以選擇3個供應商,它們來源于J列的供應商名稱下的3家公司,只能選擇在清單中的值。這個功能在Excel中是通過數(shù)據(jù)驗證來實現(xiàn)的。
3)每一行記錄都是唯一的
在一個好的數(shù)據(jù)庫中,每一行都應該是唯一的,不應該有重復的行。在Excel表格中,我們可以有多個重復的行。但在數(shù)據(jù)庫中,這可能是有問題的,因為我們不知道實際上指的是哪一行,這會造成重復的數(shù)據(jù)。關(guān)系型數(shù)據(jù)模型的記錄或行的排序并不重要,所以不用糾結(jié)數(shù)據(jù)的順序排列問題。
4)優(yōu)秀的數(shù)據(jù)模型的特點
首先,數(shù)據(jù)模型應該是完整的。我們應該確保所有必要的業(yè)務數(shù)據(jù)都體現(xiàn)在系統(tǒng)中,不應該遺漏任何重要的信息。
其次是確保沒有多余的數(shù)據(jù)。我們必須確保一個特定實體和該實體的同一條記錄不會被多次記錄。為什么這一點如此重要?在同一個數(shù)據(jù)庫中不能出現(xiàn)兩個不同步的數(shù)據(jù)。
再次,一個數(shù)據(jù)庫和數(shù)據(jù)模型是可重復使用的,一個企業(yè)中的許多用戶都可以使用同一個數(shù)據(jù)庫。例如外部的應用程序,分析員,或是其他人想要訪問數(shù)據(jù),他們可以使用同一個數(shù)據(jù)庫,而且數(shù)據(jù)只在同一個地方保持更新即可。
最后,數(shù)據(jù)模型需要有靈活性,能夠應對業(yè)務規(guī)則的變化,或是存儲額外數(shù)據(jù)的要求。一個設計合理的數(shù)據(jù)模型可以進行靈活地調(diào)整。
義烏漲完廣州漲 通達兔等快遞全年或增收數(shù)十億!
1584 閱讀又出傷人事件!買A退B、簽收訛詐、押金不退……快遞小哥如何避坑?
1323 閱讀傳網(wǎng)絡貨運“獎補”全面暫停,誰破防了?
1138 閱讀興滿物流華北首個樞紐落戶普洛斯?jié)蠄@區(qū),開啟零擔物流新格局
1126 閱讀2025年7月中國快遞發(fā)展指數(shù)報告
828 閱讀國家鐵路集團950億成立新藏鐵路公司
820 閱讀中國郵政開通“濟南=東京”國際貨郵航線
738 閱讀阿里技術(shù)元老“多隆”隱退,曾入選阿里合伙人
730 閱讀拼多多與順豐香港恢復合作
706 閱讀京東物流“狼族”系列亮相機器人大會
653 閱讀