電子商務師考試輔導:數據庫技術基本理論

來源:文萃谷 2.37W

數據庫技術是信息系統的一個核心技術。是一種計算機輔助管理數據的方法,它研究如何組織和存儲數據,如何高效地獲取和處理數據。下面是小編為大家搜索整理的電子商務師考試輔導:數據庫技術基本理論,希望對大家有所幫助。

電子商務師考試輔導:數據庫技術基本理論

 數據庫技術基本理論

電子商務是指利用電子及網絡進行的商務活動:這裏的電子網絡主要是指Internet和基於Internet技術的Intranet(企業內部網)、Extranet(企業外部網)。所進行的商務活動不僅包含電子數據交換所涉及的電了交易,還包括電了函件交流、網上站點宣傳和利用Internet技術改造的其他傳統應用。但電子商務應用的前提是企業管理信息系統得廣泛使用。數據庫技術是企業管理信息系統的核心技術之一。所以,想深入地理解電子商務就應該瞭解數據庫的一些基本理論。

 一、數據和信息

所謂數據就是為反映客觀世界而記錄下來的可以鑑別的符號,可以是數字、字符、圖形、圖像、聲音等。而信息是指經過解釋的數據,能解決或減少人們的對客觀事物認識的不確定性。數據和信息之間的區別和聯繫是:數據是純客觀的,只單純反映客觀事物的性質,並不説明該事物對主觀的作用與數據只是信息的載體,是表達和傳遞信息的工具。數據經過加工處理可以上升為信息。同一信息可以用不同形式的數據表達,而不改變信息的內容。

 二、數據模型

數據模型是對現實世界中的數據和信息進行抽象、表示和處理的工具,是對現實世界的模擬,也是數據庫系統中用於提供信息表示和操作手段的形式構架,通常其構成是:數據結構,包括數據對象及其相互聯繫;數據操作,主要是對數據的檢索和更新。

數據的約束條件是完整性規則的集合。完整性規則是指在給定的數據模型中數據及其聯繫所具有的制約和依存規則。在數據庫系統中,主要的數據模型有:層次模型(Hierarchical Model)、網狀模型(Network Model)、和關係模型(Relational Model)。

(1)層次模型(Hierarchical Model)

用樹型結構來表示實體型及其聯繫的數據模型稱為層次模型,在這種結構中每個結點表示一個記錄類型,連線表示兩個記錄之間的關係,位於上層的結點稱為雙親結點,下層則為子女結點。樹的最高層只有一個結點,成為根結點。如圖2-20就是某學校的一個層次模型。圖中“教研室”結點就是“教師”的雙親結點,而“教師”結點就是子女結點。

由於除一個沒有雙親結點的根結點之外,任何結點有且只有一個雙親結點,所以只能直接表示一對多的實體聯繫(包括一對一,多對多關係須分解成一對多的聯繫)。

(2)網狀模型(Network model )

網狀模型比層次模型更具普遍性。它允許多個結點沒有雙親結點,也允許一個結點有多個雙親結點,允許兩個結點之間有多種聯繫。所以網狀模型可以直接地描述現實世界,特別適合處理多對多的聯繫。

圖2-20 產品網狀模型

在圖2-19中,客户和產品結點都沒有雙親結點,訂單明細結點有兩個雙親結點,所以該數據模型不屬於層次模型,而屬於網狀模型。

(3)關係模型(Relational model)

關係模型是三種數據庫中最重要的模型,也是現在用的最廣的模型。其數據結構的基本思想是將實體之間的聯繫以二維表的結構來表示。一個二維表就是一個關係;二維表中的一行代表一個實體,由實體的若干屬性組成,稱為記錄;二維表中的一列為關係一個屬性,稱為數據項。

目前大部分數據庫採用的是關係型數據庫,如 Sybase、SQL Server、Oracle、Access等。

關係數據庫設計之時是要遵守一定的規則的。尤其是數據庫設計範式,現簡單介紹1NF(第一範式),2NF(第二範式),3NF(第三範式)和BCNF,另有第四範式和第五範式(本教材不作介紹)。

數據庫的設計範式是數據庫設計所需要滿足的規範,滿足這些規範的數據庫是簡潔的、結構明晰的,同時,不會發生插入()、刪除()和更新(update)操作異常。反之則是亂七八糟,不僅給數據庫的編程人員製造麻煩,而且面目可憎,可能存儲了大量不需要的宂餘信息。

 第一範式(1NF):

數據庫表中的字段都是單一屬性的,不可再分。這個單一屬性由基本類型構成,包括整型、實數、字符型、邏輯型、日期型等。

很顯然,在當前的任何關係數據庫管理系統(DBMS)中,誰也不可能做出不符合第一範式的數據庫,因為這些DBMS不允許你把數據庫表的一列再分成二列或多列。因此想在現有設計中設計出不符合第一範式的數據庫都不可能。

  第二範式(2NF):

數據庫表中不存在非關鍵字段對任一候選關鍵字段的部分函數依賴(部分函數依賴指的是存在組合關鍵字中的某些字段決定非關鍵字段的情況),也即所有非關鍵字段都完全依賴於任意一組候選關鍵字。

假定選課關係表為SelectCourse(學號,姓名,年齡,課程名稱,成績,學分),關鍵字為組合關鍵字(學號,課程名稱),因為存在如下決定關係:

(學號,課程名稱) → (姓名,年齡,成績,學分)

這個數據庫表不滿足第二範式,因為存在如下決定關係:

(課程名稱)→(學分)

(學號)→(姓名,年齡)

即存在組合關鍵字中的字段決定非關鍵字的情況。

由於不符合2NF,這個選課關係表會存在如下問題:

(1)數據宂餘:同一門課程由n個學生選修,“學分”就重複n-1次;同一個學生選修了m門課程,姓名和年齡就重複了m-1次。

(2)更新異常:若調整了某門課程的學分,數據表中所有行的“學分”值都要更新,否則會出現同一門課程學分不同的情況。

(3)插入異常:假設要開設一門新的課程,暫時還沒有人選修。這樣,由於還沒有“學號”關鍵字,課程名稱和學分也無法記錄入數據庫。

(4)刪除異常:假設一批學生已經完成課程的選修,這些選修記錄就應該從數據庫表中刪除。但是,與此同時,課程名稱和學分信息也被刪除了。很顯然,這也會導致插入異常。

把選課關係表SelectCourse改為如下三個表:

學生:Student(學號,姓名,年齡);

課程:Course(課程名稱,學分);

選課關係:SelectCourse(學號,課程名稱,成績)。

這樣數據庫表是符合第二範式的,消除了數據宂餘、更新異常、插入異常和刪除異常。

另外,所有單關鍵字的數據庫表都符合第二範式,因為不可能存在組合關鍵字。

 第三範式(3NF):

在第二範式的基礎上,數據表中如果不存在非關鍵字段對任一候選關鍵字段的傳遞函數依賴則符合第三範式。所謂傳遞函數依賴,指的是如果存在“A→B→C”的決定關係,則C傳遞函數依賴於A。因此,滿足第三範式的數據庫表應該不存在如下依賴關係:

關鍵字段→非關鍵字段x→非關鍵字段y

假定學生關係表為Student(學號,姓名,年齡,所在學院,學院地點,學院電話),關鍵字為單一關鍵字“學號”,因為存在如下決定關係:

(學號)→(姓名,年齡,所在學院,學院地點,學院電話)

這個數據庫是符合2NF的,但是不符合3NF,因為存在如下決定關係:

(學號)→(所在學院)→(學院地點, 學院電話)

即存在非關鍵字段“學院地點”、“學院電話”對關鍵字段“學號”的'傳遞函數依賴。

它也會存在數據宂餘、更新異常、插入異常和刪除異常的情況。

把學生關係表分為如下兩個表:

學生:(學號,姓名,年齡,所在學院);

學院:(學院,地點,電話)。

這樣數據庫表是符合第三範式的,消除了數據宂餘、更新異常、插入異常和刪除異常。

鮑依斯-科得範式(BCNF):

在第三範式的基礎上,數據庫表中如果不存在任何字段對任一候選關鍵字段的傳遞函數依賴則符合BCNF範式。

假設倉庫管理關係表為StorehouseManage(倉庫ID,存儲物品ID,管理員ID,數量),且有一個管理員只在一個倉庫工作;一個倉庫可以存儲多種物品。這個數據庫表中存在如下決定關係:

(倉庫ID,存儲物品ID)→(管理員ID,數量)

(管理員ID,存儲物品ID)→(倉庫ID,數量)

所以,(倉庫ID,存儲物品ID)和(管理員ID,存儲物品ID)都是StorehouseManage的候選關鍵字,表中的唯一非關鍵字段為數量,它是符合第三範式的。但是,由於存在如下決定關係:

(倉庫ID)→(管理員ID)

(管理員ID)→(倉庫ID)

即存在關鍵字段決定關鍵字段的情況,所以其不符合BCNF範式。會出現如下異常情況:

(1) 刪除異常:當倉庫被清空後,所有“存儲物品ID”和“數量”信息被刪除的同時,“倉庫ID”和“管理員ID”信息也被刪除了。

(2) 插入異常:當倉庫沒有存儲任何物品時,無法給倉庫分配管理員。

(3) 更新異常:如果倉庫換了管理員,則表中所有行的管理員ID都要修改。

把倉庫管理關係表分解為二個關係表:

倉庫管理:StorehouseManage(倉庫ID,管理員ID);

倉庫:Storehouse(倉庫ID,存儲物品ID,數量)。

這樣的數據庫表是符合BCNF範式的,消除了刪除異常、插入異常和更新異常。

 三、數據庫系統的組成

數據庫系統主要由數據庫管理系統(Data Base Management System, DBMS)、數據庫(Data Base , DB)、應用程序(Applied Program ,AP)、計算機系統(Computer System, CS)、數據庫管理員(Data Base Administrator, DBA)構成。

數據庫管理系統(DBMS)是為數據庫的建立、使用和維護而配置的軟件,是數據庫系統的核心部分組成。它建立在操作系統的基礎上,對數據庫進行統一的管理和控制。用户使用的各種數據庫命令以及應用程序的執行,都要通過數據庫管理系統。數據庫管理系統還承擔着數據庫的維護工作,按照DBA所規定的要求,保證數據庫的安全性和完整性。

 四、數據庫技術的發展趨勢

隨着表示結構化信息的數據庫與數據倉庫技術發展迅速,除了目前廣泛應用的關係型數據庫管理系統(如Sybase、Oracle等),近年來還出現了一些新的發展方向,如面向對象的數據庫(OODB)、多維數據庫(MDDB)、主動數據庫、多媒體數據庫等。數據庫技術還與其他多學科技術的有機組合,形成面向專門應用領域的數據庫技術,如數據挖掘DM(Data Mining)、數據庫中的知識發現KDD(Knowledge Discovery in Database)、智能代理(Agents)、智能信息檢索技術等等。

熱門標籤