計算機軟件技術基礎第1章.ppt
《計算機軟件技術基礎第1章.ppt》由會員分享,可在線閱讀,更多相關《計算機軟件技術基礎第1章.ppt(38頁珍藏版)》請在裝配圖網上搜索。
第1章 數(shù)據(jù)庫概論 1.1 基本概念和術語 1.1.1 信息與數(shù)據(jù)(Information & Data) 信息是現(xiàn)實世界事物的存在方式和運動狀態(tài)的反映。數(shù)據(jù)是描述事物的符號記錄,是用物理符號記錄下來的可以鑒別的信息。 信息與數(shù)據(jù)的關系為:數(shù)據(jù)是信息的符號表示,是信息的載體;而信息是數(shù)據(jù)的內涵,是數(shù)據(jù)的語義解釋。另外,數(shù)據(jù)也是信息的資源,人們可以從中抽取、推導出對人們有價值信息,以作為行動和決策的依據(jù)。,1.1.2 數(shù)據(jù)處理和數(shù)據(jù)管理 數(shù)據(jù)處理是指對各種數(shù)據(jù)進行收集、存儲、加工、和傳播的一系列活動的總稱。數(shù)據(jù)管理是指對數(shù)據(jù)進行分類、組織、編碼存儲、檢索和維護。它是數(shù)據(jù)處理的中心問題。 數(shù)據(jù)管理技術經歷了以下三個階段: 1.人工管理階段(20世紀50年代中期以前) 數(shù)據(jù)和程序緊密結合為一個整體,一組數(shù)據(jù)對應一個程序,數(shù)據(jù)不具有獨立性,不能共享。,2.文件管理系統(tǒng)(50年代后--60年代中) 程序和數(shù)據(jù)分離,數(shù)據(jù)以文件形式保存于磁盤上,數(shù)據(jù)文件基本上是對應于一個或幾個程序,程序和數(shù)據(jù)具有一定的獨立性,但共享性差,冗余度大,不易擴充。 3.數(shù)據(jù)庫系統(tǒng)(60年代后) 數(shù)據(jù)由DBMS統(tǒng)一集中管理和控制,DB中的數(shù)據(jù)高度結構化,數(shù)據(jù)獨立性和共享性高,冗余度小,易擴充。,1.1.3 數(shù)據(jù)庫(DB--DataBase) 簡單來講,數(shù)據(jù)庫就是存放數(shù)據(jù)的倉庫。確切的含義是指長期儲在計算機內的、有組織和結構化的、可是共享的相關數(shù)據(jù)的集合。 數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲,具有較小的冗余度,數(shù)據(jù)間聯(lián)系密切,而又有較高的數(shù)據(jù)獨立性,并能為不同的用戶共享。 1.1.4 數(shù)據(jù)庫管理系統(tǒng)(DBMS--DataBase Management System) 數(shù)據(jù)庫管理系統(tǒng)是位于用戶和操作系統(tǒng)之間的數(shù)據(jù)管理軟件。其主要功能包括:,1.數(shù)據(jù)定義功能 通過DBMS提供的數(shù)據(jù)定義語言,用戶可以對數(shù)據(jù)庫中的各種數(shù)據(jù)對象進行定義。 2.數(shù)據(jù)操縱功能 通過DBMS提供的數(shù)據(jù)操縱語言,用戶可以對數(shù)據(jù)庫進行查詢、插入、刪除和修改等基本操作。 3.數(shù)據(jù)庫的運行管理 數(shù)據(jù)庫在建立、運行和維護時由DBMS統(tǒng)一管理和控制,以保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復。 4.數(shù)據(jù)庫的建立和維護 包括數(shù)據(jù)庫初始數(shù)據(jù)輸入、轉換功能,數(shù)據(jù)庫轉儲、恢復功能,數(shù)據(jù)庫的重組及性能監(jiān)視、分析功能等。,1.1.5 數(shù)據(jù)庫系統(tǒng)(DBS--DataBase System) 數(shù)據(jù)庫系統(tǒng)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后所組成的系統(tǒng)。除了計算機的硬件系統(tǒng)外,一般還包括數(shù)據(jù)庫、操作系統(tǒng)、DBMS及開發(fā)工具、應用系統(tǒng)、數(shù)據(jù)庫管理員(DBA—DataBase Administrator)和不同的用戶構成。如圖表示。,,1.2 數(shù)據(jù)庫系統(tǒng)的主要特征 1.2.1 數(shù)據(jù)結構化 在文件系統(tǒng)中,相互獨立的數(shù)據(jù)文件的內部結構通常采用等長同格式記錄的集合。例如,一個存放學生信息的文件,記錄的結構格式如圖3.1.2所示:,,其中前六項數(shù)據(jù)對于任何學生的信息量差別不大,而后三項相差很大。若采用等長同格式記錄存儲學生數(shù)據(jù),記錄的長度應等于信息量最多學生的記錄的長度,因而會造成大量存儲空間的浪費。,為此我們采用主記錄(由前六項數(shù)據(jù)組成學生基本記錄)和詳細記錄(分別描述學生的學習簡歷和家庭成員)相結合的形式建立文件。記錄的結構格式如圖3.1.3所示:,在數(shù)據(jù)庫系統(tǒng)中實現(xiàn)了整體數(shù)據(jù)的結構化,數(shù)據(jù)的結構化是數(shù)據(jù)庫的主要特征之一,是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質區(qū)別。,1.2.2 數(shù)據(jù)的共享性高、冗余度低和易擴充 由于數(shù)據(jù)庫從整體角度描述數(shù)據(jù),數(shù)據(jù)的組織不再面向某一應用,而是面向整個系統(tǒng),因此數(shù)據(jù)庫中的數(shù)據(jù)可以被多個用戶,多個應用共享。數(shù)據(jù)的結構化和數(shù)據(jù)共享可以大大減小數(shù)據(jù)的冗余度,既降低數(shù)據(jù)的重復存儲、節(jié)省存儲空間,同時又可避免數(shù)據(jù)之間的不相容性和不一致性。另外,還容易增加新的應用,使得數(shù)據(jù)庫系統(tǒng)具有彈性大,易擴充的特點。,1.2.3 數(shù)據(jù)的獨立性高 數(shù)據(jù)的獨立性包括兩個方面:數(shù)據(jù)的物理獨立性和數(shù)據(jù)的邏輯獨立性。 數(shù)據(jù)的物理獨立性是指用戶的應用程序與存儲在磁盤上的數(shù)據(jù)庫中的數(shù)據(jù)是相互獨立的。由于數(shù)據(jù)庫中的數(shù)據(jù)在磁盤上怎樣存儲由DBMS實現(xiàn)和管理,用戶程序不涉及數(shù)據(jù)的存儲結構,應用程序面向的是數(shù)據(jù)的邏輯結構,因此當數(shù)據(jù)的物理存儲改變后,應用程序不用改變。 數(shù)據(jù)的邏輯獨立性是指用戶的應用程序與數(shù)據(jù)邏輯結構是相互獨立的。即數(shù)據(jù)的邏輯結構改變后,應用程序也可以不變。,1.2.4 數(shù)據(jù)由DBMS統(tǒng)一管理和控制 數(shù)據(jù)庫是共享資源,并且一般采用的是并發(fā)共享,即多個用戶可以同時存取數(shù)據(jù)庫中的數(shù)據(jù)甚至可以存取數(shù)據(jù)庫中的同一個數(shù)據(jù)。因此DBMS必須提供以下四個方面的數(shù)據(jù)保護和控制功能: 1.數(shù)據(jù)的安全性(Security)保護 數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)以防止不合法的使用所造成的數(shù)據(jù)泄密和破壞。使非法用戶無法進入數(shù)據(jù)庫,合法用戶只能按規(guī)定,對某些數(shù)據(jù)以某些方式進行使用和處理。,2.數(shù)據(jù)的完整性(Integrity)控制 數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和一致性。DBMS提供了必要的完整性檢查功能,保證數(shù)據(jù)庫中的數(shù)據(jù)在輸入和修改時符合原來的定義和規(guī)定,使數(shù)據(jù)在有效范圍內,或保證數(shù)據(jù)之間滿足一定的關系。 3.數(shù)據(jù)庫的恢復(Recovery) 計算機系統(tǒng)的軟硬件故障、操作人員的失誤以及故意破壞等,均可能影響數(shù)據(jù)庫的正確性,甚至會造成數(shù)據(jù)庫中的部分或全部數(shù)據(jù)丟失。因此DBMS必須提供數(shù)據(jù)庫的恢復功能,使數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)。,4.并發(fā)(Concurrency)控制 當多個用戶的并發(fā)進程同時存取、修改數(shù)據(jù)庫時,可能會發(fā)生相互干擾而得到錯誤的結果或使數(shù)據(jù)庫的完整性遭到破壞,因此DBMS必須對多用戶的并發(fā)操作加以控制和協(xié)調。 綜上所述,數(shù)據(jù)庫是長期儲在計算機內有組織和結構化的、可共享的相關數(shù)據(jù)的集合。在一定范圍內不僅能滿足各種用戶共享需求,而且具有較小的冗余度和較高的數(shù)據(jù)獨立性。DBMS在數(shù)據(jù)庫在建立、運行和維護時對數(shù)據(jù)庫進行統(tǒng)一管理和控制,以保證數(shù)據(jù)的安全性、完整性。同時在多用戶使用數(shù)據(jù)庫時進行并發(fā)控制,在發(fā)生故障后對系統(tǒng)進行恢復。,1.3 數(shù)據(jù)模型 1.3.1 數(shù)據(jù)模型的概念 數(shù)據(jù)庫都是基于某種數(shù)據(jù)模型(Data Model)的,數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎。 模型是現(xiàn)實世界的模擬和抽象。數(shù)據(jù)模型也是一種模型,它是對現(xiàn)實世界數(shù)據(jù)特征的抽象。,數(shù)據(jù)模型應滿足三個方面的要求: 能比較真實的模擬和反映現(xiàn)實世界; 容易為人所理解; 便于在計算機上實現(xiàn)。,根據(jù)模型應用目的不同,通常分為兩類: 第一類是概念模型(也稱為信息模型),它是按照面向用戶的觀點對數(shù)據(jù)和信息建模,用于數(shù)據(jù)庫設計。 第二類是結構模型(也直接稱為數(shù)據(jù)模型),它是面向計算機系統(tǒng)的觀點對數(shù)據(jù)建模,主要用于DBMS的設計和實現(xiàn)。,1.3.2 數(shù)據(jù)模型組成要素 數(shù)據(jù)模型通常由數(shù)據(jù)結構、數(shù)據(jù)操作和數(shù)據(jù)的約束條件三大要素組成。 1.數(shù)據(jù)結構 數(shù)據(jù)結構是所研究的對象類型的集合。用于描述系統(tǒng)靜態(tài)特性。 通常按數(shù)據(jù)結構的類型來命名數(shù)據(jù)模型。主要有層次模型、網狀模型、關系模型和面向對象的模型。,,2.數(shù)據(jù)操作 數(shù)據(jù)操作是對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作的集合,包括具體的操作及有關操作規(guī)則。用于描述系統(tǒng)的動態(tài)特性。 數(shù)據(jù)操作主要有兩大類: 檢索(或查找) 更新(包括插入、刪除和修改) 數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號、操作規(guī)則(例如優(yōu)先級等)以及實現(xiàn)操作的語言等。,3.數(shù)據(jù)的約束條件 數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合,完整性規(guī)則給出了數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系應具有的制約、約束和依賴規(guī)則。用于限定和約束建立在該數(shù)據(jù)模型下的數(shù)據(jù)庫的狀態(tài)及其狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。,1.3.3 概念模型,圖3.1.4 現(xiàn)實世界中客觀對象的抽象過程,概念模型用于信息世界建模,是現(xiàn)實世界到信息世界的第一層抽象。概念模型是按用戶的觀點對數(shù)據(jù)和信息建模,它不涉及信息在計算機中的表示問題,是數(shù)據(jù)庫設計人員進行數(shù)據(jù)庫設計的工具。也是用戶和數(shù)據(jù)庫設計人員進行交流的工具。最常用的概念模型是E-R模型。,,1.信息世界的基本概念 實體(Entity):客觀存在并可相互區(qū)分的事物。實體可以是具體的人、事、物,也可以是抽象的概念或聯(lián)系。一名學生,一個部門,學生的一次選課,公司的一次訂貨等都是一個實體。 屬性(Attribute):實體所具有的某一特性。一個實體可以由若干個屬性來描述。例如,學生實體可以由學號、姓名、性別、年齡、所在系和籍貫等屬性描述,如(20020001,張剛,男,20,計算機,天津)這些屬性的組合起來表征了一名學生。 碼(Key):能唯一識別實體的單一屬性或屬性集。例如,學號是學生實體的碼。,域(Domain):屬性取值范圍。例如,學號的域由8位數(shù)字組成的字符串,性別的域為(男,女)。 實體型(Entity Type):具有相同屬性的實體必然具有相同的特征和性質。用實體的名及其屬性名的集合來描述同類實體,稱為實體的型。例如,學生(學號,姓名,性別,年齡,所在系,籍貫)就是一個學生實體的型。 實體集(Entity Set):同型實體的集合。例如,全體學生就是一個實體集。,聯(lián)系(Relationship):在現(xiàn)實世界中,事物內部和事物之間是有聯(lián)系的,這些聯(lián)系在信息世界中反映為實體(型)內部的聯(lián)系和實體(型)之間的聯(lián)系。實體內部的聯(lián)系通常是指組成實體的各個屬性之間的聯(lián)系。實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系。 兩個實體型之間聯(lián)系可以分為三種: (1) 一對一聯(lián)系(1:1) 如果有兩個實體集A 、B , 對于實體集A中的每個實體,在實體集B中至多有一個實體與之有聯(lián)系,反之亦然。則實體集A和B具有一對一的聯(lián)系。記為1:1 。,,(2) 一對多聯(lián)系(1:n) 如果有兩個實體集A、B ,對于實體集A中的每個實體,在實體集B 中有n(n≥0)個實體與之有聯(lián)系,反之對于實體集B中的每個實體,在實體集A中至多有一個實體與之有聯(lián)系。則實體集A和B具有一對多聯(lián)系。記為1:n 。 (3) 多對多聯(lián)系(m:n) 如果有兩個實體集A、B, 對于實體集A 中的每個實體,在實體集B中有n (n≥0) 個實體與之有聯(lián)系,反之亦然。則實體集A 和B之間具有多對多聯(lián)系。記為m:n 。,,,2.概念模型的表示方法 概念模型用于信息世界建模,因此概念模型應該能夠方便、準確地表示出上述信息世界中的常用概念。概念模型有很多中表示方法。最常用的概念模型是P.P.Chen與1976年提出的實體-聯(lián)系方法(Entity-Relationship Approach)。該方法用E-R圖來描述。因此,也稱實體-聯(lián)系模型,簡稱為E-R模型。 實體-聯(lián)系模型直接從現(xiàn)實世界中抽象出實體類型及實體間聯(lián)系,然后用E-R圖表示。E-R圖提供了表示實體型、屬性和聯(lián)系的方法,具體表示為:,,實體型:用矩形框表示,框內寫上實體名 。 屬性:用橢圓框表示,框內寫上屬性名,并用無向邊與其所屬的實體連接起來。 聯(lián)系:用菱形框表示,框內寫上聯(lián)系名,并用無向邊分別與有關的實體連接起來,同時在無向邊旁標上聯(lián)系的類型 ( 1:1,1:n 或 m:n )。 注意:如一個聯(lián)系具有屬性,則這些屬性要用無向邊與該聯(lián)系連接起來。,,E-R圖畫法舉例,如圖3.1.5所示,學生與課程E-R圖(兩個實體型之間聯(lián)系),1.3.4 常用數(shù)據(jù)結構模型 目前數(shù)據(jù)庫領域中常用的數(shù)據(jù)模型有四種: 1. 層次模型(Hierarchical Model) 2. 網狀模型(Network Model) 3. 關系模型(Relational Model) 4. 面向對象的數(shù)據(jù)模型(Object Oriented Model)。,,1.4 數(shù)據(jù)庫系統(tǒng)結構 1.4.1 模式的概念 在數(shù)據(jù)庫中首先要注意區(qū)分“型”(Type)和“值”(Value)的概念。型是指對某一類數(shù)據(jù)的結構和屬性的說明,值是指對應該型的一個具體賦值。 例如,描述學生實體的型為:(學號,姓名,性別,年齡,所在系,籍貫)。而(20020001,張剛,男,20,計算機,天津)則是該型的一個值。,,模式(Schema)是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述,它僅僅涉及型的描述,不涉及具體的值。模式的一個具體的值稱為該模式的一個實例(Instance)。同一個模式可有很多實例。 模式是相對穩(wěn)定的,而實例是相對變動的。因為數(shù)據(jù)庫中的數(shù)據(jù)是在不斷更新的。模式反映的是數(shù)據(jù)庫數(shù)據(jù)的結構及其聯(lián)系,而實例反映的是數(shù)據(jù)庫某一時刻的狀態(tài)。,1.4.2 數(shù)據(jù)庫系統(tǒng)的三級模式結構 數(shù)據(jù)庫系統(tǒng)的三級模式結構是指數(shù)據(jù)庫由外模式、模式和內模式三級構成。如圖所示。,,,1. 模式(Schema) 模式也稱為邏輯模式、概念模式或全局模式。它是對數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。它位于數(shù)據(jù)庫系統(tǒng)模式結構的中間層,既不涉及數(shù)據(jù)的`物理存儲細節(jié)和硬件環(huán)境,也與具體的應用程序以及所使用的應用開發(fā)工具及高級程序設計語言無關。 一個數(shù)據(jù)庫只有一個模式,數(shù)據(jù)庫模式以某一種數(shù)據(jù)模型為基礎,綜合考慮所有用戶的需求,從全局和整體角度將這些需求結合成一個邏輯整體。在模式中不僅要定義數(shù)據(jù)的邏輯結構,例如數(shù)據(jù)記錄由那些數(shù)據(jù)項構成,數(shù)據(jù)項的名字,類型、取值范圍等,而且還要定義數(shù)據(jù)之間的聯(lián)系,定義與數(shù)據(jù)有關的安全性和完整性要求。,,2. 外模式(External Schema) 外模式也稱子模式、局部模式或用戶模式。它是對數(shù)據(jù)庫用戶使用的局部數(shù)據(jù)的邏輯結構和特征描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)的邏輯表示。 外模式通常是模式的子集。根據(jù)用戶和應用的不同,一個數(shù)據(jù)庫中可以建立多個外模式。 外模式是保證數(shù)據(jù)庫安全性的一個有力措施,每個用戶只能訪問所對應外模式中的數(shù)據(jù),數(shù)據(jù)庫中的其余數(shù)據(jù)是不可見的。,,3. 內模式(Internal Schema) 內模式也稱存儲模式或物理模式,它是對數(shù)據(jù)物理結構和存儲方式的描述,是數(shù)據(jù)庫內部的表示方式。例如,數(shù)據(jù)記錄采用什么存儲方式,按照什么方式組織索引,數(shù)據(jù)是否壓縮存儲,是否加密等。一個數(shù)據(jù)庫只有一個內模式。 1.4.3.數(shù)據(jù)庫的二級映像 1. 外模式/模式映像 同一個模式可以對應多個外模式。對于某一個外模式,數(shù)據(jù)庫系統(tǒng)中就有一個外模式/模式映像,它定義了該外模式與模式之間的對應關系。,,當模式改變時(比如增加新的數(shù)據(jù)或改變數(shù)據(jù)的數(shù)據(jù)類型等),DBA對外模式/模式映像做相應的改變,可以使外模式保持不變。因為應用程序是依據(jù)外模式編寫的,從而使應用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。 2. 模式/ 內模式映像 數(shù)據(jù)庫只有一個模式和一個內模式,因此模式/ 內模式映像是唯一的,它定義了數(shù)據(jù)庫全局邏輯結構與存儲結構之間的對應關系。 當內模式改變時(比如數(shù)據(jù)庫的存儲結構改變等),DBA對模式/內模式映像做相應的改變,可以使內模式保持不變,從而使應用程序不必修改,保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。,,1.5 數(shù)據(jù)庫技術的研究領域 數(shù)據(jù)庫技術的研究范圍非常廣泛,概括起來主要有以下三個研究領域: 1.5.1 數(shù)據(jù)庫管理系統(tǒng)(DBMS)軟件的研制 DBMS是數(shù)據(jù)庫系統(tǒng)的基礎和核心。DBMS的研制包括其本身以及相關軟件的研制(例如數(shù)據(jù)庫開發(fā)工具)。研制的目標是擴大系統(tǒng)功能,提高系統(tǒng)性能、可用性和可靠性以及用戶的生產率。,,1.5.2 數(shù)據(jù)庫設計 數(shù)據(jù)庫設計的主要任務是采用某種DBMS,針對某一部門和組織的應用要求,設計和建立一個結構合理、效率較高的數(shù)據(jù)庫及其使用方便、滿足用戶需求的應用系統(tǒng)。這其中主要的研究方向是數(shù)據(jù)庫設計方法學和設計工具等。 1.5.3 數(shù)據(jù)庫理論 數(shù)據(jù)庫理論基礎可以更好地推動數(shù)據(jù)庫技術的發(fā)展,使管理系統(tǒng)的研制更科學化、嚴密化。數(shù)據(jù)庫理論研究主要集中于關系數(shù)據(jù)理論、關系的規(guī)范化理論和優(yōu)化查詢理論等。,,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 計算機 軟件技術 基礎
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.820124.com/p-2883779.html