官术网_书友最值得收藏!

2.2 物流信息系統中的數據管理與數據庫系統

2.2.1 數據管理的發展

物流系統中存在大量的數據資源,從圖2.3中可以看到,物流信息系統的正常運營離不開中央數據庫系統的支持。從數據管理的技術角度講,其發展過程經歷了人工管理、文件管理和數據庫系統三個階段。

1. 手工管理階段(20世紀50年代以前)

這個階段最基本的特征是沒有數據管理的概念,完全是分散的手工方式。它的具體表現是:

(1)數據不獨立,是程序的一部分。修改數據必須同時修改程序。處理時,數據隨程序一道送入內存,用完后全部撤出計算機,不能保留。數據大量重復,不能共享;數據與程序是一一對應關系,如圖2.4(a)所示。

(2)只有磁帶外存,輸入輸出設備簡單。

(3)沒有操作系統,沒有管理數據的軟件。

(4)程序員須自行設計數據的組織方式。

圖2.4 手工管理階段和文件管理階段程序與數據的對應關系

(a)手工管理階段;(b)文件管理階段

2. 文件管理階段(20世紀50年代后期到60年代中期)

這個階段的基本特征是有了操作系統(operation system,OS),操作系統中的文件管理提供了面向應用的數據管理功能,工作方式是分散的、非手工的。其具體特征為:

(1)數據管理方面,實現了數據對程序的相對獨立性,數據不再是程序的組成部分,修改數據不必修改程序,數據有結構,被組織到文件內,由操作系統自動完成,系統開發和維護工作得到減輕。這時,數據與程序通過OS作為中介進行通信,如圖2.4(b)所示。

(2)外存有了很大的發展,除磁帶機外,還出現了大容量的硬盤和靈活的軟磁盤。輸入、輸出能力大大加強。

(3)系統軟件方面除了出現操作系統(包括文件管理系統),還出現了多用戶的分時系統和專用于商業事務管理的高級語言COBOL,它們不僅用于文件處理,也可以用于非數值處理。

(4)出現了多種文件類型。由于有了直接存取設備,就有了索引文件、鏈接文件、直接存取文件等,而且能對排序文件進行多碼檢索,并且數據是以記錄為單位進行存取的。

這一階段數據管理的不足之處表現在:

(1)數據冗余度大,一致性維護困難。文件系統中數據是面向應用的,文件基本上對應于某個應用程序,不同應用程序所需數據有部分相同時,仍需建立各自的數據文件,不能共享,數據維護困難,一致性難以保證。

(2)數據與程序獨立性仍不高。數據與程序在文件管理系統中具有一定的獨立性,比人工管理有了很大進步。但文件是為某一特定應用服務的,系統不易擴充。一旦數據邏輯結構改變,就必須修改文件結構的定義及應用程序;反之,應用程序的變化也將影響文件的結構。因而文件仍不能反映現實世界事物之間的聯系。

3. 數據庫管理階段(20世紀60年代后期開始)

60年代后期,大容量磁盤已經出現,聯機實時處理業務增多;軟件價格在系統中的比重日益上升,硬件價格大幅下降,編制和維護應用軟件所需成本相對增加;同時,計算機在管理中的應用更加廣泛,數據量急劇增大,對數據共享的要求越來越迫切。在這種情況下,為了解決多用戶、多應用共享數據的需求,使數據為盡可能多的應用程序服務,出現了數據庫管理系統,其特點是:

(1)面向全組織的復雜數據結構。數據庫中的數據結構不僅描述了數據本身,而且描述了整個組織數據之間的聯系,實現了整個組織數據的結構化。

(2)數據冗余度小,減少了數據不一致現象。由于數據庫是從組織的整體來看數據及數據之間聯系的,數據不再是面向某一特定的應用,而是面向整個系統,由此,減少了數據冗余和數據之間不一致的現象。在數據庫管理系統下,可以根據不同的應用需求選擇相應的數據加以使用,使系統易于擴充。

(3)數據的獨立性強。數據庫系統提供了數據的存儲結構與邏輯結構之間的映射功能及總體邏輯結構與局部邏輯結構之間的映射功能,從而使得當數據的存儲結構改變時,邏輯結構保持不變,或者當總體邏輯結構改變時,局部邏輯結構可以保持不變,從而實現了數據的物理獨立性和邏輯獨立性,把數據的定義和描述與應用程序完全分離開,這是由一個專門進行數據管理的系統軟件數據庫管理系統(data base management system,DBMS)實現的,如圖2.5所示。

圖2.5 數據庫管理階段

(4)數據控制功能大大加強。數據庫系統提供了數據的安全性控制和完整性控制,允許多個用戶同時使用數據庫資源。

綜上所述,數據組織的方式有三種:人工組織、文件組織和數據庫系統,其中數據庫中的數據按一定的規則存放,具有較小的冗余度、較高的獨立性和共享性,較好地實現了數據管理的目標。

2.2.2 數據庫系統概念

數據庫系統就是為進行數據管理各元素(包括數據、計算機及其他相關部件)而組成的一個集合體。事實上,我們可以把數據庫系統直觀地理解為:在一個或多個企業組織中,能方便地為用戶服務的、在計算機上運行的有結構的業務數據倉庫。這里的業務數據是指在企業業務運行過程中產生的各種數據,如訂單數據、倉儲進出庫物料數據、企業的生產計劃調度數據、成本核算數據、銀行賬務數據等。我們知道在企業的物料倉庫管理中,其基本組成有存放物料的庫房、存放的物料、管理物料的規章制度及相應的管理人員4部分。而數據庫系統是企業組織運作中發生的所有業務數據的倉庫,類比企業倉庫管理系統,其也由4部分組成,它們是計算機支持的軟、硬件系統,數據庫,數據庫管理系統和用戶,其與企業物料倉庫管理系統各部分的對應關系如圖2.6所示。而數據庫系統各組成部分之間的關系可用圖2.7來說明。下面詳細闡述數據庫系統的各個組成部分。

圖2.6 數據庫系統和企業物料管理系統的比較

圖2.7 數據庫系統各組成部分之間的關系

1. 數據庫(data base,DB)

數據庫是某一企業組織中各種應用所需的大量業務數據的集合,且這些數據可為所有這些應用所共享。它存放在計算機的外存上,以一定的數據模型方式進行數據的組織,并盡可能地減少數據存儲的冗余性。

數據庫中數據一般具有如下特點:

(1)集成性。指若干不同性質數據文件的規范化。也就是說,為了便于管理和處理,必須統一考慮和規劃所有的業務數據,數據存入數據庫時必須具有一定的結構和組織方式,即滿足某數據模型的要求。關于數據模型的知識將在2.2.3節中具體介紹。

(2)共享性。數據的規范化是實現數據共享的前提。在數據庫系統中,數據的定義與應用程序是分開的,對數據庫的描述是獨立的,只有規范化的數據才能滿足各種應用程序的需求,達到共享數據的目的。

(3)減少不必要的冗余性。在構造數據庫時,可以完全地或部分地消除有關文件中大量數據的重復,減少數據的冗余存儲。例如在企業物料管理的數據庫系統中,物料編碼、名稱這樣的數據項會出現在和物料相關的所有數據庫文件中,如物料主文件、物料清單文件、采購文件、物料成本核算文件等,這些文件也分別出現在倉庫、計劃調度、采購、財務等多個部門,但這些文件中涉及相同屬性的數據項(如編碼、名稱)是沒有必要在多個文件中重復存儲的,可將它們的對照關系存儲在一個文件中,當需要時,可從該文件中查詢到。由此,數據集成是減少冗余并實現共享的基礎。

2. 數據庫管理系統(data base management system,DBMS)

數據庫管理系統是幫助用戶建立數據庫、使用數據庫和維護數據庫的一組系統軟件,是操作系統在數據管理方面的功能擴展,是物理數據庫本身(即實際存儲的數據)和系統用戶之間的界面。它的作用類似于企業物料倉庫管理系統中的管理制度,負責處理用戶(應用程序)存取計算機上數據庫的各種請求,如檢索、修改和存儲數據等操作要求。也就是說,在DBMS的控制下用戶不能直接接觸數據庫,而只能通過DBMS存取數據,這樣,用戶沒有必要關心數據的邏輯或物理的表達細節,而只需注意數據的邏輯信息內容。數據庫管理系統的另一功能是為管理員提供對數據庫的維護手段,保護數據庫中數據不受破壞。

一個組織的所有數據資源如果被集中存儲在某個大容量的硬盤設備上,這種數據庫系統稱為中央式數據庫系統。如果所有數據資源存放在位于多個不同地域的計算機硬盤上,用戶通過網絡通信設備來訪問這些數據,這樣的系統稱為分布式數據庫系統。目前很多跨地域的物流系統網絡上各個節點的數據資源要么被集中存儲,如沃爾瑪;要么被分布式存儲,如網絡上的郵件系統。

3. 計算機支持的軟、硬件系統

計算機支持的軟、硬件系統指的是用于支撐數據庫管理所必需的計算機硬件資源和基本軟件資源。硬件資源包括中央處理機CPU、用以存放系統軟件和數據文件的大容量存儲設備以及高速的數據通道能力等;軟件資源包括操作系統、各種應用開發工具和高級程序設計語言(如C++、Java、Studio.NET等)。

4. 用戶

用戶是系統的服務對象。一般而言,一個數據庫系統有三類用戶:終端用戶、數據庫管理員(data base administrator,DBA)及系統分析與設計人員。

(1)終端用戶。通過聯機終端設備,使用客戶界面或瀏覽器界面,實現對數據庫文件的各種操作,如檢索、插入、刪除和更新操作的用戶稱為終端用戶。一般地,這類用戶通常是企業中使用數據庫的業務部門人員,如采購部門、生產計劃部門、倉儲及銷售、財務部門等,還包括各級企業管理人員。

(2)數據庫管理員(DBA)。DBA是數據庫的系統工程人員,負責對整個數據庫系統進行維護,以保證數據庫系統的正常運行,DBA具有對數據庫的最高權限,在一個數據庫系統的開發、設計、運行、控制及維護的不同階段有不同的任務和職責。

(3)系統分析與設計人員。他們是專業用戶,擁有較多的計算機專業知識和信息系統開發的知識,能夠利用信息系統開發和數據庫開發的知識收集分析相關的大量業務數據、設計數據組織的方式,考慮數據存取的效率及空間的利用率等。同時,他們還能夠使用計算機系統所提供的各種程序設計語言(包括嵌入式DBMS語言)編寫各種應用程序,按應用需要對數據庫進行檢索、插入、刪除和更新等操作(如工資計算程序、庫存管理程序等)。

2.2.3 數據模型

數據庫中的數據是按照一定結構和組織方式進行描述的,稱為數據模型。為了真實地把現實世界中的數據轉化成計算機中實現的組織方式,數據模型分成兩類:一類是概念模型;另一類是數據模型。

概念模型是現實中發生的客觀事物往信息系統中抽象的首要層次,主要是把實際管理流程中涉及的實體、實體屬性、實體之間聯系等通過一種實體聯系(entity-relationship)圖(簡寫為E-R圖)來表征。如電子履單系統中有關訂單管理流程中就存在商品、客戶等實體,而某個客戶針對某商品的訂單屬于商品和客戶兩個實體之間的聯系。實體“商品”的屬性可能有編碼、名稱、規格、價格、性質、供貨商等,聯系“訂單”的屬性可能是商品編碼、客戶登錄賬號、購買價格、數量、日期、配送地址等。圖2.8給出了電子履單系統中采用E-R圖描述的以上概念模型。

以上E-R圖中每個客觀實體的屬性中都存在唯一標識實體的屬性或屬性集,稱為碼。如商品編碼、客戶的登錄賬號分別是“商品”和“客戶”的碼,而“訂單”的碼是“客戶登錄賬號”和“商品編碼”。針對每個局部管理過程可以抽象得出一個局部E-R圖,然后把局部概念設計部分進行合并,就形成全局的信息模型。如在電子履單系統中包括訂單處理、倉儲分揀和出貨、商品配送等管理過程,因此,可以設計這三部分的局部E-R圖,然后整合這三個局部E-R圖,得出電子履單系統的全局信息模型。

圖2.8 電子履單系統訂單處理中涉及實體的E-R圖

第二類是從信息模型得出數據模型,不同的數據模型具有不同的數據結構模式,常用的數據模型主要有層次模型、網絡模型、關系型模型。

層次模型是以記錄類型(描述的是客觀實體)為節點,滿足僅有一個節點無雙親,稱作“根”;除了根之外,其他節點僅有一個雙親。如在采購管理系統中一個采購單和供貨商、商品之間具有如圖2.9所示的層次結構。可以看出,層次模型在表示一對多的客觀實體關系中表示非常自然和簡單,即一個采購單可能對應多個供貨商和多種商品,這是層次模型表示數據模型的主要優勢。

圖2.9 一個層次模型的例子

但在現實世界中,很多實體之間的關系還可能是多對多的,層次模型表示多對多關系就有限制。所以,就引入了網絡模型。網絡模型指的是以記錄類型為節點的網狀結構,既可有一個以上節點無雙親,也可有一個節點有多于一個的雙親。

圖2.10給出一個客戶購買書籍的電子履單系統中,涉及3個客觀實體客戶、書籍和訂單的網絡模型例子。可以看出,訂單具有兩個雙親:客戶和書籍,所以,相比較層次模型,網絡模型可以形成更為復雜的數據結構。

圖2.10 一個網絡模型的例子

第三個數據模型是關系型模型,目前很多著名的數據庫系統,如Oracle、Microsoft SQL Server、IBM DB2等都是以關系型模型為基礎的數據庫系統。關系型模型從用戶角度出發是以一張平面二維表組成的,表2.2就給出了基于關系型模型的書籍的一個二維記錄表。

表2.2 以關系型模型為基礎的書籍的記錄表

在關系型模型中,表2.2這樣的一張二維表被稱為一個關系,而表中每一條具體的記錄,如“209002、數據庫與數據庫系統、王珊、50”被稱為一個元組,表中每一列被稱作一個屬性,如表2.2中有4個屬性,分別是商品編碼、書名、作者、庫存量,其中商品編碼“209002”稱作該元組的碼,是能夠唯一確定一個元組的屬性。關系模式就是對關系的描述,采用諸如“書籍(書編碼、書名、作者、庫存量)”的形式來表示。

關系型模型具有嚴密的數學基礎,并且它的表示非常簡單、實用。因此,目前大多數商業數據庫系統都是以關系型模型為基礎進行開發的。

2.2.4 數據庫系統特征

從前述數據庫系統的發展,可以知道數據庫系統不僅能解決文件管理方法中存在的主要問題,而且能提供數據處理中強有力的數據管理能力和維護能力。因此,數據庫系統具有以下主要特征。

1. 數據的標準化特性實現了數據的共享性

數據共享是促成數據庫技術發展的重要原因之一,也是數據庫最本質的特征。只有把相關各個業務部門的大量數據按相同的數據模型標準化,才能做到合理管理這些數據,使這些數據在統一的標準下實現信息處理的過程。事實上,每一個業務應用的都是數據庫中大量數據的一個子集,但由于物流業務的交叉性,不同的應用程序對應的數據子集是可以相互重疊的,如采購和倉儲都需要對物料文件進行查詢;其次,不同的應用程序也可以在同一時刻去存取同一數據,這在數據庫中稱作“并發控制”,如ERP中的主生產計劃可能同時會被銷售、生產、采購和倉儲等多個部門調用查詢,這就需要支持的計算機網絡數據傳輸能力很強。數據庫中的數據不但可供現有的各個業務應用程序共享,還可以累計若干計劃周期的數據量,進行歷史數據的分析統計和模型建立,輔助決策者進行分析決策。

2. 數據庫的體系結構實現了數據的最大獨立性

數據庫系統是在傳統的文件系統基礎上發展起來的,但是數據庫系統中的數據與應用程序之間不存在直接的相互依賴關系。也就是說,數據的邏輯結構、物理存儲結構和存取方法等,不因應用程序的修改而修改,反之亦然。數據的獨立性通常分為兩級:第一級為物理獨立性,數據庫的物理介質發生改變時,如更新數據庫服務器或由于業務數據量的增加更換大容量的存儲設備、改變存儲文件組織方式和存取策略等不會影響數據的邏輯結構,也不致引起應用程序的修改;第二級是邏輯獨立性,這是指數據庫總體邏輯結構的改變,如因為物流業務發生改變,需要修改數據的定義或增加新的數據類型、改變數據間的聯系等,這時也無須修改原來的應用程序。同樣,當用戶需要修改應用程序時,也不強求數據結構作相應的改變。由此可見,數據獨立性就是數據與應用程序之間以及與物理存取介質之間的互不依存性,數據庫系統所具有的這種數據獨立性是由它的體系結構所確定的。通常我們把一個滿足數據獨立性要求的系統,稱為“以數據為中心”的系統,或“面向數據”的系統。

3. 數據的統一管理實現了最小的數據冗余度,避免了數據的不一致性

數據的冗余度最小是指存儲在數據庫中數據的重復性盡可能少。在文件管理系統中,每個應用程序有它自己的數據文件,從而造成存儲數據的大量重復,這給數據管理帶來了許多弊病:如占用大量的存儲空間;為了避免數據的不一致性,不得不執行多次重復的更新操作,浪費大量的時間;同時由于存在數據的大量不同副本,從而在不同的更新階段可能給出數據不一致的信息。而在數據庫系統方式下,是從全局觀點來組織和存儲數據的,數據是集成化、結構化的,數據統一存放、集中控制,因而能夠盡量減少數據的冗余。應該指出的是,在數據庫系統方式下冗余度并不能完全消除。在許多實際應用中,有時為了某種原因而使用同一數據,在一定控制條件下的多次存儲還是必要的。這時的冗余度被稱作受控冗余度。

數據的不一致性是指本應相同的數據項在不同應用中出現了不同的值。當相同的數據出現在多個不同的數據副本文件中時,若其中某個數據文件中的數據發生了改動,則其他數據副本文件中的相應數據就應發生改動,否則就會發生數據的不一致性。如某一原材料的數據,若在倉庫管理文件和采購管理文件中具有不同值,就會影響采購人員的運作。數據的不一致性主要是由于數據冗余引起的,數據庫在理論上可以消除數據的冗余,因而也可以避免數據的不一致性。即使存在某些冗余,數據庫系統也提供了對數據操作的各種控制和檢查,保證在更新數據時,同時更新所有的副本數據,從而保證數據的一致性。

4. 實現了數據的統一管理和控制

數據庫系統中的數據實現了數據的集成化,數據集成化又稱數據管理標準化,它要求數據庫系統中的數據按照一定的數據模型(如關系型模型)來組織和存儲數據。集成化的數據不但反映了數據之間的自然聯系,而且可實現對數據的集中控制和管理,由此解決了數據資源共享、減少冗余等諸方面的要求。同時它在數據的安全性、完整性等方面也提供了強大的管理功能,主要包括以下三方面:

(1)安全性保護。數據的安全性主要指數據保密,防止數據的不合法使用。數據資源共享并不意味著向一切用戶開放所有的數據資源,因為在實際應用環境中,每個工作人員都有自己的工作權限和工作職責,只涉及整個業務處理中的一部分數據,所以對每一個應用用戶,數據庫系統都將對他的權限進行安全性檢查,只有合法的用戶才能以規定的方式(如檢索、修改等)對允許他使用的那一部分數據進行相應的操作。

(2)并發控制。并發控制是指不同應用(應用程序、用戶終端)在同一時刻期望存取同一數據時發生的事件。例如,在鐵路或航空售票系統中,假設有多個售票點分別為X、Y、Z。若數據庫中有某車次(或航班)剩余票項為15,當X、Y兩點同時售票時,它們可以同時檢索到有余票15張,X點按需要售出10張,將修改余票為5,但尚未將新值送入數據庫時,Y點又按余票15的情況售出8張,此時該售票業務必然出現差錯。為了保證數據庫的準確性,數據庫管理系統的并發控制必須采用相應的封鎖技術來避免上述錯誤的發生。

(3)數據的完整性。數據的完整性也就是數據的相容性和正確性。數據的不一致性是失去完整性的一個例子。前面已經講過數據的冗余性可能會引起數據的不完整性,除此之外,數據項取值的有效性,如其邏輯意義是否存在或其是否落在取值區間內等都是保證數據完整性的要求,例如表示月份的數據項出現大于12的值或一個月超過31天等。數據庫管理系統的集中控制可以避免此類情況出現,它通過DBA定義相關的完整性檢查,對每一次更新的數據進行相應的檢查,保證數據的完整性。必須指出,數據完整性檢查對多用戶系統尤為重要,因為多個用戶同時使用數據所引起對數據的更新是大量發生的,數據庫系統必須在這種情況下對數據的完整性進行必要的維護。

(4)數據庫的再恢復。在數據庫系統的運行過程中,由于軟、硬件的故障、病毒或惡意襲擊及用戶操作的失誤,隨時都有可能使數據庫遭到局部性的或全局性的破壞,并且其所涉及的數據往往是無法用書面復原的。數據庫系統應提供一套設施和方法,來發現和警惕由上述各種因素所引起的故障,并迅速地把數據庫恢復到故障以前的正常狀態,使系統正常運行。

(5)數據庫系統的擴充性和開放性。一個實用數據庫系統建立之后,需要逐步地擴充其功能,同時,又要根據實際應用的需要增添相關特定的需求,如根據某特定用戶的實際工作需要開發適合于他們的數據庫工具箱加掛在數據庫系統上,進一步增強系統某一方面的功能,使系統具有一定的開放性。這就要求整個數據庫系統在結構和組織技術上具有易于修改和擴充的特點。

主站蜘蛛池模板: 舟曲县| 汤原县| 桦南县| 枣阳市| 罗源县| 吉木乃县| 青神县| 全椒县| 隆尧县| 嘉黎县| 九江县| 平谷区| 赤壁市| 宁晋县| 大庆市| 理塘县| 吴桥县| 西吉县| 柘城县| 会宁县| 阳曲县| 福泉市| 承德市| 永清县| 肇东市| 同江市| 山阴县| 侯马市| 多伦县| 山西省| 宽城| 怀来县| 浮梁县| 平潭县| 乌鲁木齐县| 鄂伦春自治旗| 昭觉县| 汝南县| 定远县| 镇巴县| 饶平县|