電子商務數據庫技術PPT全套電子課件完整版ppt整本書電子教案最全教學教程整套課件_第1頁
電子商務數據庫技術PPT全套電子課件完整版ppt整本書電子教案最全教學教程整套課件_第2頁
電子商務數據庫技術PPT全套電子課件完整版ppt整本書電子教案最全教學教程整套課件_第3頁
電子商務數據庫技術PPT全套電子課件完整版ppt整本書電子教案最全教學教程整套課件_第4頁
電子商務數據庫技術PPT全套電子課件完整版ppt整本書電子教案最全教學教程整套課件_第5頁
已閱讀5頁,還剩584頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、電子商務數據庫技術21世紀高等學校電子商務專業規劃教材全書共分12章,全面系統地講述了數據庫設計、實現的基本原理及在電子商務中的應用。本書側重于介紹如何利用數據庫來管理數據、創建應用程序,主要內容包括:數據庫系統概述、關系數據庫、關系數據庫標準語言(SQL)、查詢優化、關系規范化理論、面向對象與UML基礎、數據庫設計、數據庫管理,同時還反映了數據庫技術在電子商務領域的一些應用技術,例如網絡數據庫技術、XML數據庫技術、數據倉庫與數據挖掘技術。最后,還簡要介紹了SQLServer這個流行的數據庫管理系統的簡要使用方法,以達到理論結合實際的目的。本書內容循序漸進,深入淺出,概念清晰,每一章節都給出

2、了相關的實例。同時每章都有知識的總結,并附有各種類型的習題,從不同方面幫助讀者理解和掌握所學的知識。本書適合作為高等學校電子商務專業、計算機專業及相關專業的教材,也可用做從事電子商務系統開發人員數據庫方面的參考用書。引言引言1 美歐日發達國家數據庫產業發展概況 1.1美國的數據庫產業發展 1)發展簡況 從20世紀60年代開始,為了適應美國和全世界科技信息的迅猛增長和與此相對應的信息需求的不斷增長,美國政府的信息部門開始帶頭組織數據庫的生產和利用。這一時期,美國生產的數據庫集中在科學技術和工程領域。1980年,美國數據庫生產者中商業公司所占的比例迅速增加,數據庫內容也由以科技數據庫為主向以商業、

3、經濟、金融數據庫為主過渡。總之,美國是世界上數據庫產業起步最早的國家,它的數據庫發展遠遠領先于其他任何國家。 2)發展的特點(1)數據庫產量高 (2)數據庫容量大 (3)數據庫的主題越來越豐富,專業方向越來越細 (4)數據庫的信息含量不斷豐富 3)迅速發展的原因 (1)美國數據庫產業有著雄厚的技術背景的支持(2)美國政府大力支持數據庫產業的發展 (3)美國的數據庫產業以市場為明確導向 (4)美國數據庫產業的發展重點和方向明確1.2歐洲和日本的數據庫產業發展1.2.1歐洲 歐洲的數據庫產業發展晚于美國,并且大大落后于美國,因此歐洲的數據庫發展過程中很大程度上吸收了美國的發展經驗。 與美國相比,歐

4、洲數據庫產業的發展有著自己不同的發展方式和特點:歐洲的數據庫產業發展有著其信息優勢 歐洲國家聯合起來發展整個歐洲的數據庫產業歐洲數據庫產業以面對歐洲市場為主 重視技術對數據庫發展的作用以及展開國家間的技術合作 1.2.2日本 日本數據庫從19852005年的十年間盡管取得了相當的發展,但其數據庫數量還不到美國的1/5。 與美歐相比,日本的數據庫產業則顯得更加落后。日本的數據庫產業發展基本上借鑒了美國和歐洲的經驗,采取從政府支持到商業化發展的道路。2 國產數據庫產業發展之路2.1 現狀掌握核心軟件技術,開發自主知識產權的系統軟件一直是我國軟件產業發展的目標。作為信息處理的核心軟件之一,數據庫系統

5、是除操作系統外最重要的核心軟件,也是我國信息化建設中需求量最大、應用最廣泛的基礎性軟件。但中國數據庫軟件市場主導者一直是國外廠商。發展國產數據庫系統對保證國家信息安全具有重要意義。信息化涉及到國家政治、經濟、軍事、安全的要害領域,因此擁有自主知識產權的國產數據庫對保證國家信息安全具有重要的意義。 對于一個國家來說,數據庫的建設規模、數據庫信息量的大小和使用頻度已經成為衡量國家信息化程度的重要標志。2.2現已有多個產品及原型系統如人大、北大、中軟和華中合作研發的COBASE數據庫管理系統。人大金倉信息技術有限公司研制的通用并行數據庫管理系統Kingbase ES和小金靈嵌入式數據庫系統。該系統可

6、以從人大金倉公司的網站上下載: 實驗1.分別安裝SQL-server2000和Kingbase ES,比較應用界面的不同。自己獨立完成。中國人民大學數據與知識工程研究所研發的PBASE并行數據庫管理系統、EASYBASE桌面數據庫管理系統和PBASE并行數據庫安全版。東大開發關系數據庫管理系統NITDB、分布式數據庫管理系統SUNDDB、聯邦式數據庫系統SU_FDBS、面向對象的數據庫管理系統FOOD、移動數據庫管理系統SwiftDB、數據倉庫系統SEU_Warehouse等。此外,還有東軟集團的Openbase數據庫管理系統和武漢達夢的DM系列等等。課程主要內容本課程詳細介紹數據庫系統的基本

7、原理、設計方法和應用。主要內容包括:數據庫系統的產生與發展、數據庫系統特點、數據系統的數據模型、數據庫系統結構、關系數據庫方法、關系數據庫標準語言SQL、數據依賴和關系規范化理論、數據庫保護、數據庫設計、網絡數據庫的訪問方法、熟悉SQL-SERVER數據庫管理系統的使用方法。1.1數據庫技術與電子商務 1.1.1 數據庫的基本概念1數據。 數據的定義。數據(data)是描述事物所用的符號,是對事物特征的一種符號化或量化的表示。 例如計算機中可以用一組數據來描述一本書的信息。人們可以用自然語言來描述事物(“數據庫原理及應用”,“高等教育出版社”,“ISBN978-7-04-022511-2”,“

8、2007-12”,“李紅”) 由于數據可以被書寫,因而可以被記錄、處理、存儲,具有傳遞信息的功能。 記錄數據的特征 數據有“型”和“值”的特點。 數據的型指數據的內部結構和對外聯系,數據的值指數據的具體取值。 例如上例中的數據“ISBN978-7-04-022511-2”的型是一個字符串類型,但具體的值是唯一標識一本書的ISBN號。不同的數據類型在計算機中存儲的方式不同。 數據有多種表現形式。 數據的表現形式不僅包含數字,還包括文字、圖形、圖像、聲音等多媒體信息。 數據與信息有內在的聯系。 數據是信息的符號表示,信息是數據的語義解釋。例如上例中的“2007-12”這個數據表示的是2007年12

9、月這個特定的語義。因此數據表示了信息,而信息也必須依靠數據形式的表示才能被人所理解和接受。2. 數據庫 數據庫定義。 可以理解為存儲數據的倉庫 數據庫(database)以位或字節的方式長期存儲在計算機內、有組織的和可共享的統一管理的數據集合。 數據庫的特征 數據庫中的數據有不同的組織形式。 數據庫中數據的集成和共享。 數據庫的建設規模、數據庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志。 3 數據庫管理系統 數據庫管理系統定義。 數據庫管理系統(database management system,DBMS)是專門用于管理數據庫的計算機系統軟件。具有數據定義、數據操作、數據控

10、制與管理的功能。它提供一個可以方便地、有效地存取數據庫信息的環境,是用戶和數據庫的接口。 數據庫管理系統的特點 為了方便訪問,數據庫通常被封裝在數據庫管理系統中。對數據庫的訪問可以分成兩大類:查詢和更新。 其中查詢是提取數據庫中數據的請求,更新是插入、刪除、修改數據項的請求。目前最常用的數據訪問語言是結構化的查詢語言(structured query language,SQL),雖然稱為查詢語言但它提供了查詢和更新這兩大類數據訪問功能。 4 事務定義。 事務是訪問并可能更新數據庫中各種數據項的一個程序執行單元(unit),事務是恢復和并發控制的基本單位。事務的特征 原子性(atomicity)

11、 一致性 隔離性。 持久性。 5事務處理系統 事務處理系統(transaction processing system,TPS)包括一個或多個存儲企業相關數據的數據庫、用來控制企業運行狀態的管理事務軟件,及組成應用代碼的事務本身。 最簡單的事務處理系統只有一個DBMS,目前大多數的商用DBMS都包含事務處理功能。比較復雜一些的事務系統會包含多個DBMS。 聯機事務處理系統(OLTP)可以實時地采集處理與事務相連的數據,主要功能是提供大量的用戶同時使用該系統,要求系統能快速響用戶的聯機請求。 1.1.2 電子商務概述 電子商務這個概念起源于七十年代發達國家,一些大公司通過建立自己的計算機網絡實現

12、各個機構之間、商業伙伴之間的信息共享、交換,這就是電子數據交換(EDI)的雛形。 據中國互聯網絡信息中心(CNNIC)發布的第26次互聯網發展統計報告顯示,截至2010年6月,中國網民規模達到4.2億,突破了4億關口 。 2010年上半年,大部分網絡應用在網民中更加普及,各類網絡應用的用戶規模持續擴大。其中商務類應用表現尤其突出,網上支付、網絡購物和網上銀行半年用戶增長率均在30%左右,遠遠超過其他類網絡應用。社交網站、網絡文學和搜索引擎用戶增長也較快。 目前電子商務的模式有以下幾種:企業對消費者模式(Business to Customer)。 企業對企業模式(Business to Bus

13、iness) 消費者對消費者的模式(Customer to Customer) 移動商務模式(Mobile-Commerce)政府機構與企業間的電子商務模式(Government to Business) 政府對消費者的電子商務模式(Government to Consumer) 1.1.3數據庫技術在電子商務中的應用 電子商務是以網絡技術和數據庫技術為支撐的,其中數據庫技術是電子商務的核心技術,一些數據庫廠商已經將數據庫技術及市場發展的視角瞄準電子商務領域。幫助企業借助于Internet搭建以客戶為中心的應用框架,真正實現電子商務,例如各種網上商城、網上書店系統。 其中www系統是一個大型的

14、分布式超媒體信息數據庫,它的出現極大地推動了Internet和電子商務的發展,已經成為Internet中最流行、最主要的信息服務方式。目前Web技術與數據庫管理系統(DBMS)相互融合的領域研究已成為熱點方向之一,數據庫廠家和WEB公司也紛紛推出各自的產品和中間件來支持Web技術和DBMS的融合使用戶可以在Web瀏覽器上方便地檢索數據庫的內容。 1.2 數據庫的由來和發展1.2.1 人工管理階段1.2.2 文件系統階段1.2.3 數據庫階段1.2.4 高級數據庫階段1.2.1人工管理階段 在人工管理階段(20世紀50年代中期以前),計算機主要用于科學計算,其他工作還沒有展開。外部存儲器只有磁帶

15、、卡片和紙帶等,還沒有磁盤等字節存取存儲設備。軟件只有匯編語言,尚無數據管理方面的軟件。數據處理的方式基本上是批處理。人工管理階段的數據管理有下列特點 數據不保存在計算機內。 沒有專用的軟件對數據進行管理。 只有程序(program)的概念,沒有文件(file)的概念。 數據面向程序。即一組數據對應一個程序。這個階段程序和數據的關系如圖1-1所示:圖1-1 人工管理階段1.2.2 文件系統階段 在這一階段(20世紀50年代后期至60年代中期),計算機不僅用于科學計算,還用于信息管理。隨著數據量的增加,數據的存儲、檢索和維護問題成為緊迫的需要,數據結構和數據管理技術迅速發展起來。此時,外部存儲器

16、已有磁盤、磁鼓等直接存取存儲設備。軟件領域出現了高級語言和操作系統。操作系統中的文件系統是專門管理外存的數據管理軟件。數據處理的方式有批處理,也有聯機實時處理。 文件系統階段的數據管理有以下特點 數據以“文件”形式可長期保存在外部存儲器的磁盤上。程序與數據之間具有一定的獨立性。數據的邏輯結構與物理結構有了區別。 文件組織已多樣化。有索引文件、鏈接文件和直接存取文件等。 數據不再屬于某個特定的程序,可以重復使用,即數據 面向應用。 對數據的操作以記錄為單位。文件系統顯露出三個缺陷: 數據冗余(redundancy):重復 數據不一致(inconsistency):相同的數據出現在不同的文件中,修

17、改時容易出現數據不一致的現象。 數據聯系弱(poor data relationship)這個階段程序和數據的關系如圖1-2所示 圖1-2 文件系統中的程序和文件 1.2.3 數據庫階段數據管理技術進入數據庫階段的標志是20世紀60年代末的三件大事: 1968年美國IBM公司推出層次模型的IMS系統 。1969年美國CODASYL組織發布了DBTG報告,總結了當時各式各樣的數據庫,提出網狀模型。1970年美國IBM公司的E.F.Codd 連續發表論文,提出關系模型,奠定了關系數據庫的理論基礎。 數據庫階段的數據管理具有以下特點面向系統的復雜的數據結構 學號姓名專業院系政治面貌教育歷史家庭情況選

18、課成績獎勵懲罰001李華計算機計算機系團員物理87001李華計算機計算機系團員高數64將上表的數據結構化的結果如下圖所示。 上面的結構圖不僅描述了數據本身,還描述了數據之間的聯系。 數據的冗余度小,容易擴展。由于數據庫在建立時是面向整個系統,而不是面向某個應用,可以極大地減少數據冗余度。有較高的數據獨立性。 物理獨立性 邏輯獨立性數據庫系統提供4中數據控制功能。 數據的安全性控制。 數據的完整性控制。 數據庫的并發控制。 數據庫的恢復。 數據的最小存取單位是數據項。 數據庫方式下應用程序和數據之間的關系 圖1-4 數據庫與應用系統的關系 1.2.4 現代數據庫技術 1.面向對象的數據庫技術 數

19、據庫研究人員借鑒和吸收了面向對象的方法和技術,提出了面向對象的數據庫模型(簡稱對象模型)。 關系數據庫是數據的一種存儲方式,它不屬于面向對象領域。由于關系概念與面向對象概念是完全不同的兩個概念,它們之間存在很多不同的概念和方法。為了解決這個問題,面向對象技術和數據庫技術必然需要融合結合。 在面向對象技術和數據庫技術相結合的過程中,基本上有以下幾種趨勢。 建立純粹的面向對象數據庫管理系統(即OODBMS) 建立對象關系數據庫管理系統(ORDBMS),對傳統的關系數據庫加以擴展,增加面向對象的特性,把面向對象技術與關系數據庫相結合,建立對象關系數據庫管理系統(ORDBMS) ORM(對象關系映射)

20、,在對象層和關系層間建立一個映射層(Mapping Layer),通過這種方式數據源中的關系數據才能進入對象領域,以對象的面貌出現,供上層應用使用 2.分布式數據庫系統 分布式數據庫是數據庫技術與網絡技術相結合的產物,在數據庫領域已形成一個分支。 分布式數據庫的研究始于20世紀70年代中期。世界上第一個分布式數據庫系統SDD-1是由美國計算機公司(CCA)于1979年在DEC計算機上實現。 分布式數據庫允許用戶開發的應用程序把多個物理分開的、通過網絡互聯的數據庫當作一個完整的數據庫看待。分布式數據庫在邏輯上屬于同一系統而在物理上分布在計算機網絡的不同節點上。網絡上的各個節點一般都由計算機、數據

21、庫、若干終端組成。分布式數據庫的數據分布在不同的場地,但每一個場地可以有自己獨立的應用。主要有以下幾個特點 : 物理分布性邏輯整體性。 場地自治性。 各地的計算機由數據通信網絡相連。3.多媒體數據庫 多媒體數據庫是多媒體技術與數據庫技術相結合產生的一種新型的數據庫。與傳統的數據庫不同,多媒體數據庫是指能夠管理文字、表格、聲音、圖像、圖形等多媒體數據的數據庫。 前對多媒體數據庫的研究分為兩大方向: 面向對象數據庫研究。 對關系數據庫進行簡單擴充,使之具有最簡單的多媒體功能。 4.XML數據庫技術 XML技術自出現以來,發展非常迅速,在電子數據交換、電子商務等領域都有應用。 XML本質上是一種描述

22、性的標記語言,是一種更好地表示信息的手段。同時,這也意味著XML可以是用于信息存儲和管理的一種方式,正如同傳統的數據庫技術一樣。目前它以成為計算機行業標準的數據交換格式。 XML的一個重要特點是它可以方便有效地表示結構化數據,這就使得XML可以作為表示和存儲數據的手段。其次XML文件為純文本文件,不受操作系統、軟件平臺的限制。最后XML容易描述數據的語義,這種描述能被計算機理解和自動處理因此,因此目前有不少研究是將XML用于數據庫應用中。 XML文件的存儲方式有三大類: (1)將文件存儲于文件系統 (2)將文件存儲于數據庫管理系統所提供的BLOB 中 (3)將文件存儲于原生XML數據庫(Nat

23、ive XML Databases,NXD) 5 現代信息集成技術 由于互聯網的不斷發展和應用,目前如何有效利用海量數據成為研究的熱點。在20世紀90年代初就興起了3項新技術: 數據倉庫(Data Warehouse,DW) 聯機分析處理(On Line Analytical Processing,OLAP) 數據挖掘(Data Mining),現在已成為研究熱點。1.2.5 數據庫技術的研究領域 數據庫學科的研究范圍非常廣泛,主要包括以下三個主要的研究領域。 1)數據庫管理系統軟件的研制 2)數據庫的設計 3)數據庫理論 1.3 數據模型模型是對客觀世界中復雜事物的抽象描述。 在用計算機處理

24、現實世界的信息時,必須抽取局部范圍的主要特征,模擬和抽象出一個能反映局部世界中客觀現實和客觀現實之間聯系的模型,即數據模型。 如何將現實中的數據組織、整理并存儲于數據庫中,在數據庫中是用數據模型這個工具來對現實世界進行抽象。從現實世界的信息到數據庫中存儲的數據,直到最后用戶所使用的數據是一個逐步抽象的過程。 在這個抽象的過程中產生了4種不同的模型:概念模型、邏輯模型、外部模型、內部模型。這4種模型之間的關系如下圖所示。其中我們可以把邏輯模型、外部模型、內部模型統一稱為數據模型。 1.3.1. 概念模型數據庫概念模型是對真實世界中問題域內的事物的描述,不是對軟件設計的描述。 概念模型有如下的特點

25、概念模型是從用戶的需求角度出發,對整個應用項目所涉及的數據進行全面描述,對其中數據進行建模。概念模型獨立于計算機系統的軟硬件。概念模型即不依賴于硬件設備,如對存儲器的考慮,也不依賴于實現時的DBMS和操作系統。概念模型是數據庫設計人員與用戶之間進行交流的工具。在建立概念模型之前,首先需要學習一些基本概念 實體(Entity)。客觀存在、可以相互區別的事物稱為實體。實體可以是具體的對象,例如一本書、一個出版社、一輛汽車、一個學生等;也可以是抽象的對象,例如一次買書、一場比賽等。 實體集(Entity set)。具有相同特征的同類實體的集合,稱為實體集。 屬性(Atrribute)。屬性是實體所具

26、有的特征,一個特征稱之為一個屬性。 關鍵字(Key)。能唯一標識實體的屬性或屬性集,稱為關鍵字。 實體型。用實體名和屬性名描述同一類實體,稱為實體型。 實體之間的聯系 一對一聯系(1:1)。 實體集A中的一個實體至多與實體集B中的一個實體相對應,反之亦然,則稱實體集A與實體集B為一對一的聯系。記作1:1。 一對多聯系(1:n)。 實體集A中的一個實體與實體集B中的多個實體相對應,反之,實體集B中的一個實體至多與實體集A中的一個實體相對應。記作1:n。 多對多(m:n) 實體集A中的一個實體與實體集B中的多個實體相對應,反之,實體集B中的一個實體與實體集A中多個實體對應。記作(m:n)。 3概念

27、模型的表示工具 概念模型應該用簡單、清晰、靈活、易于理解的表達方式來表示實體及實體之間的聯系。 概念模型的表示方法有很多,其中最著名的是P.P.S.Chen在1976年提出的實體聯系方法(Entity Ralation Model,ER模型)。 這個模型可以直接從現實世界抽象出實體、實體之間的聯系,然后用實體聯系圖(ER圖)表示概念模型。 設計ER圖的方法稱為ER方法,簡單的說是用矩形框表示實體,菱形框表示聯系,橢圓來表示實體的屬性。1.3.2 數據模型三要素 數據模型是嚴格定義的概念的集合,數據模型通常由數據結構、數據操作、數據完整性三部分組成。1)數據結構 數據結構是研究存儲在數據庫中的數

28、據對象以及對象之間的聯系。一般可以分成兩部分:一部分描述的是數據對象的數據類型、內容、性質。另一部分描述的是數據對象之間的聯系,例如學生和課程有選課的聯系。 在數據庫系統中通常按照數據結構的類型來命名數據模型,目前有4種常用的數據模型:層次模型、網狀模型、關系模型、面向對象的模型。2)數據操作 數據操作是指對數據庫中各種對象的實例允許執行的操作的集合,包括操作及有關的操作規則。 數據庫主要有檢索和更新兩大操作,檢索也稱為數據查詢,更新包括數據插入、修改、刪除操作。3)數據完整性 完整性規則是給定的數據模型中數據及聯系的制約和依存規則,用來限定數據庫的 狀態及狀態變化,保證數據的正確、有效、相容

29、。 1.3.3常用數據模型的種類1層次模型(Hierarchical Model) 1)層次狀結構的特點數據庫中有且僅有一個記錄型無雙親,稱為根節點。其他記錄型有且僅有一個雙親。 2)層次模型的數據操作與數據完整性定義 層次模型的數據操縱主要有插入、修改、刪除、查詢。進行插入、修改、刪除操作時需要滿足層次模型的完整性約束條件。在進行插入操作時,必須保證新紀錄有雙親結點。如果有一個新助教沒有分配教研室,無法將該助教的信息插入數據庫中。在進行刪除操作時,如果刪除雙親結點的記錄,則相應的孩子記錄也同時被刪除。在進行修改操作時,應修改所有相應的記錄,保證數據的一致性。 3)層次模型的優缺點優點 在層次

30、模型中從一個節點到其雙親的映射是惟一的,所以對每一個記錄型(除根節點外)只需要指出它的雙親,就可以表示出層次模型的整體結構。 層次模型的特點是記錄之間的聯系可以通過指針實現,數據查詢效率高。 提供了良好的數據完整性支持。缺點 層次模型的缺點是只能表示實體間1:N的聯系 由于具有嚴格的層次順序,使數據的查詢和更新操作比較復雜,應用程序編寫比較困難。 對數據的添加、刪除操作有嚴格的限制,查詢子結點必須通過雙親結點。【例1.2】層次模型的例子,如圖1-10所示: 它由系、教研室、教授、助教、研究生、本科生等實體組成。記錄型系D是根節點,由D#(系編號)、DN(系名)、DO(系辦公室)、DL(系主任)

31、組成。根結點有2個孩子分別是教研室、本科生。 2 網狀模型(Network Model) 1)網狀模型的特征是: 允許一個以上的節點沒有父節點 一個節點可以有多于一個的父節點【例1.3】網狀模型的例子,如圖1-12所示 圖1-12描述的是一個網狀數據模型的例子。它由學生、課程、學生選課等實體組成。按照語義學生和課程之間是多對多的聯系 下圖1-13是網狀模型的一個實例。 2)網狀模型的數據操縱與完整性約束 網狀模型的數據操縱主要有插入、修改、刪除、查詢。進行插入、修改、刪除操作時需要滿足網狀模型的完整性約束條件。在進行插入操作時,允許插入沒有雙親結點的新紀錄。如果有一個課程還沒有學生選,可以在數

32、據庫中添加這個課程。在進行刪除操作時,允許只刪除雙親結點的記錄。在進行修改操作時,由于記錄間是用指針聯接,只需要更新指定記錄。 3)網狀模型的優缺點優點: 1)網狀模型與層次模型相比,提供了更大的靈活性,能更直接地描述現實世界。 2)由于沒有對層次的嚴格要求,具有良好性能和存儲效率缺點: 1)網狀模型的缺點是結構復雜,用戶不易掌握。 2)記錄類型聯系變動后涉及鏈接指針的調整,擴充和維護都比較復雜。 3)關系模型(Relation Model) 關系模型是四種數據模型中最重要的一種,關系模型是建立在數據概念基礎上 【例1.4】關系模型的例子。如下表所示。 下面是網上書店系統中部分實體的關系模型的

33、例子,以1-9的 E-R圖為基礎。1)用戶(用戶編號,用戶名,密碼,真實姓名,性別,出生年月,地址,Email,郵編)2)書籍(書籍編碼,書籍ISBN,書名,作者,出版社編號,價格,出版日期)3)出版社(出版社編號,出版社名稱,電話,傳真,Email,地址,郵編) 訂單(訂單編號,訂單時間,用戶編號,送貨編號,支付方式,訂單狀態,4)發貨時間,預計到達時間,收貨人姓名,收貨人地址,收貨人電話,郵編)5)訂單細節(訂單編號,書籍編碼,數量,定書時間)2)關系模型的數據操縱與完整性約束 關系模型的數據操縱主要有插入、修改、刪除、查詢。進行插入、修改、刪除操作時需要滿足關系模型的完整性約束條件,即實

34、體完整性、參照完整性、用戶自定義完整性。這些概念將在第二章中有詳細的闡述。 關系模型是數學化的模型,數據操縱的方式都可以轉換為相應的關系代數,關系代數操作的特點是集合操作,即操作的對象和結果是集合。關系模型中表格簡單用戶易懂,只需要簡單的語句就可以對數據庫中的數據進行操作,因此不涉及存儲結構、訪問技術等細節。例如上面的關系模型中,圖書和用戶的購買關系也是通過一張二維表(訂單表來)實現的。3)關系模型的優缺點優點 關系模型有嚴格的數據理論根據。 數據結構簡單,用戶只需要用簡單的查詢語句就可以對數據庫進行操作。有更好的數據獨立性和安全保護。 簡化了數據庫建立和應用程序開發的工作,提高了效率。缺點

35、關系模型的缺點是查詢效率不如非關系模型。為了提高性能,需要進行查詢優化,這樣就會增加開發數據庫應用系統的負擔。 4)面向對象模型面向對象模型基本概念是對象和類。 對象(Object)。對象是現實世界中實體的模型化,對象代表某個客觀存在的具體或抽象的實體 對象具有一系列的屬性,屬性值體現對象的特征 每個對象有唯一的標識符把屬性和行為封裝在一起,對象的行為是在對象的屬性上操作的方法集。 類(Class)。 類是所有有相同屬性和方法的對象的模板,類是生成對象的軟件藍圖。 【例1.5】對象模型的例子。 對于圖1-9E-R圖的例子,用對象模型表示如下圖所示。模型中有5個類,分別是用戶類、圖書類、出版社類

36、、訂單類、訂單細節類。 絕大多數數據庫系統在總的體系結構上都具有3層模式的結構特征 1.三層模式的體系結構1.4數據庫系統的三層模式結構 1)外模式定義:外模式是用戶與數據系統的接口,是用戶用到的那部分數據描述。特點:使用外模式可以是應用程序員,也可以是一個聯機的終端用戶。 2)邏輯模式定義:模式是數據庫中全部數據的整體邏輯結構的描述,他由若干個邏輯記錄類型組成,還包含記錄之間的聯系、數據的完整性和安全性要求。特點:邏輯模式是對數據庫結構的一種描述,而不是數據的本身。一個數據庫只有一個邏輯模式,數據庫邏輯模式以某一種數據模型為基礎。 3)內模式定義:內模式是數據庫在物理存儲方面的描述,定義了存

37、儲用的內部記錄類型、索引和文件的組織方式以及數據控制方面的細節。特點:內模式通常使用模式描述語言(存儲模式DDL)來描述和定義,并不涉及物理設備的約束。一個數據庫只有一個內模式。2.兩級映射 由于數據庫的三級模式中的數據結構可能不一致,因此需要三級模式中的不同的映射關系來說明三級模式之間的對應關系。1)外模式/邏輯模式映射定義了外模式與邏輯模式之間的對應關系,一般是放在外模式中描述。2)模式/內模式的映射定義了數據的邏輯結構到物理結構之間的對應關系,一般是放在內模式中描述。 3.數據獨立性 3個抽象級間通過兩級映射(外模式/邏輯模式映射,邏輯模式/內模式映射)進行相互轉換,使得數據庫的3級形成

38、一個統一的整體。 數據庫系統獨立性分為物理獨立性和邏輯獨立性。1)物理獨立性 物理獨立性是指用戶的應用程序與存儲在磁盤上數據庫中的數據是相互獨立的。當數據的物理存儲改變時,只要對邏輯模式/內模式映射作相應的修改,可以使邏輯模式盡可能保持不變,應用程序也不需要改變。 2)邏輯獨立性 邏輯獨立性是指用戶的應用程序與數據庫中的邏輯結構是相互獨立的。 當數據的邏輯結構改變時,例如增加記錄類型和數據項,那么只需要對外模式/邏輯模式映射作相應的修改,可以使外模式和應用程序盡可能保持不變。 邏輯獨立性存在于外模式和邏輯模式之間的映射轉換,說明概念模式發生變化時應用程序的獨立程度。值得注意的是,邏輯獨立性比物

39、理獨立性更難實現。 1.5數據庫管理系統 為了便于訪問,數據庫通常封裝在數據庫管理系統(DBMS,Database Management System)中。DBMS是數據庫系統中對數據進行管理的軟件,它是數據庫系統的核心組成部分。 DBMS所支持的最常用的數據訪問語言是結構化查詢語言(SQL,structured query language),雖然取名叫查詢語言,但實際上通過SQL是可以進行數據更新等其他操作。 1.DBMS的主要功能 數據定義功能。 DBMS提供了數據定義語言(DDL,Data Define Language)定義數據庫的三級模式結構、兩級映射,定義數據的完整性約束等約束題

40、條件。 數據操縱功能 DBMS提供數據操縱語言(DML,Data Manipulation Language)實現對數據庫中數據的操作。基本的數據操作有兩類:查詢和更新(包括插人、刪除、更新)。 數據庫的運行管理功能 數據庫的運行管理是DBMS的重要功能,保證了數據庫系統的正確運行。DBMS對數據庫的管理和控制主要通過四個方面實現: 數據安全性控制 數據完整性控制 多用戶環境下的并發控制 數據庫的恢復 數據庫的維護功能 這一部分包括數據庫的數據載入、轉換、轉儲,數據庫的改組以及性能監控等功能。 數據通信接口功能 DBMS提供了與其他DBMS或文件系統的接口,從而使該DBMS能夠將數據轉換成另一

41、個DBMS或文件系統所能接受的格式。 數據字典 數據庫系統的三層結構定義存放在一個特殊的數據庫中,一般稱它為數據字典(DD,Data Dictionary)。2. DBMS的組成 DBMS是由兩大部分組成:查詢處理器和存儲管理器。 查詢處理器負責查詢處理,同時也負責數據更新和模式更新的請求。存儲管理器是根據獲得的請求信息,從數據存儲器中獲得信息或修改數據存儲器中的信息。 (1)磁盤存儲器中有5個主要成分:數據文件、數據字典、索引、統計數據、日志。 (2)查詢處理器有四個主要成分:DDL解釋器、DML編譯器、嵌入型DML的預編譯器、查詢運行核心程序。 存儲管理器有四個主要成分:授權和完整性管理器

42、、事務管理器、文件管理器、緩沖區管理器。 3 DBMS的工作模式 在數據庫系統中,DBMS與操作系統、應用程序協同工作,共同完成對數據庫中數據的各種操作,對數據庫的操作都是通過DBMS完成的。DBMS的工作過程如下:用戶或應用程序向DBMS提出的數據操作請求和處理請求。DBMS接受請求,并將請求(高級指令)轉換成復雜的機器代碼(低級指令)。DBMS依次檢查外模式、模式、內模式及兩級映射和存儲結構的定義。 DBMS對數據庫執行必要的存取操作。 DBMS從對數據庫的操作中接受查詢結果。 DBMS對數據結果進行處理(格式轉換)將處理結果返回給用戶1.6數據庫系統 1.6.1數據庫系統DBS的組成 數

43、據庫系統(DBS,DataBase System)是采用了數據庫技術的計算機系統。它是一個實現有組織、動態的存儲大量相關結構化數據的計算機軟、硬件資源的集合。數據庫系統實際上是為各類用戶訪問數據庫提供服務的計算機系統。一般來說它由數據庫、硬件、軟件、人員幾部分構成。 1數據庫(DB) 數據庫(DB)是一個單位或組織需要管理的全部相關數據的集合,它是長期存儲在計算機內、有組織的、可共享、統一管理的數據集合。 DB分成兩類: 物理數據庫:按一定的數據模型實際存儲的應用數據集合或工作數據集合,是數據庫的主體。 數據字典(Data Dictionary ,DD):也稱為DB中各級數據結構的描述,存放了

44、關于數據庫中各級模式的描述信息。包括所有數據的結構名、意義、描述定義、存儲格式、完整性約束、使用權限等信息。 2硬件 硬件是運行DBMS和存儲數據庫中數據的基礎,這一部分包括中央處理器、內存、外存、輸入/輸出等硬件設備。 3軟件 這一部分包括DBMS、操作系統(OS,Operater System)、各種主語言和數據庫應用程序,其中操作系統軟件是所有的軟件基礎。 為了開發數據庫應用系統,需要各種主語言例如:COBOL、C、PL/I等,其中還有一些流行的面向對象的程序設計語言,例如Visual C+、Java等。4人員 管理、開發和使用數據庫系統的人員主要是數據庫管理員(DBA,Database

45、 Administrator)、系統分析員、應用程序員和用戶。 用戶。指使用數據庫應用系統的最終用戶,他們通過應用程序的運行界面(用戶接口)使用數據庫。例如火車票代售點的工作人員,網上購買圖書的顧客等。應用程序員。使用程序設計語言和DML語言編寫數據庫應用系統的程序模塊的計算機工作者。 系統分析員。 負責應用系統的需求分析和規范說明。他們需要和數據庫管理員相結合,確定系統的軟硬件配置并參與數據庫各級模式的概要設計。 數據庫原理員(DBA)。它是控制數據整體結構的一組成員,負責數據庫系統的正常運行,承擔創建、監控和維護數據庫結構的責任。 DBA主要職責有:定義模式定義內模式與用戶聯系定義數據庫安

46、全性規則,對用戶訪問數據庫設置權限定義完整性規則,監督數據庫的運行數據庫的備份與恢復監控和優化數據庫的性能。1.6.2數據庫系統中應用程序的發展 應用程序訪問數據庫的語言是標準的SQL語言,但不同的程序設計語言,使用方法不盡相同。應用程序從低級到高級大致經歷了以下幾個階段.1)使用SQL直接使用數據庫。 用戶可以使用DBMS提供的SQL命令來定義和操縱數據庫,例如Microsoft SQL-Server提供了標準的Transcat SQL來設計簡單的數據庫程序,完成數據處理的任務。但數據庫的安全性很低。2)使用主語言嵌入SQL方式編寫應用程序。 應用程序一般采用C等主語言編寫,用嵌入在主語言中

47、的SQL來訪問數據庫。嵌入式SQL語句可以包含完整的SQL語句,也可以包含不完整的SQL語句。3)使用ODBC方式編寫應用程序。 應用程序依然用C等主語言編寫,訪問數據庫使用ODBC函數。但編程較復雜。 4)面向對象的高級語言編寫應用程序。 隨著數據庫應用程序的廣泛使用,開發技術也相應有了很大的發展。利用一些面向對象的圖像化的開發工具,可以極大的提高軟件開發的效率。例如目前流行的PowerBuild、Delphi、Visual Basic等集成開發環境,還有目前流行的基于java或.net的網絡開發工具等。開發出了很多基于網絡的數據庫應用系統。1.7 數據庫系統應用 1.7.1 數據庫系統應用

48、 1銀行業務系統 2. 超市的業務系統 3.航空售票系統 4.學校的教學管理系統 5.企業的管理信息系統 6圖書管理系統 1.7.2網上書店的實例介紹 網上書店是一個在互聯網上進行圖書銷售管理的電子商務系統,主要功能是:通過網上書店的主頁瀏覽圖書信息 選擇自己需要購買的圖書,并將它放入購物車 客戶在結賬之前可以對購物車內的貨物進行修改、查詢和刪除等操作 客戶完成購物后,系統自動生成訂單,根據訂單來對客戶進行發貨 客戶可以查詢訂單的狀態 書店的工作人員可以對圖書、訂單、發貨等信息進行有效的管理。 本教材其他章節的例子也以網上書店為例來進行分析,下面列出網上書店所需要的數據庫表。1)用戶表:用戶(

49、用戶編號,用戶名,密碼,真實姓名,性別,出生年月,地址,Email,電話,郵編)USERs (UserID, UserName, Password, TrueName, sex ,Birth, Address, Email, Tel, Post)2)書籍表書籍(書籍編碼,書籍ISBN,書名,作者,出版社編號,價格,折扣價格,出版日期,頁數,內容簡介,類別編號,數量,開本(如16開),圖片,版次)BOOK ( BookID , ISBN, BookName, Author, PublisherID, Price, DiscountPrice, PublishDate, Page, Descrip

50、tion, Categoryid, TotalNum, large, Image,PubTurn)3)出版社信息表出版社(出版社編號,出版社名稱,電話,傳真,Email,地址,郵編,網址)PUBLISHER (PublisherID,Name,Tel,Fax,Email,Address,Post, WWW)4)書類別表(樹狀結構,自遞歸)類別表(類別編號,類別名稱,類別描述,父類別編碼)CATEGORY (CategoryId, CategoryName, CategoryDescription ,parentedId) 5訂單細節表訂單細節(訂單編號,書籍編碼,數量)ORDERDETAIL

51、(OrderID, BookID, Quantity) 6) 訂單表 訂單(訂單編號,訂單時間,用戶編號,送貨編號,支付方式,訂單狀態,發貨時間,預計到達時間,收貨人姓名,收貨人地址,收貨人電話,郵編)ORDERS (OrderID, DateCreated, UserID, ShippingID,PayMode OrderStatus,DeliveryTime ,DateShipped,CustomerName, CustomerAddress, CustomerTel,PostNumber)7) 送貨信息表送貨信息(送貨編號,送貨方式,送貨價格,)Shipping (ShippingID,

52、ShippingType,ShippingCost) 8) 顧客評論表 顧客評論(用戶編碼,書籍編碼,評論內容) Comment(UserID,BookID,Comment) 1.8 本章小結 本章概述了數據、數據庫、數據庫管理系統、事務、事務處理系統的基本概念,介紹了與數據庫技術息息相關的電子商務的概念,數據庫技術在電子商務中的應用。 本章重點闡述了數據模型是對現實世界進行抽象的工具,在這個抽象的過程中產生了4種不同的模型:概念模型、邏輯模型、外部模型、內部模型。概念模型的代表是實體聯系模型,主要使用的表達工具是E-R圖。邏輯模型主要有層次、網狀、關系、對象模型4種,其中關系模型是當今的主流

53、模型,對象模型處于發展之中。從用戶到數據庫,數據庫的數據結構有外模式、模式、內模式3個層次,數據庫系統通常采用三級模式結構,數據庫系統的三級模式和二級映射保證了數據庫系統的邏輯獨立性和物理獨立性。 數據庫管理系統(DBMS)是介于用戶和操作系統之間的數據管理軟件,數據定義、查詢、更新、安全控制等都是通過DBMS進行的。數據庫系統(DBS)是采用了數據庫技術的計算機系統。一般來說它由數據庫、硬件、軟件、人員幾部分構成。本章最后詳細介紹了數據庫系統的組成和結構。第二章 關系數據庫 2.1 關系數據模型 關系數據模型三個重要組成部分:關系數據結構關系操作集合關系完整性約束2.1.1 關系數據結構 數

54、據結構 數據對象的集合,它描述數據對象的類型、內容、屬性以及數據對象之間的聯系。 關系模型(Relation model) 是一個用二維表表示實體集,用主碼表示實體之間聯系的數據模型,它的邏輯結構是一張二維表。 1.基本術語屬性(Attribute) 表中的一列即為一個屬性,每一個屬性都有一個屬性名。 屬性名屬性元組(Tuple) 表中的一行即為一個元組,它表示一個實體。 一個元組共5個元組,即一個實體集域(Domain) 屬性的取值范圍。如價格只能取0到200之間的、小數點后2位的數字關系模式(Relation Schema) 對關系的描述,即元組集合的描述。一般形式為:關系名(屬性1,屬性

55、2,屬性n)。 【例】書籍(書籍編碼, 書名, 作者, 價格, 出版日期, 頁數,版次)。 碼(Key)或鍵 在關系模型中起到標識元組、建立關系之間聯系的重要作用的屬性或屬性組。候選碼(Candidate Key):二維表中有若干碼,稱這些碼為候選碼。【例】出版社信息表PUBLISHER(出版社編號,出版社名稱,電話,傳真,Email,地址,郵編,網址)中 , 如果出版社名稱可以相同,則候選碼為出版社編號; 如果出版社名稱不同,則候選碼為出版社編號和出版社名稱。 碼(Key)或鍵主碼(Primary Key):二維表中的某個屬性或屬性組,它可以唯一確定一個元組,主碼有時也稱為碼。 可以從候選碼

56、中選定一個候選碼作為主碼。 碼(Key)或鍵復合碼(Compound Key):關系的主碼不是一個屬性,而是若干屬性的組合,將這樣的主碼稱為復合碼。復合碼中的各個屬性稱為主屬性。關系中其余的屬性稱為非主屬性。 【例】選課表(學生號,課程號,成績)中,主碼是(學生 號,課程號),即主碼是一個復合碼。 其中學生號和課程號是主屬性,而成績是非主屬性。 碼(Key)或鍵外碼( Foreign Key ):若關系R的屬性(或屬性組)F是關系S的碼,則稱F是關系R的外碼。其中R稱為參照關系,S稱為被參照關系。 2.關系(Relation)定義 是二維表的抽象,它是由一組屬性及屬性數目相同的元組組成的集合。

57、有時關系也稱為實例(Instance)。 分類按照屬性分類。 按照元組數目分類。 按照存儲狀況分類。 性質二維表中每一個屬性值都是不可分的基本數據項 。 二維表中元組個數有限 。 二維表中元組均不相同 。二維表中元組次序可以任意交換,即行的次序可任意交換。 二維表中屬性各不相同。二維表的屬性順序可以任意交換,即列的次序可任意交換; 二維表中各個元組相同的屬性列取值來自相同的域。 2.1.2關系操作 關系的操作采用集合操作方式,即操作的對象和結果都是集合 查詢操作 查詢操作可以對一個關系若干屬性進行查詢,可以對一個關系內若干元組進行查詢,也可以對幾個關系之間更復雜的屬性和元組進行查詢。 查詢操作

58、的分類 選擇(Selection)、 投影(Projection)、 連接(Join)、 除(Division)、 并(Union)、 交(Intersection)、 差(Difference)、 笛卡兒積(Cartesian Product)等。 插入操作 在指定關系中插入一個或多個元組。 刪除操作 刪除指定關系的指定元組。 修改操作 在一個關系中修改指定元組的屬性值。 2.1.3關系完整性約束 實體完整性 實體完整性規則 若屬性A是基本關系R的主屬性,則A不能取空值。 規則說明: 實體完整性規則說明一個關系的主碼不能取空值。取空值 表示該實體“不知道”或“不存在”。 參照完整性 參照完整

59、性規則 若屬性(或屬性組)F是基本關 系R的外碼,它與基本關系S的主碼Ks相對應,那么關系R中的每一個元組在F上的取值要么取空值,要么等于S中的某個元組的主碼值。 規則說明:關系R和S不一定是不同的關系,它們可以是同一個關系。 被參照關系S的主碼Ks和參照關系的外碼F必須定義在同一個(或一組)域上。 外碼并不一定要與相應的主碼同名,如果在不同的關系中,為了易于辨識,外碼與相應的主碼可以同名。同一個關系之間屬性的引用 多個關系之間屬性的引用 書籍表(書籍編碼,書名,書籍ISBN,作者,出版社編號, 價格, 出版日期,頁數,類別編號,數量,版次);出版社(出版社編號,名稱,電話,傳真,Email,

60、地址,郵 編,網址);書類別表(類別編號,類別名稱,類別描述,父類別編碼) 外碼作為一個關系的主屬性 訂單細節表(訂單編號,書籍編碼,數量,定書時間); 訂單表(訂單編號,訂單時間,); 書籍表(書籍編碼,書名,書籍ISBN,); 用戶定義的完整性 該規則是針對某一具體關系數據庫應用的約束條件,它反映某一具體應用所涉及的數據必須滿足的語義要求,和實際應用相關。【例】 在書籍信息表中,規定書籍價格的取值不能小于0; 用戶表(用戶編號,用戶名,密碼,真實姓名,性別,出 生年月,地址,Email,電話,郵編),規定性別只能取“男” 或“女”。郵編只能是6位數字。2.2 關系代數 關系代數是研究關系數

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論