計算機軟件技術基礎第8講(第五章)_第1頁
計算機軟件技術基礎第8講(第五章)_第2頁
計算機軟件技術基礎第8講(第五章)_第3頁
計算機軟件技術基礎第8講(第五章)_第4頁
計算機軟件技術基礎第8講(第五章)_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1信息科學與工程學院計算機軟件技術基礎二O一O年十一月2目前,計算機的作用已不僅是進行數值近似,更多的是用于數據的加工和管理,如行政事務管理,圖書資料管理及商店賬目管理等數據庫技術正是為了滿足這種應用的需要而發展起來的,它已經成為計算機應用中必須掌握的重要技術之一5.1數據庫基本概念

數據庫是一個通用化的、綜合性的數據集合,它可以為各種用戶所共享,具有最小的冗余度和較高的數據與程序的獨立性。而且能并發地為多個應用服務,同時具有安全性和完整性數據庫系統是一個功能很強大的復雜系統,它在現實生活中的應用將會越來越廣泛35.1.1數據庫技術與數據庫系統1.數據庫管理技術

數據庫管理技術的發展是與計算機技術及其應用的發展聯系在一起的,它大致經歷了以下三個階段:(1)人工管理(2)文件管理(3)數據庫管理人工管理階段在這一階段中,計算機的應用主要是科學計算,計算機中的數據與應用程序一一對應圖5.1人工管理下程序與數據之間的關系4文件管理階段在這一階段中,借助操作系統中的文件系統,數據可以用統一的格式,以文件形式長期保存在計算機系統中,并且數據的各種轉換以及存儲位置的安排完全由文件系統來統一管理,從而使程序與數據之間具有一定的獨立性。在這種情況下,應用程序可以使用多個文件中的數據,不同的應用程序也可以使用同一個文件中的數據圖5.2文件系統管理下程序與數據之間的關系5隨著計算機應用的不斷發展,管理的數據規模越來越大,文件系統對數據的管理也越來越不適應

主要體現在以下3個方面:數據冗余度比較大由于數據時面向應用的,使程序與數據還是互相依賴文件系統對數據的控制沒有統一的方法,而是完全靠應用程序自己對文件中的數據進行控制,因此,使應用程序的編制很麻煩,而且缺乏對數據的正確性、安全性、保密性等有效且統一的控制手段6

數據庫管理階段在文件管理階段,還不能滿足將大量數據集中存儲、統一控制以及數據為多個用戶所共享的需要。數據庫技術正是為克服文件系統中對數據管理的不足而產生的,它的根本目標是要解決數據的共享問題

數據庫管理具有以下3個主要特點:(1)數據是結構化的,是面向系統的,數據的冗余度小(2)數據具有獨立性(3)保證了數據的完整性、安全性和并發性7在數據庫管理下,程序與數據之間的關系如下圖所示:圖5.3數據庫管理階段程序與數據之間的關系82.數據庫管理系統數據庫管理系統最本質的特點是實現數據的共享,它是數據庫系統中實現各種數據管理功能的核心軟件數據庫管理系統具有較強的對數據進行集中控制的能力,它包含了各種類型的系統程序。一般來說,數據庫管理系統具有以下功能:(1)定義數據庫,包括總體邏輯數據結構的定義、局部邏輯數據結構的定義、存儲結構定義、保密定義等(2)管理數據庫,包括控制整個數據庫系統的運行,數據存取、插入、刪除、修改等操作,數據完整性和安全性控制以及并發控制等9(3)建立和維護數據庫,包括數據庫的建立、數據更新、數據庫再組織、數據庫的維護、數據庫恢復以及性能監視等(4)數據通信,具備與操作系統的聯機處理、分時系統以及遠程作業輸入的相應接口

上述幾方面功能分別由數據庫管理系統中的各個系統程序來完成,每個程序實現各自的功能。10主要程序模塊(1)語言處理部分

數據描述語言解釋程序,其中包括模式DDL、子模式DDL和物理DDL

模式DDL是數據庫管理員用來定義數據庫總體邏輯數據結構的。

子模式DDL是用戶用來定義其所用的局部邏輯數據結構的

物理DDL又稱為設備介質語言,主要用來定義數據的物理存儲方式。

數據操縱語言(DML)處理程序,是數據庫管理系統提供給用戶進行存儲、檢索、修改和刪除數據庫中數據的攻擊

終端詢問解釋程序,用于解釋終端詢問的意義,決定操作執行過程

數據庫控制命令解釋程序,用于解釋每個控制命令的定義11(2)系統運行控制程序系統總控程序。它是DBMS的神經中樞,其功能是控制和協調DBMS中各程序的活動,使系統有條不紊地運行訪問控制程序。其功能主要是核對用戶標識符、口令,核對授權表,檢驗訪問的合法性等

并發控制程序。其功能是在多個用戶同時訪問數據庫時,協調各個用戶的訪問

保密控制程序。其功能是在執行操作之前核對保密規定

數據完整性控制程序。其功能是在執行操作前或操作后,核對數據庫完整約束條件,從而決定是否允許操作執行或清除已經執行操作的影響12

數據訪問程序。其功能是根據用戶的訪問請求,實施對數據的訪問,從物理文件中查找數據,執行插入、刪除、修改等操作

通行控制程序。實現用戶程序與數據庫管理系統之間的通信(3)系統建立與維護程序數據裝入程序。其功能是將數據裝入數據庫

工作日志程序。負責記錄進入數據庫系統的所有訪問,包括用戶名稱、進入系統時間、進行何種操作、數據對象、數據改變情況等

性能監督程序。監督操作時間與存儲空間占用情況,做出系統性能估算

系統恢復程序。其功能是,當軟硬件遭到破壞時,負責將數據庫13系統恢復到可用狀態重新組織程序。其功能是,當數據庫性能變壞時,對數據重新進行物理組織以上列舉的是數據庫管理系統通常所包含的內容,但對于一個具體的數據庫管理系統所包括的內容可以根據具體條件和要求來確定。例如,有的數據庫管理系統沒有物理DDL,而有的數據庫管理系統則沒有查詢語言解釋程序等143.數據庫系統的構成一個數據庫系統是由操作系統、數據庫管理系統和應用程序在一定的硬件支持下構成的數據庫系統的層次結構如下圖所示圖5.4數據庫系統的層次結構15從圖中可以看出,在軟件方面需要支持DBMS的操作系統和DBMS。為了使數據庫的使用簡單方便,一般還要配置應用軟件包

數據庫管理系統(DBMS)是整個數據庫系統的核心,它對數據庫中的數據進行管理,還在用戶的個別應用于整體數據庫之間起接口作用

數據庫管理員(DBA)負責整個數據庫系統的建立、維護和協調工作。16下面通過一個應用程序從數據庫中讀取一個數據記錄的例子來說明用戶訪問數據庫中數據的過程,同時也具體反映了各部分的作用以及它們之間的相互關系。如下圖所示圖5.5訪問數據庫中數據的過程17用戶訪問數據庫中數據時的主要步驟(1)用戶在應用程序中向DBMS發出讀取記錄的請求,同時給出記錄名和要讀取記錄的關鍵字值(2)DBMS接到請求后,利用應用程序A所用的子模式來分析這一請求(3)DBMS調用模式,進一步分析請求,根據子模式與模式之間變換的定義,決定讀入哪些模式記錄(4)DBMS通過物理模式將數據的邏輯記錄轉換為實際的物理記錄(5)DBMS向操作系統發出讀取所需物理記錄的請求(6)操作系統對實際的物理存儲設備啟動讀操作18(7)讀出的記錄從保存數據的物理設備送到系統緩沖區(8)DBMS根據模式和子模式的規定,將記錄轉換為應用程序所需要的形式(9)DBMS將數據從系統緩沖區傳送到應用程序A的工作區(10)DBMS向用戶程序A發出本次請求執行情況的信息以上步驟是用戶從數據庫中讀取數據的一般過程。對于不同類型的DBMS有可能在具體細節上稍有不同,但基本過程大體上是一致的195.1.2數據描述1.信息的存在形態根據信息的存在形態,可以將所有信息劃分為3個階段:現實(客觀)世界、觀念(信息)世界與數據世界(1)現實世界。在現實世界中所反映的是所有客觀存在的事物及其相互之間的聯系,它們只是處理對象最原始的表示形式(2)觀念世界。又稱信息世界。在觀念世界中所存在的信息是現實世界的客觀事物在人們頭腦中的反映,并經過一定的選擇、命名和分類。在觀念世界中的主要對象是實體(entity)20

觀念世界中所涉及的幾個基本概念

屬性。所謂屬性是指事物在某一方面的特性。例如,教室的屬性有姓名、年齡、性別、職稱等。屬性所取的具體指成為屬性值

實體。若干屬性的屬性值的集合。例如,某一教師的姓名為李明,性別為男,年齡為45,職稱為副教授,這是教師的一個實體

實體型。表征某一類實體的屬性的集合。例如,姓名、年齡、性別、職稱等屬性是表征“教師”這一類實體的

實體集。同一類型實體的集合。例如,某一學校中的教師具有相同的屬性,他們就構成了實體集“教師”21(3)數據世界信息經過加工、編碼后即進入數據世界,可以利用計算機來處理它們。因此,數據世界中的對象是數據。現實世界中的客觀事物及其聯系在數據世界中是用數據模型來描述的數據世界中的基本概念

數據項(字段)(field)相應于觀念世界中的屬性。例如,實體型“教師”中的各個屬性:姓名、年齡、性別、職稱等就是數據項

記錄(record)每一個實體所對應的數據。例如,對應某一教師的各屬性值:李明、45、男、副教授等就是一個記錄

記錄型(recordtype)相應于觀念世界中的實體型22

文件(file)相應于觀念世界中的實體集

關鍵字(key)能夠唯一標識一個記錄的字段集圖5.6“教師”記錄型與“教師”文件的示意圖232.實體間的聯系客觀事物之間的聯系包括兩個方面:一是實體內部的聯系,它反映在數據模型中試記錄內部的聯系;二是實體與實體之間的聯系,在數據模型中表現為記錄與記錄之間的聯系實體之間各種各樣的聯系可以歸結為3類:一對一的聯系,一對多的聯系,多對多的聯系(1)一對一(1:1)的聯系設有兩個實體集E1和E2,如果E1和E2中的每一個實體最多與另一個實體集中的一個實體有聯系,則稱實體集E1和E2的聯系時一對一的聯系,通常表示為“1:1聯系”24(2)一對多(1:n)的聯系設有兩個實體集E1和E2,如果E2中的每一個實體與E1中的任意個實體(包括零個)有聯系,而E1中的每一個實體最多與E2中的一個實體有聯系,則稱這樣的聯系為“從E2到E1的一對多的聯系”,通常表示為“1:n的聯系”(3)多對多(m:n)的聯系設有兩個實體集E1和E2,其中的每一個實體都與另一個實體集中的任意個(包括零個)實體有聯系,則稱這兩個實體集之間的聯系是“多對多的聯系”,通常表示為“(m:n)的聯系”255.1.3數據模型數據模型是對客觀事物及其聯系的數據描述,它反映了實體內部以及實體與實體之間的聯系,因此,數據模型是數據庫設計的核心在數據庫中,數據模型可以分為3個層次:外層、概念和內層,分別為外模型、概念模型和內模型26數據模型可以分為3個層次:外模型、概念模型和內模型外模式/模式映像B用戶A1主語言+數據子語言用戶A2主語言+數據子語言用戶B1主語言+數據子語言用戶B2主語言+數據子語言用戶B2主語言+數據子語言外模式A外模式B模式內模式DBDBMSOS模式/內模式映像外模式/模式映像A由數據庫管理者DBA建立和維護27目前常用的數據模型有3種:層次模型、網狀模型和關系模型1.層次模型在層次模型中,實體之間的聯系是用樹結構來表示的,其中實體集(記錄型)是樹中的結點,而樹中各結點之間的連線表示它們之間的關系根據樹結構的特點,建立數據的層次模型需要滿足下列兩個條件:(1)有一個數據記錄沒有“父親”,這個記錄即是根結點(2)其他數據記錄有且只有一個“父親”在實際應用中,許多實體之間的聯系本身就是自然的層次關系。例如,一個學校下屬有若干個系、處和研究所;每個系下屬有若干個教研組和辦公室,每個研究所下屬有若干個科研組和辦公室,每個處下屬有若干個科室等28如上所述的一個學校的行政機構有明顯的層次關系,可用下圖所示的層次模型將其表示出來圖5.7學校行政機構的層次模型29層次模型最明顯的特點是層次清楚、構造簡單、易于實現,它可以很方便地表示出一對一和一對多的這兩種實體之間的聯系。層次模型不能直接表示多對多的實體之間的聯系,因此,對于復雜的數據關系,用層次模型表示是比較麻煩的,這也正是層次模型的局限性以層次模型為數據模型所設計的數據庫成為層次數據庫2.網狀模型網狀數據模型是以記錄型為結點的網狀結構,它的特點如下:(1)可以有一個以上的結點無“父親”(2)至少有一個結點有多于一個的“父親”30由以上兩個特點可知,網狀模型可以描述數據之間的復雜關系。例如,關于學校的教學情況可以用下圖所示的網狀模型來描述圖5.8學校教學情況的網狀模型31網狀模型和層次模型都屬于格式化模型。所謂格式化模型,是指在建立數據模型時,根據應用的需要,事先將數據之間的邏輯關系固定下來,即先對數據邏輯結構進行設計使數據結構化為了描述記錄之間的聯系,引進了“系(set)”的概念,每一種聯系都用系來表示,并給以不同的名字,以便互相區別,如在上圖中的“教師-課程系”

網狀數據庫是應用較為廣泛的一種數據庫,它不僅具有層次模型數據庫的一些特點,而且能方便地描述較為復雜的數據關系,可以直接表示實體之間多對多的聯系323.關系模型關系模型是與格式化模型完全不同的數據模型,它與層次模型、網狀模型相比有著本質的區別,它是建立在數學理論基礎上,用表格數據來表示實體本身及其相互之間的聯系在關系模型中,把數據看成一個二維表,每一個二維表稱為一個關系33表中的每一列稱為一個屬性,相當于記錄中的一個數據項,對屬性的命名稱為屬性名,表中的一行稱為一元組,相當于記錄值關系是關系模型中最基本的概念圖5.9關系例34關系模型較之格式化模型有以下幾方面的優點:(1)數據結構比較簡單在關系模型中,對實體的描述、實體之間聯系的描述,都采用關系這個單一的結構來表示,因此,數據結構比較簡單、清晰(2)具有很高的數據獨立性在關系模型中,用戶完全不涉及數據的物理存儲,只與數據本身的特性發生關系,因此數據獨立性很高(3)可以直接處理多對多的聯系在關系模型中,由于使用表格數據來表示實體之間的聯系,因此,可以直接描述多對多的實體聯系。

溫馨提示

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

評論

0/150

提交評論