電子課件-第一章數(shù)據(jù)庫概論_第1頁
電子課件-第一章數(shù)據(jù)庫概論_第2頁
電子課件-第一章數(shù)據(jù)庫概論_第3頁
電子課件-第一章數(shù)據(jù)庫概論_第4頁
電子課件-第一章數(shù)據(jù)庫概論_第5頁
已閱讀5頁,還剩188頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫系統(tǒng)原理計算機科學與技術學院生活中的應用系統(tǒng)購物數(shù)據(jù)庫系統(tǒng)原理銀行數(shù)據(jù)庫系統(tǒng)原理生活中的應用系統(tǒng)學校數(shù)據(jù)庫系統(tǒng)原理生活中的應用系統(tǒng)醫(yī)院數(shù)據(jù)庫系統(tǒng)原理生活中的應用系統(tǒng)應用系統(tǒng)的共同特征對大量數(shù)據(jù)進行有效組織、存儲;具有數(shù)據(jù)輸入、輸出、檢索、存儲的功能

輸入輸出數(shù)據(jù)存儲

管理如何實現(xiàn)這些功能呢?數(shù)據(jù)庫系統(tǒng)原理在使用中需解決以下問題如何描述數(shù)據(jù)?如何組織數(shù)據(jù)?如何存取這些數(shù)據(jù)?應用程序如何訪問這些數(shù)據(jù)?如何分析數(shù)據(jù)和發(fā)現(xiàn)數(shù)據(jù)價值?如何提高大量數(shù)據(jù)的訪問效率?哪些人可以操作哪些數(shù)據(jù)?多人如何同時操作同一數(shù)據(jù)?出現(xiàn)故障怎么辦?數(shù)據(jù)庫系統(tǒng)原理問題的解決方案需要解決的問題對應的解決方案如何描述數(shù)據(jù)?關系數(shù)據(jù)模型(E-R模型)如何組織數(shù)據(jù)?數(shù)據(jù)庫模式設計、規(guī)范化理論如何存取這些數(shù)據(jù)?關系代數(shù)、SQL應用程序如何訪問這些數(shù)據(jù)?數(shù)據(jù)庫開發(fā)技術如何分析數(shù)據(jù)和發(fā)現(xiàn)數(shù)據(jù)價值?數(shù)據(jù)倉庫和數(shù)據(jù)挖掘如何提高大量數(shù)據(jù)的訪問效率?數(shù)據(jù)庫優(yōu)化技術哪些人可以操作哪些數(shù)據(jù)?安全控制多人如何同時操作同一數(shù)據(jù)?并發(fā)控制出現(xiàn)故障怎么辦?數(shù)據(jù)恢復數(shù)據(jù)庫系統(tǒng)原理

內(nèi)容安排

關系系統(tǒng)的查詢優(yōu)化4數(shù)據(jù)庫概論1

SQL語言3

關系模型和關系運算

關系數(shù)據(jù)庫的規(guī)范化理論256

數(shù)據(jù)庫設計7

數(shù)據(jù)庫恢復技術數(shù)據(jù)庫并發(fā)控制89數(shù)據(jù)庫的安全性與完整性

教材《數(shù)據(jù)庫系統(tǒng)與應用》

——高等學校“十二五”規(guī)劃教材趙文濤主編出版社:中國礦業(yè)大學出版社,2012年數(shù)據(jù)庫系統(tǒng)原理

參考書薩師煊、王珊,數(shù)據(jù)庫系統(tǒng)概論(第四版),高等教育出版社,2006H.F.Korth,A.Silberschatz,DatabaseSystemConcepts(Ed.4),McGraw-Hill,1999 中譯本:數(shù)據(jù)庫系統(tǒng)概念(第三版),楊冬青、唐世渭,機械工業(yè)出版社,2000數(shù)據(jù)庫應用技術——SQLServer2005基礎篇,張蒲生,機械工業(yè)出版社,2010SQLServer2005數(shù)據(jù)庫技術,蔣秀英等,清華大學出版社,2010上機實驗安排軟件N1213-16周:周一上午第二大節(jié)606610周四上午第二大節(jié)606610軟件J1213-16周:周一上午第二大節(jié)605周四上午第二大節(jié)605

第一章數(shù)據(jù)庫概論學習目標:掌握數(shù)據(jù)庫的基本概念,了解數(shù)據(jù)庫發(fā)揮的重要作用,對數(shù)據(jù)庫技術有初步的認識。學習重點:

數(shù)據(jù)庫的基本概念數(shù)據(jù)模型的概念及類型數(shù)據(jù)庫系統(tǒng)的三級模式結構

本章內(nèi)容1.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)描述1.3數(shù)據(jù)模型1.4數(shù)據(jù)庫系統(tǒng)結構1.5數(shù)據(jù)庫系統(tǒng)的組成1.6數(shù)據(jù)庫技術的研究領域1.7當前流行的大型數(shù)據(jù)庫產(chǎn)品簡介

第一章數(shù)據(jù)庫概論1.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)描述1.3數(shù)據(jù)模型1.4數(shù)據(jù)庫系統(tǒng)結構1.5數(shù)據(jù)庫系統(tǒng)的組成1.6數(shù)據(jù)庫技術的研究領域1.7當前流行的大型數(shù)據(jù)庫產(chǎn)品簡介數(shù)據(jù)庫技術是計算機科學的重要分支數(shù)據(jù)庫技術是信息系統(tǒng)的核心和基礎,它的出現(xiàn)極大地促進了計算機應用向各行各業(yè)的滲透數(shù)據(jù)庫的建設規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志

第一節(jié)數(shù)據(jù)庫系統(tǒng)概述一、基本概念數(shù)據(jù)數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)

(一)數(shù)據(jù)數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象數(shù)據(jù)的定義描述事物的符號記錄存儲在某一種媒體上能夠識別的物理符號

數(shù)據(jù)的種類數(shù)字、文字、圖形、圖象、聲音數(shù)據(jù)的形式不能完全表達其內(nèi)容數(shù)據(jù)與其語義是不可分的

數(shù)據(jù)舉例數(shù)據(jù)是對現(xiàn)實世界的描述日常生活中常用自然語言描述計算機中將人們對事物感興趣的特征組成一個記錄來描述學生檔案中的學生記錄(李明,男,1972,江蘇,計算機系,1990)數(shù)據(jù)的解釋語義:學生姓名、性別、出生年月、籍貫、所在系別、入學時間解釋:李明是個大學生,1972年出生,江蘇人,1990年考入計算機系(二)數(shù)據(jù)庫人們收集并抽取出一個應用所需要的大量數(shù)據(jù)之后,應將其保存起來以供進一步加工處理,進一步抽取有用信息。數(shù)據(jù)庫的定義數(shù)據(jù)庫(Database,簡稱DB)是長期儲存在計算機內(nèi)、有組織的、可以表現(xiàn)為多種形式的可共享的大量數(shù)據(jù)集合。

數(shù)據(jù)庫(續(xù))數(shù)據(jù)庫的特征數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存可為各種用戶共享冗余度較小數(shù)據(jù)獨立性較高易擴展(三)數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,簡稱DBMS)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它的職能是有效地組織和存儲數(shù)據(jù)、獲取和管理數(shù)據(jù),接受和完成用戶提出的訪問數(shù)據(jù)的各種請求。

數(shù)據(jù)庫管理系統(tǒng)(續(xù))DBMS的主要功能數(shù)據(jù)定義功能:提供數(shù)據(jù)定義語言(DDL),用于定義數(shù)據(jù)庫中的數(shù)據(jù)對象。數(shù)據(jù)操縱功能:提供數(shù)據(jù)操縱語言(DML),用于操縱數(shù)據(jù)實現(xiàn)對數(shù)據(jù)庫的基本操作(查詢、插入、刪除和修改)。數(shù)據(jù)庫的運行控制功能:保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用等。數(shù)據(jù)庫的建立和維護功能:提供實用程序,完成數(shù)據(jù)庫數(shù)據(jù)批量裝載,數(shù)據(jù)庫轉儲,介質(zhì)故障恢復,數(shù)據(jù)庫的重組織和性能監(jiān)視等。(四)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,簡稱DBS)數(shù)據(jù)庫系統(tǒng)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)。在不引起混淆的情況下常常把數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)庫。數(shù)據(jù)庫系統(tǒng)的構成由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構成。硬件、軟件、數(shù)據(jù)和人員

數(shù)據(jù)庫系統(tǒng)(續(xù))數(shù)據(jù)庫系統(tǒng)構成圖示數(shù)據(jù)庫系統(tǒng)在計算機系統(tǒng)中的位置圖示用戶用戶用戶應用系統(tǒng)應用開發(fā)工具數(shù)據(jù)庫管理系統(tǒng)操作系統(tǒng)數(shù)據(jù)庫管理員數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫第一章數(shù)據(jù)庫概論硬件操作系統(tǒng)編譯系統(tǒng)DBMS應用開發(fā)工具應用系統(tǒng)數(shù)據(jù)庫系統(tǒng)在計算機系統(tǒng)中的位置第一章數(shù)據(jù)庫概論二、數(shù)據(jù)管理技術的產(chǎn)生和發(fā)展什么是數(shù)據(jù)管理對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和維護,是數(shù)據(jù)處理的中心問題。數(shù)據(jù)管理技術的發(fā)展過程人工管理階段(40年代中--50年代中)文件系統(tǒng)階段(50年代末--60年代中)數(shù)據(jù)庫系統(tǒng)階段(60年代末--現(xiàn)在)數(shù)據(jù)管理技術的產(chǎn)生和發(fā)展(續(xù))數(shù)據(jù)管理技術的發(fā)展動力應用需求的推動計算機硬件的發(fā)展計算機軟件的發(fā)展(一)人工管理階段時期40年代中--50年代中特點數(shù)據(jù)的管理者:應用程序。數(shù)據(jù)面向的對象:某一應用程序數(shù)據(jù)的共享程度:無共享、冗余度極大數(shù)據(jù)的獨立性:不獨立,完全依賴于程序數(shù)據(jù)的結構化:無結構數(shù)據(jù)控制能力:應用程序自己控制應用程序與數(shù)據(jù)的對應關系(人工管理)應用程序1數(shù)據(jù)集1應用程序2數(shù)據(jù)集2應用程序n數(shù)據(jù)集n...…...…第一章數(shù)據(jù)庫概論(二)文件系統(tǒng)階段時期50年代末--60年代中產(chǎn)生的背景應用需求 科學計算、管理 硬件水平 磁盤、磁鼓 軟件水平 有文件系統(tǒng) 處理方式 聯(lián)機實時處理、批處理

文件系統(tǒng)(續(xù))特點數(shù)據(jù)的管理者:文件系統(tǒng),數(shù)據(jù)可長期保存數(shù)據(jù)面向的對象:某一應用程序數(shù)據(jù)的共享程度:共享性差、冗余度大數(shù)據(jù)的結構化:記錄內(nèi)有結構,整體無結構數(shù)據(jù)的獨立性:獨立性差,數(shù)據(jù)的邏輯結構改變必須修改應用程序數(shù)據(jù)控制能力:應用程序自己控制應用程序與數(shù)據(jù)的對應關系(文件系統(tǒng))應用程序1文件1應用程序2文件2應用程序n文件n存取方法...…...…第一章數(shù)據(jù)庫概論(三)數(shù)據(jù)庫系統(tǒng)時期60年代末以來產(chǎn)生的背景應用背景 大規(guī)模管理 硬件背景 大容量磁盤 軟件背景 數(shù)據(jù)庫管理系統(tǒng) 處理方式 聯(lián)機實時處理,分布處理,批處理 分布式數(shù)據(jù)庫管理傳統(tǒng)的數(shù)據(jù)庫管理分布式數(shù)據(jù)庫管理數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)

三、數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)結構化數(shù)據(jù)共享度高,冗余度低,易擴充 數(shù)據(jù)獨立性高:高度的物理獨立性和一定的邏輯獨立性 數(shù)據(jù)由DBMS統(tǒng)一管理和控制

數(shù)據(jù)結構化數(shù)據(jù)的整體結構化是數(shù)據(jù)庫的主要特征之一,也是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。整體結構化指在數(shù)據(jù)庫中的數(shù)據(jù)不再僅僅針對某一應用,而是面向全組織;不僅數(shù)據(jù)內(nèi)部是結構化的,而且整體是結構化的,數(shù)據(jù)之間是有聯(lián)系的。文件系統(tǒng)記錄內(nèi)部是有結構的,但記錄之間沒有聯(lián)系數(shù)據(jù)存取單位是記錄文件由記錄構成,每個記錄由若干屬性組成。例如:學生管理系統(tǒng)中有三個文件:學生文件Student、課程文件course、學生選課文件sc。student文件的記錄結構:course文件的記錄結構:sc文件的記錄結構:學生編號姓名性別年齡系家庭住址聯(lián)系電話課程編號課程名稱學時數(shù)教材名稱學生編號課程編號學期成績3個文件之間記錄沒有聯(lián)系數(shù)據(jù)結構化(續(xù))數(shù)據(jù)結構化(續(xù))數(shù)據(jù)庫不僅考慮某個應用的數(shù)據(jù)結構,還考慮整個組織的數(shù)據(jù)結構。例如:學校信息系統(tǒng)中的學生數(shù)據(jù)面向各個處室的應用而不僅僅是教務處的一個學生選課應用。不僅描述數(shù)據(jù)本身,而且描述數(shù)據(jù)之間的聯(lián)系數(shù)據(jù)結構化(續(xù))數(shù)據(jù)庫中實現(xiàn)的是數(shù)據(jù)的真正結構化數(shù)據(jù)面向整個組織機構,而不是某個具體應用—可以很好的表示不同類型記錄間的聯(lián)系數(shù)據(jù)的結構用數(shù)據(jù)模型描述,無需程序定義和解釋。數(shù)據(jù)可以變長。數(shù)據(jù)的最小存取單位是數(shù)據(jù)項,并具有靈活的存取方式

數(shù)據(jù)共享共享數(shù)據(jù)可以被多個用戶、多個應用程序共享共享的好處降低數(shù)據(jù)的冗余度,節(jié)省存儲空間冗余:同一數(shù)據(jù)不必要地重復存放避免數(shù)據(jù)間的不一致性不一致:同一數(shù)據(jù)的不同拷貝值不同使系統(tǒng)易于擴充

數(shù)據(jù)獨立性數(shù)據(jù)獨立性:數(shù)據(jù)獨立于具體的應用程序。數(shù)據(jù)庫邏輯結構和物理存儲結構之間的映射關系

數(shù)據(jù)的物理獨立性用戶的應用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。當數(shù)據(jù)的物理存儲改變了,只要邏輯結構不變,應用程序不用改變。

數(shù)據(jù)的邏輯獨立性數(shù)據(jù)的全局邏輯結構獨立于局部邏輯結構。數(shù)據(jù)的全局邏輯結構改變了,用戶程序也可以不變。

數(shù)據(jù)獨立性(續(xù))

應用程序與數(shù)據(jù)的對應關系(數(shù)據(jù)庫系統(tǒng))DBMS應用程序1應用程序2數(shù)據(jù)庫…

數(shù)據(jù)由DBMS統(tǒng)一管理和控制第一章數(shù)據(jù)庫概論

DBMS對數(shù)據(jù)的控制功能數(shù)據(jù)的安全性(Security)保護使每個用戶只能按指定方式使用和處理指定數(shù)據(jù),保護數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。數(shù)據(jù)的完整性(Integrity)檢查數(shù)據(jù)的完整性指數(shù)據(jù)的正確性、有效性和相容性。完整性檢查將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關系。

DBMS對數(shù)據(jù)的控制功能(續(xù))并發(fā)(Concurrency)控制對多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯誤的結果。數(shù)據(jù)庫恢復(Recovery)將數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)。

第一章數(shù)據(jù)庫概論1.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)描述1.3數(shù)據(jù)模型1.4數(shù)據(jù)庫系統(tǒng)結構1.5數(shù)據(jù)庫系統(tǒng)的組成1.6數(shù)據(jù)庫技術的研究領域1.7當前流行的大型數(shù)據(jù)庫產(chǎn)品簡介第二節(jié)數(shù)據(jù)描述將復雜的各種關聯(lián)的事物以計算機和數(shù)據(jù)庫技術所允許的形式存儲在數(shù)據(jù)庫中,經(jīng)歷三個步驟:概念設計邏輯設計一、概念設計中的數(shù)據(jù)描述實體(Entity)/實體集客觀存在并可相互區(qū)別的事物稱為實體??梢允蔷唧w的人、事、物或抽象的概念。屬性(Attribute)實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。鍵(Key)唯一標識實體的最小屬性集稱為鍵。

概念設計中的數(shù)據(jù)描述(續(xù))域(Domain)屬性的取值范圍稱為該屬性的域。實體型(EntityType)用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型。如學生(學號,姓名,性別,出生日期,系)實體集(EntitySet)同型實體的集合稱為實體集。二、邏輯設計中的數(shù)據(jù)描述字段標記實體屬性的命名單位稱為字段或數(shù)據(jù)項。字段是可以命名的最小信息單位

。記錄

字段的有序集合稱為記錄,一般用一個記錄描述一個實體。文件同一類型記錄的集合稱為文件

。關鍵碼(Key)能惟一標識文件中每個記錄的字段或字段集,稱為記錄的關鍵碼(簡稱為鍵)

。邏輯設計中的數(shù)據(jù)描述(續(xù))信息世界機器世界實體記錄屬性字段或數(shù)據(jù)項實體集文件實體鍵記錄鍵機器世界與信息世界的術語對應關系三、物理存儲中的數(shù)據(jù)描述位:一個二進制位字節(jié):8個二進制位

字:若干個字節(jié)塊:內(nèi)存和外存交換信息的最小單位卷:輸入輸出設備裝載的信息

第一章數(shù)據(jù)庫概論1.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)描述1.3數(shù)據(jù)模型1.4數(shù)據(jù)庫系統(tǒng)結構1.5數(shù)據(jù)庫系統(tǒng)的組成1.6數(shù)據(jù)庫技術的研究領域1.7當前流行的大型數(shù)據(jù)庫產(chǎn)品簡介

第三節(jié)數(shù)據(jù)模型在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。通俗地講數(shù)據(jù)模型就是模擬現(xiàn)實世界的抽象記號。數(shù)據(jù)模型應滿足三方面要求能比較真實地模擬現(xiàn)實世界容易為人所理解便于在計算機上實現(xiàn)

一、數(shù)據(jù)模型的定義及組成要素(一)定義數(shù)據(jù)模型是對現(xiàn)實世界中各種事物或實體特征的數(shù)字化模擬和抽象,用以表示現(xiàn)實世界中的實體及實體之間的聯(lián)系,使之存放在計算機中,并通過計算機軟件進行處理。數(shù)據(jù)模型分成兩個不同的層次概念模型也稱信息模型,它是按用戶的觀點來對數(shù)據(jù)和信息建模。邏輯模型主要包括網(wǎng)狀模型、層次模型、關系模型等,它是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模。

數(shù)據(jù)模型(續(xù))客觀對象的抽象過程——兩步抽象現(xiàn)實世界中的客觀對象抽象為概念模型;把概念模型轉換為某一DBMS支持的邏輯模型。概念模型是現(xiàn)實世界到機器世界的一個中間層次。

(二)數(shù)據(jù)模型的組成要素數(shù)據(jù)結構數(shù)據(jù)操作完整性約束

1、數(shù)據(jù)結構什么是數(shù)據(jù)結構對象類型的集合兩類對象與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關的對象與數(shù)據(jù)之間聯(lián)系有關的對象數(shù)據(jù)結構是對系統(tǒng)靜態(tài)特性的描述2、數(shù)據(jù)操作數(shù)據(jù)操作對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作及有關的操作規(guī)則

。數(shù)據(jù)操作的類型查詢更新(包括插入、刪除、修改)數(shù)據(jù)操作是對系統(tǒng)動態(tài)特征的描述。3、數(shù)據(jù)的約束條件數(shù)據(jù)的約束條件一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。如:學生學號唯一;性別的取值只能為男或女;學生的專業(yè)號必須是確實存在的專業(yè)的專業(yè)號。

二、概念模型概念模型的用途及特點數(shù)據(jù)聯(lián)系的描述概念模型的表示方法(E-R圖)(一)概念模型的用途及特點概念模型的用途概念模型用于信息世界的建模是現(xiàn)實世界到機器世界的一個中間層次是數(shù)據(jù)庫設計的有力工具數(shù)據(jù)庫設計人員和用戶之間進行交流的語言對概念模型的基本要求較強的語義表達能力,能夠方便、直接地表達應用中的各種語義知識。簡單、清晰、易于用戶理解。(二)數(shù)據(jù)聯(lián)系的描述聯(lián)系(Relationship)現(xiàn)實世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系。三類實體型間聯(lián)系

一對一聯(lián)系(1:1)一對多聯(lián)系(1:n)多對多聯(lián)系(m:n)1、兩個實體型間的聯(lián)系(1)一對一聯(lián)系

如果對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1:1。實例

班級與班長之間的聯(lián)系:一個班級只有一個正班長,而一個班長只在一個班中任職。兩個實體型間的聯(lián)系(續(xù))(2)一對多聯(lián)系如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系;反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體B有一對多聯(lián)系,記為1:n。實例

班級與學生之間的聯(lián)系:一個班級中有若

干名學生,而每個學生只在一個班級中學

習。兩個實體型間的聯(lián)系(續(xù))(3)多對多聯(lián)系(m:n)如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系;反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體B具有多對多聯(lián)系,記為m:n。實例

課程與學生之間的聯(lián)系:一門課程同時有若干個學生選修,而一個學生可以同時選修多門課程。實體型間聯(lián)系(續(xù))三類聯(lián)系之間的關系m:n聯(lián)系1:1聯(lián)系1:n聯(lián)系特例特例特例兩個實體型間的聯(lián)系(續(xù))兩個實體型之間的三類聯(lián)系聯(lián)系的表示方法示例班級管理班長111:1聯(lián)系課程選修學生mnm:n聯(lián)系班級組成學生1n1:n聯(lián)系班級-班長-學生-課程之間的兩兩聯(lián)系第一章數(shù)據(jù)庫概論2、多個實體型間的聯(lián)系一對一聯(lián)系班級、班長、班主任一對多聯(lián)系課程、教師、參考書多對多聯(lián)系供應商、項目、零件3、同一實體集內(nèi)各實體間的聯(lián)系一對多聯(lián)系實例

職工實體集內(nèi)部具有領導與被領導的聯(lián)系,即某一職工(干部)“領導”若干名職工,而一個職工僅被另外一個職工直接領導,因此這是一對多的聯(lián)系。(三)概念模型的表示方法實體-聯(lián)系方法(E-R方法)是最為常用的概念模型表示方法。用E-R圖來描述現(xiàn)實世界的概念模型。E-R方法也稱為E-R模型。E-R圖提供了表示實體型、屬性和聯(lián)系的方法。E-R圖1、實體型用矩形表示,矩形框內(nèi)寫明實體名。2、屬性用橢圓形表示,并用無向邊將其與相應的實體連接起來。學生教師學生學號姓名性別出生年月入學時間系別E-R圖(續(xù))3、聯(lián)系聯(lián)系本身:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1:1、1:n或m:n)聯(lián)系的屬性:聯(lián)系本身也是一種實體型,也可以有屬性。如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來。E-R圖(續(xù))課程選修學生mn成績供應商項目零件供應供應量mnp第一章數(shù)據(jù)庫概論4、聯(lián)系屬性的表示方法5、建立E-R圖的過程

仔細分析題目,確定其中的實體確定實體的屬性及關鍵字確定實體之間的聯(lián)系,分析聯(lián)系的類型(m:n)分析聯(lián)系是否有屬性組合各個局部構件,畫出題目的完整E-R圖E-R圖(續(xù))6、E-R圖設計實例

例1-1

倉庫管理主要負責產(chǎn)品的入庫、出庫和采購等事項,試畫出倉庫管理相應的E-R圖。分析:①首先確定實體及相應的屬性常見的倉庫管理至少涉及四個實體型:

Procdcts(產(chǎn)品)

Suppliers(供應商)

Employees(倉庫保管員)

storehouse(倉庫)

Products擁有屬性ProductID(產(chǎn)品號),ProductName(產(chǎn)品名),UnitsInStock(庫存量),其中ProductID是關鍵字,用下劃線標出。Suppliers擁有屬性SupplierID(供應商號),CompanyName(公司名),Address(地址),Phone(電話),其中SupplierID是關鍵字。Employees擁有屬性EmployeeID(雇員號),Name(姓名),BirthDate(出生日期),HomePhone(家庭電話),其中EmployeeID是關鍵字。Storehouse擁有屬性StoreID(倉庫號),Adress(地址),Area(面積),其中StoreID是關鍵字。第一章數(shù)據(jù)庫概論實體及相應屬性供應商和產(chǎn)品之間有聯(lián)系Supply(供應)產(chǎn)品和倉庫之間有聯(lián)系Store(存放)倉庫和倉庫保管員之間有聯(lián)系Manage(管理)Supply聯(lián)系擁有屬性Quantity(供應量)Store聯(lián)系擁有屬性Location(存放位置)。詳細分析如下:Supply(Suppliers,Products)假設該聯(lián)系的類別為M:N

Store(Products,Store)假設該聯(lián)系的類別為M:1Manage(Employees,Store)假設該聯(lián)系的類別為1:1

②確定實體間的聯(lián)系及類型③畫出局部E-R圖Storehouse④生成全局E-R圖Quantity課堂練習(E-R圖)一個圖書管理數(shù)據(jù)庫要求提供下述服務:

1)可隨時查詢書庫中現(xiàn)有的書籍的品種、數(shù)量與存放位置。所有各類書籍均可由書號唯一標識。

2)可隨時查詢書籍借還情況。包括借書人單位、姓名、借書證號、借書日期和還書日期。我們約定:任何人可借多種書,任何一種書可為多個人所借,借書證號具有唯一性。

3)當需要時,可隨時通過數(shù)據(jù)庫中保存的出版社的電報編號、電話、郵編及地址等信息向有關書籍的出版社增購書籍。我們約定:一個出版社可出版多種書籍,同一本書僅為一個出版社出版,出版社名具有唯一性。畫出本題目相應的實體-聯(lián)系圖。(1)實體、屬性及關鍵字書籍(書號,書名,品種,數(shù)量,存放位置)借書人(借書證號,姓名,單位)出版社(出版社名,電報編號,電話,郵編,地址)

(2)實體間的聯(lián)系及其屬性和類型

借閱(借書人,書籍)

多對多類型

擁有屬性:借書日期和還書日期

出版(出版社,書籍)

一對多類型

(3)全局E-R圖三、常用的邏輯數(shù)據(jù)模型非關系模型種類層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)數(shù)據(jù)結構:以基本層次聯(lián)系為單位基本層次聯(lián)系:兩個記錄以及它們之間的一對多(包括一對一)的聯(lián)系RiRj雙親結點子女結點一對多的聯(lián)系Lij常用的數(shù)據(jù)模型(續(xù))關系模型(RelationalModel)數(shù)據(jù)結構:表面向對象模型(ObjectOrientedModel)數(shù)據(jù)結構:對象

(一)層次模型層次數(shù)據(jù)模型的數(shù)據(jù)結構多對多聯(lián)系在層次模型中的表示層次數(shù)據(jù)模型的數(shù)據(jù)操縱與完整性約束層次模型的存儲結構層次數(shù)據(jù)模型的優(yōu)缺點1、層次數(shù)據(jù)模型的數(shù)據(jù)結構

滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型。(1)有且只有一個結點沒有雙親結點,這個結點稱為根結點;(2)根以外的其他結點有且只有一個雙親結點。

R1

根結點

R2

兄弟結點

R3

葉結點

R4

兄弟結點

R5

葉結點

葉結點每個結點表示一個記錄類型記錄之間的聯(lián)系用結點之間連線(有向邊)表示聯(lián)系為一對多的聯(lián)系例:教員學生數(shù)據(jù)庫的層次模型根結點子女結點葉結點葉結點由系到教研室、由教研室到教員、由系到學生均是一對多的聯(lián)系。

基本特點:任何一個給定的記錄值只有按其路徑查看時,才能顯示它的全部意義,沒有子女值可以脫離雙親記錄而獨立存在。例:(續(xù))教員學生數(shù)據(jù)庫的一個值

2、多對多聯(lián)系在層次模型中的表示

用層次模型間接表示多對多聯(lián)系表示方法將多對多聯(lián)系分解成一對多聯(lián)系分解方法冗余結點法:通過增加兩個冗余結點將多對多的聯(lián)系轉換成兩個一對多聯(lián)系;虛擬結點法:將冗余結點法中的冗余結點換為虛結點,所謂虛結點就是一個指針元,指向所替代的結點。學生與課程的多對多關系可通過圖表示這兩種分解方法3、層次模型的數(shù)據(jù)操縱與完整性約束數(shù)據(jù)操縱:查詢、插入、刪除、更新。完整性約束條件:無相應的雙親結點值就不能插入子女結點值。如果刪除雙親結點值,則相應的子女結點值也被同時刪除。更新操作時,應更新所有相應記錄,以保證數(shù)據(jù)的一致性。

4、層次模型的存儲結構鄰接法:按照層次樹前序穿越的順序把所有記錄值依次鄰接存放,即通過物理組織空間的位置相鄰來體現(xiàn)(或隱含)層次順序。042鏈接法:用指針來反映數(shù)據(jù)之間的層次聯(lián)系。鏈接法又分為子女-兄弟鏈接法和層次序列鏈接法。子女-兄弟鏈接法

層次模型的存儲結構(續(xù))每個記錄設兩類指針,分別指向最左邊的子女和最近的兄弟。層次序列鏈接法

層次模型的存儲結構(續(xù))按樹的前序穿越順序鏈接各記錄值。5、層次模型的優(yōu)缺點優(yōu)點層次數(shù)據(jù)模型簡單,對具有一對多的層次關系的部門描述自然、直觀,容易理解性能優(yōu)于關系模型,不低于網(wǎng)狀模型層次數(shù)據(jù)模型提供了良好的完整性支持缺點多對多聯(lián)系表示不自然對插入和刪除操作的限制多查詢子女結點必須通過雙親結點層次命令趨于程序化

(二)網(wǎng)狀模型網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結構多對多聯(lián)系在網(wǎng)狀模型中的表示網(wǎng)狀數(shù)據(jù)模型的完整性約束網(wǎng)狀數(shù)據(jù)模型的存儲結構網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點1、網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結構滿足下面兩個條件的基本層次聯(lián)系的集合為網(wǎng)狀模型:允許一個以上的結點無雙親;一個結點可以有多于一個的雙親。R1R2R3R4R5R3R1R1R2R2L1L1L1L2L2L2L3L4L5網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))網(wǎng)狀模型與層次模型的區(qū)別網(wǎng)狀模型允許多個結點沒有雙親結點網(wǎng)狀模型允許結點有多個雙親結點網(wǎng)狀模型允許兩個結點之間有多種聯(lián)系(復合聯(lián)系)網(wǎng)狀模型可以更直接地去描述現(xiàn)實世界層次模型實際上是網(wǎng)狀模型的一個特例

網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))網(wǎng)狀模型的特點只能直接處理一對多的實體聯(lián)系任何記錄值只有按其路徑查看時,才能顯出它的全部意義子女節(jié)點和雙親節(jié)點的聯(lián)系可以不唯一,所以要為每個聯(lián)系命名,并指出與該聯(lián)系有關的雙親記錄和子女記錄。

網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))學生宿舍學生教研室系教師有向邊在DBTG報告中稱為“系(set)”,箭尾記錄稱首記錄,箭頭記錄稱屬記錄,“DBTG系”由一個首記錄帶上若干個屬記錄組成。第一章數(shù)據(jù)庫概論2、多對多聯(lián)系在網(wǎng)狀模型中的表示用網(wǎng)狀模型間接表示多對多聯(lián)系表示方法引入連接記錄,將多對多聯(lián)系直接分解成一對多聯(lián)系例:學生與課程之間的聯(lián)系是多對多的引入連接記錄——選課——它包含屬性學號、課程號、成績。學生和選課之間是一對多的,課程和選課之間也是一對多的。網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))

學號姓名系別課程號課程名學分學號課程號成績S-SCC-SC學生(S)課程(C)選課(SC)學生/選課/課程的網(wǎng)狀數(shù)據(jù)庫模式3、網(wǎng)狀數(shù)據(jù)模型的完整性約束完整性約束條件不嚴格允許插入尚未確定雙親結點值的子女結點值允許只刪除雙親結點值具體的網(wǎng)狀數(shù)據(jù)庫系統(tǒng)(如DBTG)對數(shù)據(jù)操縱加了一些限制,提供了一定的完整性約束。支持記錄碼:唯一標識記錄的數(shù)據(jù)項的集合。保證一個聯(lián)系中雙親記錄和子女記錄之間是一對多的聯(lián)系。可以支持雙親記錄和子女記錄之間某些約束條件。

4、網(wǎng)狀數(shù)據(jù)模型的存儲結構學生-選課-課程網(wǎng)狀數(shù)據(jù)庫的實例:學生記錄有:S1、S2、S3、S4;課程記錄有:C1、C2、C3S1的選課記錄有:S1C1A、S1C2A;S2的選課記錄有:S2C1A、S2C3B;S3的選課記錄有:S3C1B、S3C2B;S4的選課記錄有:S4C1A、S4C2A、S4C3B單向鏈接法實線鏈表示S-SC聯(lián)系,如把S1學生和他的選課記錄鏈接起來;虛線鏈表示C-SC聯(lián)系,如把C1課程和選修了C1課程的學生記錄鏈接起來。學生記錄課程記錄選課記錄5、網(wǎng)狀模型的優(yōu)缺點優(yōu)點能夠更為直接地描述現(xiàn)實世界,如一個結點可以有多個雙親。具有良好的性能,存取效率較高。缺點結構比較復雜,而且隨著應用環(huán)境的擴大,數(shù)據(jù)庫的結構就變得越來越復雜,不利于最終用戶掌握。DDL、DML語言復雜,用戶不容易使用。(三)關系模型關系數(shù)據(jù)模型的數(shù)據(jù)結構關系數(shù)據(jù)模型的操縱關系數(shù)據(jù)模型的完整性約束關系數(shù)據(jù)模型的存儲結構關系數(shù)據(jù)模型的優(yōu)缺點

1、關系數(shù)據(jù)模型的數(shù)據(jù)結構關系模型的基本數(shù)據(jù)結構關系模型的基本概念實體及實體間的聯(lián)系的表示方法關系必須是規(guī)范化的

關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))(1)關系模型的基本數(shù)據(jù)結構在用戶觀點下,關系模型中數(shù)據(jù)的邏輯結構是一張二維表,它由行和列組成。學生登記表學

號姓

名年

齡性

別系

名年

級95004王小明19女社會學9595006黃大鵬20男商品學9595008張文斌18女法律學95………………關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))(2)關系模型的基本概念關系(Relation)一個關系對應通常說的一張表。元組(Tuple)表中的一行即為一個元組。屬性(Attribute)表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名。主鍵(Key)/主碼/主關鍵字表中的某個屬性組,它可以唯一確定一個元組。關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))關系模型的基本概念(續(xù))域(Domain)屬性的取值范圍。分量元組中的一個屬性值。關系模式對關系的描述表示方法

關系名(屬性1,屬性2,…,屬性n)

例如:學生(學號,姓名,年齡,性別,系,年級)關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))(3)實體及實體間的聯(lián)系的表示方法實體型:直接用關系(表)表示。屬性:用屬性名表示。聯(lián)系:一對一聯(lián)系:隱含在實體對應的關系中。一對多聯(lián)系:隱含在實體對應的關系中。多對多聯(lián)系:直接用關系表示。關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))例1:系、系主任、系與系主任間的一對一聯(lián)系系(系號,系名,系主任,辦公地點)例2:系、學生、系與學生之間的一對多聯(lián)系系(系號,系名,系主任,辦公地點)學生(學號,姓名,年齡,性別,系號,年級)

關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))例3:學生、課程、學生與課程之間的多對多聯(lián)系

學生(學號,姓名,年齡,性別,系號,年級)

課程(課程號,課程名,學分)

選修(學號,課程號,成績)

關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))

表中有表——非規(guī)范化的例子(4)關系必須是規(guī)范化的

即必須滿足一定的規(guī)范條件。最基本的規(guī)范條件:關系的每一個分量必須是一個不可分的數(shù)據(jù)項。第一章數(shù)據(jù)庫概論

關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))關系和現(xiàn)實生活中的表格所使用的術語對比關系術語一般表格術語關系名關系模式關系元組屬性屬性名屬性值分量非規(guī)范關系表名表頭(表格的描述)(一張)二維表記錄或行列列名列值一條記錄中的一個列值表中有表第一章數(shù)據(jù)庫概論2、關系模型的數(shù)據(jù)操縱查詢、插入、刪除、更新數(shù)據(jù)操作是集合操作,操作對象和操作結果都是關系,即若干元組的集合。存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細說明“怎么干”

3、關系模型的完整性約束實體完整性參照完整性用戶定義的完整性4、關系數(shù)據(jù)模型的存儲結構在關系數(shù)據(jù)模型中,實體及實體間的聯(lián)系都用表來表示。在物理組織中,有的DBMS一個表對應一個操作系統(tǒng)文件,自己設計表、索引等存儲結構。5、關系模型的優(yōu)缺點優(yōu)點建立在嚴格的數(shù)學概念的基礎上概念單一。數(shù)據(jù)結構簡單、清晰,用戶易懂易用實體和各類聯(lián)系都用關系來表示。對數(shù)據(jù)的檢索結果也是關系。關系模型的存取路徑對用戶透明具有更高的數(shù)據(jù)獨立性,更好的安全保密性簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作

關系模型的優(yōu)缺點(續(xù))缺點存取路徑對用戶透明導致查詢效率往往不如非關系數(shù)據(jù)模型為提高性能,必須對用戶的查詢請求進行優(yōu)化增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度

(四)面向對象數(shù)據(jù)模型在面向對象數(shù)據(jù)模型中,基本結構是對象而不是記錄,一切事物、概念都可以看作對象。一個對象不僅包括描述它的數(shù)據(jù),還包括對它進行操作方法的定義。一個面向對象數(shù)據(jù)模型是用面向對象觀點來描述現(xiàn)實世界實體(對象)的邏輯組織、對象間限制、聯(lián)系等的模型。優(yōu)點:能完整地描述現(xiàn)實世界的數(shù)據(jù)結構,具有豐富的表達能力。缺點:相對比較復雜,涉及的知識面較多,尚未普及。

小結數(shù)據(jù)模型是對現(xiàn)實世界進行抽象的工具,用于描述現(xiàn)實世界的數(shù)據(jù)、數(shù)據(jù)聯(lián)系、數(shù)據(jù)語義和數(shù)據(jù)約束等的方面的內(nèi)容。E-R模型是最常用的概念模型,關系模型是當前的主流模型,面向對象(OODB)是今后發(fā)展的方向。

以學生成績管理為例,對本章的E-R模型、層次數(shù)據(jù)模型、網(wǎng)狀數(shù)據(jù)模型、關系數(shù)據(jù)模型、面向對象數(shù)據(jù)模型進行總結。1、E-R模型圖1學生選課的局部E-R圖圖1-17教師任課的局部E-R圖系系2、層次數(shù)據(jù)模型(分解法)

1m1n3、網(wǎng)狀數(shù)據(jù)模型

4、關系數(shù)據(jù)模型

5、面向對象數(shù)據(jù)模型

第一章數(shù)據(jù)庫概論1.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)描述1.3數(shù)據(jù)模型1.4數(shù)據(jù)庫系統(tǒng)結構1.5數(shù)據(jù)庫系統(tǒng)的組成1.6數(shù)據(jù)庫技術的研究領域1.7當前流行的大型數(shù)據(jù)庫產(chǎn)品簡介

1.4數(shù)據(jù)庫系統(tǒng)結構從數(shù)據(jù)庫管理系統(tǒng)角度看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結構,這是數(shù)據(jù)庫管理系統(tǒng)內(nèi)部的系統(tǒng)結構。從數(shù)據(jù)庫最終用戶角度看(數(shù)據(jù)庫系統(tǒng)外部的體系結構),數(shù)據(jù)庫系統(tǒng)的結構分為:§單用戶結構§主從式結構§分布式結構§客戶/服務器§瀏覽器/應用服務器/數(shù)據(jù)庫服務器多層結構等數(shù)據(jù)庫系統(tǒng)結構(續(xù))數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)的三級模式結構數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性數(shù)據(jù)庫的外部體系結構一、數(shù)據(jù)庫系統(tǒng)模式的概念1、“型”和“值”的概念型(Type)對某一類數(shù)據(jù)的結構和屬性的說明值(Value)是型的一個具體賦值例如:學生記錄記錄型:(學號,姓名,性別,系別,年齡,籍貫)該記錄型的一個記錄值:(900201,李明,男,計算機,22,江蘇)數(shù)據(jù)庫系統(tǒng)模式的概念(續(xù))2、模式的概念(Schema)數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述是型的描述反映的是數(shù)據(jù)的結構及其聯(lián)系模式是相對穩(wěn)定的例如:在學生選課數(shù)據(jù)庫模式中,包含學生記錄、課程記錄和學生選課記錄。

數(shù)據(jù)庫系統(tǒng)模式的概念(續(xù))3、模式的實例(Instance)模式的一個具體值反映數(shù)據(jù)庫某一時刻的狀態(tài)同一個模式可以有很多實例實例隨數(shù)據(jù)庫中的數(shù)據(jù)的更新而變動例如:2013年有一個學生選課數(shù)據(jù)庫的實例,該實例包含了2013年學校中所有學生的記錄、學校開設的所有課程的記錄和所有學生選課的記錄。數(shù)據(jù)庫系統(tǒng)結構(續(xù))數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)的三級模式結構數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性數(shù)據(jù)庫的外部體系結構

兩層結構系統(tǒng)文件系統(tǒng)階段:應用程序嚴重依賴數(shù)據(jù)的存儲結構。兩層結構系統(tǒng):應用程序分成兩部分(用戶程序和存儲子程序)概念文件是存儲文件的抽象,只包含用戶有用的數(shù)據(jù),是用戶存取存儲文件的結構或框架。存儲程序操作存儲文件(決定存儲的組織方法或存儲結構)。存儲數(shù)據(jù)獨立性:存儲文件結構變化不影響用戶程序。用戶程序操作物理上并不存在的概念文件兩層結構系統(tǒng)存在的問題每個用戶程序并不一定使用概念文件中的全部數(shù)據(jù)字段,不同的用戶程序可能使用不同的字段集合。可以把每個應用程序訪問的字段集合看作是一個獨立的文件,形成三級結構系統(tǒng)。三層結構把每個應用程序訪問的字段集合看做是一個獨立的文件,稱為外部文件,是概念文件的部分抽取。通過概念層的Conceptual-Routine程序完成對概念文件的訪問,通過調(diào)用存儲層的Storage-Routine完成對存儲文件的訪問。完成外部層到概念層的映射完成概念層到存儲層的映射概念數(shù)據(jù)獨立性:概念文件結構發(fā)生變化不影響外部文件。二、數(shù)據(jù)庫系統(tǒng)的三級模式結構應用A

外模式/模式映象模式/內(nèi)模式映象數(shù)據(jù)庫應用B應用C應用D應用E外模式1外模式2外模式3模式內(nèi)模式

1.模式(Schema)模式的定義數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述所有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的需求一個數(shù)據(jù)庫只有一個模式模式的地位:是數(shù)據(jù)庫系統(tǒng)模式結構的中間層與數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境無關與具體的應用程序、開發(fā)工具及高級程序設計語言無關定義模式包含的內(nèi)容數(shù)據(jù)的邏輯結構(數(shù)據(jù)項的名字、類型、取值范圍等)數(shù)據(jù)之間的聯(lián)系數(shù)據(jù)有關的安全性、完整性要求

2.外模式(ExternalSchema)外模式(也稱子模式或用戶模式)是數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結構和特征的描述。數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)的邏輯表示。

外模式(續(xù))模式與外模式的關系:一對多外模式通常是模式的子集。一個數(shù)據(jù)庫可以有多個外模式。反映了不同的用戶的應用需求、看待數(shù)據(jù)的方式、對數(shù)據(jù)保密的要求。對模式中同一數(shù)據(jù),在外模式中的結構、類型、長度、保密級別等都可以不同。外模式與應用的關系:一對多同一外模式也可以為某一用戶的多個應用系統(tǒng)所使用但一個應用程序只能使用一個外模式。

外模式(續(xù))外模式的用途保證數(shù)據(jù)庫安全性的一個有力措施。每個用戶只能看見和訪問所對應的外模式中的數(shù)據(jù)。數(shù)據(jù)的邏輯獨立性。模式、外模式舉例學生教務管理數(shù)據(jù)庫模式:學生(學號,姓名,性別……專業(yè)編號,班級,宿舍,家庭住址聯(lián)系電話,是否黨員……)教師(教師號,姓名,性別……工作時間,系號,專業(yè)編號,崗位,職稱,職務,最高學歷)系(系號,系別名稱)專業(yè)(專業(yè)編號,專業(yè)名稱,系號,專業(yè)類型)教室(教室號,容納人數(shù),是否多媒體)課程(課程號,課程名,學時)選課(課程號,學號,成績)課程安排(課程號,教師號,教室號,時間)模式、外模式舉例學生教務管理數(shù)據(jù)庫外模式:(1)在學生選課應用中學生用戶外模式:學生(學號,姓名,專業(yè)編號)課程安排(課程號,課程名,學時,教師號,教室號)教師用戶外模式:教師(教師號,姓名,系號,專業(yè)編號,職稱)課程安排(課程號,課程名,學時,學生班級,

教室號,時間)模式、外模式舉例學生教務管理數(shù)據(jù)庫外模式:(2)在學生成績管理應用中學生用戶外模式:課程(課程號,課程名,成績)教師用戶外模式:課程(課程號,課程名,班級)

3.內(nèi)模式(InternalSchema)內(nèi)模式(也稱存儲模式)是數(shù)據(jù)物理結構和存儲方式的描述是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式記錄的存儲方式(堆存儲,順序存儲,屬性值聚簇存儲)索引的組織方式(按照B+樹結構存儲,按hash方法存儲)數(shù)據(jù)是否壓縮存儲數(shù)據(jù)是否加密一個數(shù)據(jù)庫只有一個內(nèi)模式例如學生記錄,如果按堆存儲,則插入一條新記錄總是放在學生記錄存儲的最后,如右圖所示。

記錄的存儲方式如果按學號升序存儲,則插入一條記錄就要找到它應在的位置插入,如右圖所示。記錄的存儲方式(續(xù))如果按照學生年齡聚簇存放,假如新插入的S3是16歲,則應插入的位置如右圖所示。記錄的存儲方式(續(xù))數(shù)據(jù)庫系統(tǒng)結構(續(xù))數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)的三級模式結構數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性數(shù)據(jù)庫系統(tǒng)外部體系結構三、數(shù)據(jù)庫二級映象與數(shù)據(jù)獨立性三級模式是對數(shù)據(jù)的三個抽象級別。二級映象在DBMS內(nèi)部實現(xiàn)這三個抽象層次的聯(lián)系和轉換外模式/模式映象模式/內(nèi)模式映象二級映像功能保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)具有較高的邏輯獨立性和物理獨立性。

1.外模式/模式映象什么是外模式/模式映象定義外模式與模式之間的對應關系每一個外模式都對應一個外模式/模式映象映象定義通常包含在各自外模式的描述中外模式/模式映象的用途:保證數(shù)據(jù)的邏輯獨立性當模式改變時,數(shù)據(jù)庫管理員修改有關的外模式/模式映象,使外模式保持不變應用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。

2.模式/內(nèi)模式映象什么是模式/內(nèi)模式映象模式/內(nèi)模式映象定義了數(shù)據(jù)全局邏輯結構與存儲結構之間的對應關系。數(shù)據(jù)庫中模式/內(nèi)模式映象是唯一的該映象定義通常包含在模式描述中模式/內(nèi)模式映象的用途:保證數(shù)據(jù)的物理獨立性當數(shù)據(jù)庫的存儲結構改變了(例如選用了另一種存儲結構),數(shù)據(jù)庫管理員修改模式/內(nèi)模式映象,使模式保持不變。應用程序不受影響。保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。3.數(shù)據(jù)庫管理系統(tǒng)的基本結構

數(shù)據(jù)庫控制系統(tǒng)數(shù)據(jù)庫存儲系統(tǒng)當一個用戶程序通過DBMS讀取一條記錄時發(fā)生的一系列事件:(1)用戶程序A向DBMS發(fā)出讀一條記錄的指令。(2)DBCS分析所接到的指令,訪問對應的外部模式。(3)DBCS完成外部模式到概念模式的轉換,決定訪問哪些概念文件。(4)由DBSS完成概念模式到存儲模式的轉換,并決定訪問哪些存儲文件。(5)DBSS調(diào)用存取方法,通過操作系統(tǒng)將讀取的記錄送到系統(tǒng)緩沖區(qū)。(6)用戶程序從系統(tǒng)緩沖區(qū)得到所需記錄和DBMS返回的狀態(tài)值。(7)用戶程序在工作區(qū)中使用得到的記錄。數(shù)據(jù)庫系統(tǒng)結構(續(xù))數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)的三級模式結構數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性數(shù)據(jù)庫系統(tǒng)外部體系結構四、數(shù)據(jù)庫系統(tǒng)外部的體系結構單用戶結構主從式結構分布式結構客戶/服務器結構瀏覽器/服務器結構

1.單用戶數(shù)據(jù)庫系統(tǒng)整個數(shù)據(jù)庫系統(tǒng)(應用程序、DBMS、數(shù)據(jù))都裝在一臺計算機上,為一個用戶獨占,不同機器之間不能共享數(shù)據(jù)。早期的最簡單的數(shù)據(jù)庫系統(tǒng)

2.主從式結構的數(shù)據(jù)庫系統(tǒng)一個主機帶多個終端的多用戶結構數(shù)據(jù)庫系統(tǒng),包括應用程序、DBMS、數(shù)據(jù),都集中存放在主機上,所有處理任務都由主機來完成。各個用戶通過主機的終端并發(fā)地存取數(shù)據(jù)庫,共享數(shù)據(jù)資源。

3.分布式結構的數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)在邏輯上是一個整體,但物理地分布在計算機網(wǎng)絡的不同結點上。網(wǎng)絡中的每個結點都可以獨立處理本地數(shù)據(jù)庫中的數(shù)據(jù),執(zhí)行局部應用同時也可以同時存取和處理多個異地數(shù)據(jù)庫中的數(shù)據(jù),執(zhí)行全局應用

分布式數(shù)據(jù)庫結構

4.客戶/服務器結構的數(shù)據(jù)庫系統(tǒng)把DBMS功能和應用分開網(wǎng)絡中某個(些)結點上的計算機專門用于執(zhí)行DBMS功能,稱為數(shù)據(jù)庫服務器,簡稱服務器其他結點上的計算機安裝DBMS的外圍應用開發(fā)工具,負責數(shù)據(jù)的輸入、運算和輸出,支持用戶的應用,稱為客戶機

客戶/服務器結構的數(shù)據(jù)庫系統(tǒng)(續(xù))客戶/服務器數(shù)據(jù)庫系統(tǒng)的種類集中的服務器結構在網(wǎng)絡中僅有一臺數(shù)據(jù)庫服務器,而客戶機有多臺分布的服務器結構在網(wǎng)絡中有多臺數(shù)據(jù)庫服務器分布的服務器

溫馨提示

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

評論

0/150

提交評論