




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
AnIntroductiontoDatabaseSystems中國人民大學信息學院原版華中科技大學計算機學院吳海修改版SchoolofComputerScienceandTechnology,HUST
2016數據庫系統概論教材及參考書(1)教材王珊,薩師煊:數據庫系統概論(第五版)
高等教育出版社,2014.9參考書數據庫系統概念.Abraham,Silberschatz等著,楊冬青,唐世渭等譯,機械工業出版社,任何一個版本其它數據庫系統原理教程等教材及參考書(2)上機軟件SQLServer2008/2012/2014/2***Oracle10g/11g/12c/*軟件安裝過程中,可能出現一系列問題,請注意旁邊同時保持一臺能夠上網查詢的機器*/學習方式課堂教學
(啟發式、討論式,考勤做為平時成績之一部分)讀書
(預習、復習)實驗
(綜合練習,課程設計)成績評定平時成績(書面作業、上機練習、考勤、綜合練習)期末考試總評=平時成績*0.2+期末考試*0.8課程目標了解,并結合關系型數據庫系統深入理解數據庫系統的基本概念,原理和方法。掌握關系數據模型及關系數據語言,能熟練應用SQL語言表達各種數據操作。掌握E-R模型的概念和方法,關系數據庫規范化理論和數據庫設計方法,通過上機實習的訓練,初步具備進行數據庫應用系統開發的能力。了解數據庫系統的查詢優化、恢復、并發控制等技術以及最新的數據庫技術內容安排(1)基礎篇第一章緒論第二章關系數據庫第三章關系數據庫標準語言SQL第四章數據庫安全性第五章數據庫完整性設計與應用開發篇第六章關系數據理論第七章數據庫設計*第八章數據庫編程內容安排(2)系統篇第九章關系查詢處理和查詢優化第十章數據庫恢復技術第十一章并發控制*第十二章數據庫管理系統新技術篇*第十*章……第一至第十一章是本科專業的基本教程(書中有*號的部分除外),第十二至第十六章是高級教程數據庫系統概論AnIntroductiontoDatabaseSystems第一章緒論第一章緒論1.1數據庫系統概述1.2數據模型1.3數據庫系統結構1.4數據庫系統的組成1.5小結數據庫簡介數據庫技術產生于六十年代末,是數據管理的最新技術,是計算機科學的重要分支。數據庫技術是信息系統的核心和基礎,它的出現極大地促進了計算機應用向各行各業的滲透。數據庫的建設規模、數據庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志。第一章緒論1.1數據庫系統概述
1.1.1四個基本概念
1.1.2數據管理技術的產生和發展
1.1.3數據庫系統的特點
1.1.1四個基本概念數據(Data)數據庫(Database)數據庫管理系統(DBMS)數據庫系統(DBS)一、數據人類生存的世界是一個物質的世界,同時也是一個信息的世界,描述現實世界信息最準確的工具是數據。數據的定義描述事物的符號記錄數據的種類文本、圖形、圖像、音頻、視頻、學生的檔案記錄、貨物的運輸情況等數據的特點數據與其語義是不可分的數據舉例數據的含義稱為數據的語義,數據與其語義是不可分的。例如93是一個數據語義1:學生某門課的成績語義2:某人的體重語義3:計算機系2003級學生人數語義4:請同學給出。。。數據舉例數據的含義(語義)就是信息,數據與其語義不可分(0005794,601,周濟,1,1946.08.26,01)(工號,部門編號,姓名,性別,出生日期,民族)校辦公室男漢族數據舉例某檔案中的一條記錄(李明,男,197205,江蘇南京市,計算機系,1990)語義:學生姓名、性別、出生年月、籍貫、所在院系、入學時間解釋:李明是個大學生,1972年5月出生,江蘇南京市人,1990年考入計算機系請給出另一個解釋和語義數據與信息信息與數據的聯系數據是信息的符號表示,或稱載體信息是數據的內涵,是數據的語義解釋數據是符號化的信息信息是語義化的數據例,一幅黑白圖象數據——黑白點陣信息——臉譜更多的思考:信息與知識知識“行動的能力”“可以輔助我們作出決策或采取行動的有很高價值的一種信息形態”可以很快地將信息從一個地方轉移到另一個地方,但將知識從一個人轉移給另一個人經常是很困難和很慢的感知信息學習知識更多的思考:信息與知識信息管理信息管理通過收集、處理、濃縮信息以達到有效的管理知識管理知識管理的焦點是通過信息的收集、存儲、發布、重用等獲得人的交流與知識共享達到知識的創新目的知識管理是一個過程,個人通過這一過程學習新知識和獲得新經驗,并將這些新知識和新經驗反應出來,進行共享,以用來促進培養、增強個人的知識和機構組織的價值知識管理應該是組織有意識采取的一種戰略,它保證能夠在最需要的時間將最需要的知識傳送給最需要的人。這樣可以幫助人們共享信息,并進而將之通過不同的方式付諸實踐,最終達到提高組織業績的目的二、數據庫數據庫的定義數據庫(Database,簡稱DB)是長期儲存在計算機內、有組織的、可共享的大量數據的集合。數據(Data)是數據庫中存儲的基本對象數據庫的基本特征數據按一定的數據模型組織、描述和儲存可為各種用戶共享冗余度較小數據獨立性較高易擴展三、數據庫管理系統什么是DBMS位于用戶與操作系統之間的一層數據管理軟件。是基礎軟件,是一個大型復雜的軟件系統
DBMS的用途科學地組織和存儲數據、高效地獲取和維護數據硬件平臺基礎軟件平臺軟件基礎構架平臺應用軟件平臺軟件產品協同軟件辦公軟件數據庫系統操作系統
中間件應用服務器數據庫在計算機系統中的位置DBMS的主要功能數據定義功能提供數據定義語言(DDL)
定義數據庫中的數據對象數據組織、存儲和管理
分類組織、存儲和管理各種數據確定組織數據的文件結構和存取方式實現數據之間的聯系提供多種存取方法提高存取效率DBMS的主要功能數據操縱功能提供數據操縱語言(DML)實現對數據庫的基本操作(查詢、插入、刪除和修改)數據庫的事務管理和運行管理數據庫在建立、運行和維護時由DBMS統一管理和控制保證數據的安全性、完整性、多用戶對數據的并發使用發生故障后的系統恢復DBMS的主要功能數據庫的建立和維護功能(實用程序)數據庫初始數據裝載轉換數據庫轉儲介質故障恢復數據庫的重組織性能監視分析等其它功能
DBMS與網絡中其它軟件系統的通信兩個DBMS系統的數據轉換異構數據庫之間的互訪和互操作四、數據庫系統什么是數據庫系統(DatabaseSystem,簡稱DBS)
在計算機系統中引入數據庫后的系統構成數據庫系統的構成數據庫數據庫管理系統(及其開發工具)應用系統數據庫管理員
數據庫
應用系統應用開發工具
操作系統
數據庫管理系統
數據庫管理員用戶用戶用戶
數據庫系統1.1數據庫系統概述
1.1.1四個基本概念
1.1.2數據管理技術的產生和發展
1.1.3數據庫系統的特點1.1.2數據管理技術的產生和發展什么是數據管理對數據進行分類、組織、編碼、存儲、檢索和維護數據處理的中心問題數據管理技術的發展過程人工管理階段(20世紀40年代中--50年代中)文件系統階段(20世紀50年代末--60年代中)數據庫系統階段(20世紀60年代末--現在)1.1.2數據管理技術的產生和發展OSDBMS手工管理文件管理數據庫管理1.1.2數據管理技術的產生和發展學習要點各階段的技術及應用背景計算機應用范圍外存儲設備數據管理軟件各個階段的差別體現誰管理數據數據面向誰數據與應用的獨立性1.1.2數據管理技術的產生和發展數據管理技術的發展動力應用需求的推動計算機硬件的發展計算機軟件的發展一、人工管理階段時期20世紀40年代中--50年代中產生的背景應用需求 科學計算 硬件水平 無直接存取存儲設備軟件水平 沒有操作系統 處理方式 批處理 一、人工管理階段背景計算機主要用于科學計算數據量小、結構簡單,如高階方程、曲線擬和等外存為順序存取設備磁帶、卡片、紙帶,沒有磁盤等直接存取設備沒有操作系統,沒有數據管理軟件用戶用機器指令編碼,通過紙帶機輸入程序和數據,程序運行完畢后,由用戶取走紙帶和運算結果,再讓下一用戶上機操作一、人工管理階段特點用戶完全負責數據管理工作數據的組織、存儲結構、存取方法、輸入輸出等數據完全面向特定的應用程序每個用戶使用自己的數據,數據不保存,用完就撤走數據與程序沒有獨立性程序中存取數據的子程序隨著存儲結構的改變而改變磁帶的特點優點:廉價地存放大容量數據缺點:順序訪問;1%所需,100%訪問一、人工管理階段訪問數據2訪問數據1訪問數據n人工管理階段(續)特點數據的管理者:用戶(程序員),數據不保存數據面向的對象:某一應用程序數據的共享程度:無共享、冗余度極大數據的獨立性:不獨立,完全依賴于程序數據的結構化:無結構數據控制能力:應用程序自己控制應用程序與數據的對應關系(人工管理階段)
應用程序1數據集1應用程序2數據集2應用程序n數據集n...…...…人工管理階段應用程序與數據之間的對應關系
二、文件系統階段時期20世紀50年代末--60年代中產生的背景應用需求 科學計算、管理 硬件水平 磁盤、磁鼓 軟件水平 有文件系統 處理方式 聯機實時處理、批處理
二、文件系統階段背景計算機不但用于科學計算,還用于管理外存有了磁盤、磁鼓等直接存取設備直接存取設備(DASD)無須順序存取由地址直接訪問所需記錄有了專門管理數據的軟件,一般稱為文件系統文件存儲空間的管理目錄管理文件讀寫管理文件保護向用戶提供操作接口二、文件系統階段特點系統提供一定的數據管理功能存取方法(索引文件、鏈接文件、直接存取文件、倒排文件等)支持對文件的基本操作(增、刪、改、查等),用戶程序不必考慮物理細節數據的存取基本上以記錄為單位數據仍是面向應用的一個數據文件對應一個用戶程序數據與程序有一定的獨立性文件的邏輯結構與存儲結構由系統進行轉換,數據在存儲上的改變不一定反映在程序上二、文件系統階段
存取方式程序1程序2程序n數據2數據1數據n二、文件系統階段數據與程序的獨立性差文件系統的出現并沒有從根本上改變數據與程序緊密結合的狀況,數據的邏輯結構改變則必須修改應用程序文件系統只是解脫了程序員對物理設備存取的負擔,它并不理解數據的語義,只負責存儲數據的語義信息只能由程序來解釋,也就是說,數據收集以后怎么組織,以及數據取出來之后按什么含義應用,只有全權管理它的程序知道。一個應用若想共享另一個應用生成的數據,必須同另一個應用溝通,了解數據的語義與組織方式二、文件系統階段數據的共享性差,冗余度大數據面向應用即使不同應用程序所需要的數據有部分相同時,也必須建立各自的文件,而不能共享相同的數據數據孤立數據分散管理,許多文件,許多數據格式數據的不一致性由于數據存在很多副本,給數據的修改與維護帶來了困難,容易造成數據的不一致性文件系統階段特點數據的管理者:文件系統,數據可長期保存數據面向的對象:應用程序,應用程序自己控制數據數據的共享程度:共享性差、冗余度大數據的結構化:記錄內有結構,整體無結構數據的獨立性:獨立性差,數據的邏輯結構改變必須修改應用程序數據的一致性:所有文件副本必須同時更新文件系統中數據的結構記錄內有結構。數據的結構是靠程序定義和解釋的。數據只能是定長的。可以間接實現數據變長要求,但訪問相應數據的應用程序復雜了。文件間是獨立的,因此數據整體無結構。可以間接實現數據整體的有結構,但必須在應用程序中對描述數據間的聯系。數據的最小存取單位是記錄。三、數據庫系統階段時期20世紀60年代末以來產生的背景應用背景 大規模管理 硬件背景 大容量磁盤、磁盤陣列 軟件背景 有數據庫管理系統 處理方式 聯機實時處理,分布處理,批處理三、數據庫系統階段背景計算機管理的數據量大,關系復雜,共享性要求強(多種應用、不同語言共享數據)外存有了大容量磁盤,光盤軟件價格上升,硬件價格下降,編制和維護軟件及應用程序成本相對增加,其中維護的成本更高,力求降低三、數據庫系統階段數據庫(舉例)三、數據庫系統階段現實生活中,人們收集并抽取出一個應用所需要的大量數據之后,應將其保存起來以供進一步加工處理,進一步抽取有用信息。原來的數據管理技術不在適合海量數據的管理,數據庫技術逐漸發展起來。人們借助于計算機和數據庫技術,方便和充分地利用這些寶貴的信息資源。三、數據庫系統階段數據庫的定義數據庫(Database,簡稱DB)是長期儲存在計算機內、有組織的、可共享的大量數據集合數據庫的特征數據庫的特征數據按一定的數據模型組織、描述和儲存可為各種用戶共享,冗余度較小數據獨立性較高易擴展……三、數據庫系統階段特點數據結構化數據的共享性高,冗余度低,易擴充數據獨立性高產生了數據庫管理系統(DataBaseManagementSystem,即DBMS),數據由DBMS統一管理三、數據庫系統階段數據庫管理系統(DBMS)系統軟件,數據庫系統的一個重要組成部分科學地組織和存儲數據,高效地獲取和維護數據位于用戶與操作系統之間具有下述功能:數據定義功能–DDL(如Create)數據操作功能–DML(如Select,Delete,Insert,Update)數據庫的運行管理數據庫的建立和維護功能三、數據庫系統階段數據庫觀點數據不是依賴于處理過程的附屬品,而是現實世界中獨立存在的對象數據1DBMS統一存取數據2數據n程序2程序1程序n1.1數據庫系統概述
1.1.1四個基本概念
1.1.2數據管理技術的產生和發展
1.1.3數據庫系統的特點1.1.3數據庫系統的特點數據結構化數據的共享性高,冗余度低,易擴充數據獨立性高數據由DBMS統一管理和控制1.1.3數據庫系統的特點面向全組織的復雜的數據結構數據庫系統從整體角度看待和描述數據,數據面向整個系統,可以被多個用戶、多個應用共享使用;支持全企業的應用而不是某一個應用數據反映了客觀事物間的本質聯系,而不是著眼于面向某個應用,是有結構的數據。這是數據庫系統的主要特征之一,與文件系統的根本差別。文件系統只是記錄的內部有結構,一個文件的記錄之間是個線性序列,記錄之間無聯系數據結構化整體數據的結構化是數據庫的主要特征之一整體結構化不再僅僅針對某一個應用,而是面向全組織不僅數據內部結構化,整體是結構化的,數據之間具有聯系數據庫中實現的是數據的真正結構化數據的結構用數據模型描述,無需程序定義和解釋數據可以變長數據的最小存取單位是數據項1.1.3數據庫系統的特點數據的冗余度低,易擴充數據面向整個系統,而不是面向某一應用,數據集中管理,數據共享,因此冗余度低節省存儲空間,減少存取時間,且可避免數據之間的不一致性每個應用選用數據庫的一個子集,只要重新選取不同子集或者加上一小部分數據,就可以滿足新的應用要求,這就是易擴充性1.1.3數據庫系統的特點具有較高的數據和程序的獨立性把數據庫的定義和描述從應用程序中分離出去數據描述是分級的(全局邏輯、局部邏輯、存儲)數據的存取由系統管理,用戶不必考慮存取路徑等細節,從而簡化了應用程序1.1.3數據庫系統的特點統一的數據控制功能,數據共享程度高數據的安全性控制(Security)保護數據以防止不合法的使用所造成的數據泄露和破壞措施:用戶標識與鑒定,存取控制數據的完整性控制(Integrity)數據的正確性、有效性、相容性措施:完整性約束條件定義和檢查并發控制(Concurrency)對多用戶的并發操作加以控制、協調,防止其互相干擾而得到錯誤的結果并使數據庫完整性遭到破壞措施:封鎖1.1.3數據庫系統的特點統一的數據控制功能,數據共享程度高(續)數據庫恢復(Recovery)把數據庫從錯誤狀態恢復到某一已知的正確狀態(亦稱一致性狀態或完整性狀態)措施:轉儲,鏡像,日志數據獨立性高物理獨立性指用戶的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的。當數據的物理存儲改變了,應用程序不用改變。邏輯獨立性指用戶的應用程序與數據庫的邏輯結構是相互獨立的。數據的邏輯結構改變了,用戶程序也可以不變。數據獨立性是由DBMS的二級映像功能來保證的數據由DBMS統一管理和控制DBMS提供的數據控制功能(1)數據的安全性(Security)保護保護數據,以防止不合法的使用造成的數據的泄密和破壞。(2)數據的完整性(Integrity)檢查將數據控制在有效的范圍內,或保證數據之間滿足一定的關系。(3)并發(Concurrency)控制對多用戶的并發操作加以控制和協調,防止相互干擾而得到錯誤的結果。(4)數據庫恢復(Recovery)將數據庫從錯誤狀態恢復到某一已知的正確狀態。應用程序與數據的對應關系(數據庫系統)DBMS應用程序1應用程序2數據庫…數據庫系統階段應用程序與數據之間的對應關系
第一章緒論1.1數據庫系統概述1.2數據模型1.3數據庫系統結構1.4數據庫系統的組成1.5小結
1.2數據模型
1.2.1兩大類數據模型
1.2.2概念模型
1.2.3數據模型三要素
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關系模型數據模型概述在數據庫中用數據模型這個工具來抽象、表示和處理現實世界中的數據和信息。通俗地講數據模型就是現實世界的模擬。數據模型應滿足三方面要求能比較真實地模擬現實世界容易為人所理解便于在計算機上實現數據模型概述現實世界存在于人們頭腦之外的客觀世界例如:倉庫管理中涉及的貨物管理,貨物、貨物的進出以及相應的報表、圖表、表格、卡片、單據等信息世界現實世界在人腦中的反映計算機世界信息在計算機中以數據形式存儲數據模型概述現實世界信息世界機器世界計算機世界轉換概念模型(信息模型)DBMS相關的邏輯數據模型它是按用戶的觀點來對數據和信息建模,主要用于數據庫設計。不依賴于具體的計算機系統認識抽象它是按計算機的觀點對數據進行建模,主要用于DBMS的實現。有網狀、層次、關系、面向對象等。數據模型概述現實世界信息世界計算機世界概念化形式化用戶計算機應用概念模型數據模型數據模型概述數據模型的概念數據及數據間聯系的表示形式(對現實世界特征的模擬和抽象)對現實世界特征的模擬和抽象真實地模擬現實世界易為人所理解便于計算機實現分兩個不同的層次概念數據模型結構數據模型數據模型是數據庫系統中用于提供信息表示和操作手段的形式構架現實世界信息世界計算機世界數據模型概述數據模型分成兩個不同的層次概念數據模型也稱信息模型,它是按用戶的觀點來對數據和信息建模。結構數據模型它是按計算機系統的觀點對數據建模,主要包括網狀模型、層次模型、關系模型等。數據模型概述這種分類是按照對客觀對象的抽象過程---兩步抽象來分的:
現實世界中的客觀對象抽象為概念模型;把概念模型轉換為某一DBMS支持的數據模型。概念模型是現實世界到機器世界的一個中間層次。兩大類數據模型數據模型分為兩類(分屬兩個不同的層次)(1)概念模型也稱信息模型,它是按用戶的觀點來對數據和信息建模,用于數據庫設計。(2)邏輯模型和物理模型
邏輯模型主要包括網狀模型、層次模型、關系模型、面向對象模型等,按計算機系統的觀點對數據建模,用于DBMS實現。物理模型是對數據最底層的抽象,描述數據在系統內部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。兩大類數據模型(續)客觀對象的抽象過程---兩步抽象現實世界中的客觀對象抽象為概念模型;把概念模型轉換為某一DBMS支持的數據模型。兩大類數據模型(續)DBMS支持的數據模型概念模型認識抽象信息世界機器世界現實世界中客觀對象的抽象過程現實世界現實世界概念模型數據庫設計人員完成邏輯模型物理模型由DBMS完成概念模型邏輯模型數據庫設計人員完成
1.2數據模型
1.2.1兩大類數據模型
1.2.2概念模型
1.2.3數據模型三要素
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關系模型
1.2.2概念模型信息世界中的基本概念*兩個實體型之間的聯系*兩個以上實體型之間的聯系*單個實體型內的聯系*概念模型的一種表示方法*一個實例概念模型概念模型的用途概念模型用于信息世界的建模是現實世界到機器世界的一個中間層次是數據庫設計的有力工具數據庫設計人員和用戶之間進行交流的語言對概念模型的基本要求較強的語義表達能力能夠方便、直接地表達應用中的各種語義知識簡單、清晰、易于用戶理解一、信息世界中的基本概念(1)實體(Entity)
客觀存在并可相互區別的事物稱為實體。可以是具體的人、事、物或抽象的概念。(2)屬性(Attribute)
實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。如:學生實體由學號、姓名、性別、出生日期、系別等屬性組成(3)碼(Key)&實體標識符唯一標識實體的屬性集稱為碼。信息世界中的基本概念(續)(4)域(Domain)
屬性的取值范圍稱為該屬性的域。如:性別的域為(男,女)
(5)實體型(EntityType)
用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型(6)實體集(EntitySet)
同一類型實體的集合稱為實體集信息世界中的基本概念(續)(7)聯系(Relationship)
現實世界中事物內部以及事物之間的聯系在信息世界中反映為實體內部的聯系和實體之間的聯系。實體內部的聯系通常是指組成實體的各屬性之間的聯系實體之間的聯系通常是指不同實體集之間的聯系
1.2數據模型
1.2.1兩大類數據模型
1.2.2概念模型
1.2.3數據模型三要素
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關系模型
1.2.3數據模型的組成要素數據結構數據操作完整性約束條件
一、數據結構什么是數據結構描述數據庫的組成對象,以及對象之間的聯系描述的內容與數據類型、內容、性質有關的對象與數據之間聯系有關的對象數據結構是對系統靜態特性的描述,即組成數據庫的對象類型。在數據庫系統中一般按數據結構的類型來命名數據模型
二、數據操作數據操作對數據庫中各種對象(型)的實例(值)允許執行的操作及有關的操作規則數據操作的類型查詢更新(包括插入、刪除、修改)
數據操作(續)數據模型對操作的定義操作的確切含義操作符號操作規則(如優先級)實現操作的語言數據操作是對系統動態特性的描述請舉例說明三、數據的完整性約束條件數據的完整性約束條件一組完整性規則的集合。完整性規則:給定的數據模型中數據及其聯系所具有的制約和儲存規則用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效、相容。
數據的完整性約束條件(續)數據模型對完整性約束條件的定義反映和規定本數據模型必須遵守的基本的通用的完整性約束條件。例如在關系模型中,任何關系必須滿足實體完整性和參照完整性兩個條件。提供定義完整性約束條件的機制,以反映具體應用所涉及的數據必須遵守的特定的語義約束條件。
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關系模型
1.2.4最常用的數據模型非關系模型層次模型(HierarchicalModel)網狀模型(NetworkModel)關系模型(RelationalModel)面向對象模型(ObjectOrientedModel)對象關系模型(ObjectRelationalModel)1.2.5層次模型層次模型是數據庫系統中最早出現的數據模型層次數據庫系統的典型代表是IBM公司的IMS(InformationManagementSystem)數據庫管理系統層次模型用樹形結構來表示各類實體以及實體間的聯系
一、層次數據模型的數據結構層次模型
滿足下面兩個條件的基本層次聯系的集合為層次模型1.有且只有一個結點沒有雙親結點,這個結點稱為根結點2.根以外的其它結點有且只有一個雙親結點層次模型中的幾個術語根結點,雙親結點,兄弟結點,葉結點層次數據模型的數據結構(續)
R1
根結點
R2
兄弟結點
R3
葉結點
R4
兄弟結點
R5
葉結點
葉結點圖1.16一個層次模型的示例層次數據模型的數據結構(續)層次模型的特點:結點的雙親是唯一的只能直接處理一對多的實體聯系每個記錄類型可以定義一個排序字段,也稱為碼字段任何記錄值只有按其路徑查看時,才能顯出它的全部意義沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在層次數據模型的數據結構(續)圖1.17教員學生層次數據庫模型
根結點記錄型系的子女結點記錄型教員的雙親結點葉結點葉結點字段層次數據模型的數據結構(續)圖1.18教員學生層次數據庫的一個值
三、層次模型的數據操縱與完整性約束
層次模型的數據操縱查詢插入刪除更新層次模型的數據操縱與完整性約束(續)層次模型的完整性約束條件
無相應的雙親結點值就不能插入子女結點值如果刪除雙親結點值,則相應的子女結點值也被同時刪除更新操作時,應更新所有相應記錄,以保證數據的一致性四、層次數據模型的存儲結構鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現層次順序層次數據模型的存儲結構(續)圖1.20層次數據庫及其實例…A1A2C8C6C4B6C9C2B4C14C7C5C3B1A1圖1.21鄰接法按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集
層次數據模型的存儲結構(續)鏈接法用指引來反映數據之間的層次聯系子女-兄弟鏈接法層次序列鏈接法層次數據模型的存儲結構(續)子女-兄弟鏈接法每個記錄設兩類指針,分別指向最左邊的子女(每個記錄型對應一個)和最近的兄弟層次數據模型的存儲結構(續)層次序列鏈接法按樹的前序穿越順序鏈接各記錄值五、層次模型的優缺點優點層次模型的數據結構比較簡單清晰
查詢效率高,性能優于關系模型,不低于網狀模型層次數據模型提供了良好的完整性支持缺點多對多聯系表示不自然對插入和刪除操作的限制多,應用程序的編寫比較復雜
查詢子女結點必須通過雙親結點由于結構嚴密,層次命令趨于程序化
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關系模型1.2.6網狀模型網狀數據庫系統采用網狀模型作為數據的組織方式典型代表是DBTG系統:亦稱CODASYL系統70年代由DBTG提出的一個系統方案奠定了數據庫系統的基本概念、方法和技術實際系統CullinetSoftwareInc.公司的IDMSUnivac公司的DMS1100Honeywell公司的IDS/2HP公司的IMAGE1.網狀數據模型的數據結構網狀模型滿足下面兩個條件的基本層次聯系的集合:1.允許一個以上的結點無雙親;2.一個結點可以有多于一個的雙親。網狀數據模型的數據結構(續)表示方法(與層次數據模型相同)實體型:用記錄類型描述每個結點表示一個記錄類型(實體)屬性:用字段描述每個記錄類型可包含若干個字段聯系:用結點之間的連線表示記錄類型(實體)之間的一對多的父子聯系網狀數據模型的數據結構(續)網狀模型與層次模型的區別網狀模型允許多個結點沒有雙親結點網狀模型允許結點有多個雙親結點網狀模型允許兩個結點之間有多種聯系(復合聯系)網狀模型可以更直接地去描述現實世界層次模型實際上是網狀模型的一個特例網狀數據模型的數據結構(續)網狀模型中子女結點與雙親結點的聯系可以不唯一要為每個聯系命名,并指出與該聯系有關的雙親記錄和子女記錄
R1與R3之間的聯系L1R2與R3之間的聯系L2
網狀數據模型的數據結構(續)網狀模型的例子
網狀數據模型的數據結構(續)多對多聯系在網狀模型中的表示用網狀模型間接表示多對多聯系方法:將多對多聯系直接分解成一對多聯系網狀數據模型的數據結構(續)例如:一個學生可以選修若干門課程,某一課程可以被多個學生選修,學生與課程之間是多對多聯系引進一個學生選課的聯結記錄,由3個數據項組成學號課程號成績表示某個學生選修某一門課程及其成績網狀數據模型的數據結構(續)圖1.24學生/選課/課程的網狀數據模型網狀數據模型的操縱與完整性約束(續)網狀數據庫系統(如DBTG)對數據操縱加了一些限制,提供了一定的完整性約束碼:唯一標識記錄的數據項的集合
一個聯系中雙親記錄與子女記錄之間是一對多聯系支持雙親記錄和子女記錄之間某些約束條件
三、網狀數據模型的存儲結構關鍵實現記錄之間的聯系常用方法單向鏈接雙向鏈接環狀鏈接向首鏈接網狀數據模型的存儲結構(續)圖1.25學生/選課/課程的網狀數據庫實例
學生記錄課程記錄選課記錄四、網狀數據模型的優缺點優點能夠更為直接地描述現實世界,如一個結點可以有多個雙親具有良好的性能,存取效率較高缺點結構比較復雜,而且隨著應用環境的擴大,數據庫的結構就變得越來越復雜,不利于最終用戶掌握DDL、DML語言復雜,用戶不容易使用
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關系模型1.2.7關系模型關系數據庫系統采用關系模型作為數據的組織方式1970年美國IBM公司SanJose研究室的研究員E.F.Codd首次提出了數據庫系統的關系模型計算機廠商新推出的數據庫管理系統幾乎都支持關系模型
1.2.7關系模型關系(Relation):對應通常說的表元組(Tuple):表中的一行即為一個元組屬性(Attribute):表中的一列即為一個屬性主碼(key):圖中的某個屬性組,它可以唯一確定一個元組域(domain):屬性的取值范圍,如人的年齡一般在0歲~150歲之間。性別的域是(男,女),系別的域是一個學校所有系名的集合。分量:元組中的一個屬性值,關系模式:對關系的描述,一般表示為:關系名(屬性1,屬性2,…,屬性n)一、關系數據模型的數據結構
在用戶觀點下,關系模型中數據的邏輯結構是一張二維表,它由行和列組成。學生登記表
屬性元組男女男性別192221年齡D01李紅S02D02王偉S03D01張軍S01系號姓名學號主碼分量關系模式(男,女)關系數據模型的數據結構(續)關系(Relation)一個關系對應通常說的一張表元組(Tuple)表中的一行即為一個元組屬性(Attribute)表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名關系數據模型的數據結構(續)主碼(Key)表中的某個屬性組,它可以唯一確定一個元組。域(Domain)屬性的取值范圍。分量元組中的一個屬性值。關系模式對關系的描述關系名(屬性1,屬性2,…,屬性n)學生(學號,姓名,年齡,性別,系,年級)關系數據模型的數據結構(續)例1學生、系、系與學生之間的一對多聯系:學生(學號,姓名,年齡,性別,系號,年級)系(系號,系名,辦公地點)例2系、系主任、系與系主任間的一對一聯系關系數據模型的數據結構(續)例3學生、課程、學生與課程之間的多對多聯系:
學生(學號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學分)選修(學號,課程號,成績)關系數據模型的數據結構(續)關系必須是規范化的,滿足一定的規范條件最基本的規范條件:關系的每一個分量必須是一個不可分的數據項,不允許表中還有表
圖1.27中工資和扣除是可分的數據項,不符合關系模型要求
職工號姓名職稱工資扣除實發基本津貼職務房租水電86051陳平講師13051200501601122283圖1.27一個工資表(表中有表)實例關系數據模型的數據結構(續)關系術語一般表格的術語關系名表名關系模式表頭(表格的描述)關系(一張)二維表元組記錄或行屬性列屬性名列名屬性值列值分量一條記錄中的一個列值非規范關系表中有表(大表中嵌有小表)表1.2術語對比
二、關系數據模型的操縱與完整性約束數據操作是集合操作,操作對象和操作結果都是關系查詢插入刪除更新數據操作是集合操作,操作對象和操作結果都是關系,即若干元組的集合存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細說明“怎么干”關系數據模型的操縱與完整性約束(續)關系的完整性約束條件實體完整性參照完整性用戶定義的完整性三、關系數據模型的存儲結構實體及實體間的聯系都用表來表示表以文件形式存儲有的DBMS一個表對應一個操作系統文件有的DBMS自己設計文件結構四、關系數據模型的優缺點優點建立在嚴格的數學概念的基礎上概念單一實體和各類聯系都用關系來表示對數據的檢索結果也是關系關系模型的存取路徑對用戶透明具有更高的數據獨立性,更好的安全保密性簡化了程序員的工作和數據庫開發建立的工作關系數據模型的優缺點(續)缺點存取路徑對用戶透明導致查詢效率往往不如非關系數據模型為提高性能,必須對用戶的查詢請求進行優化增加了開發DBMS的難度第一章緒論1.1數據庫系統概述1.2數據模型1.3數據庫系統結構1.4數據庫系統的組成1.5小結1.3數據庫系統結構從數據庫管理系統角度看,數據庫系統通常采用三級模式結構,是數據庫系統內部的系統結構從數據庫最終用戶角度看(數據庫系統外部的體系結構),數據庫系統的結構分為:單用戶結構主從式結構分布式結構客戶/服務器瀏覽器/應用服務器/數據庫服務器多層結構等數據庫系統結構(續)1.3.1數據庫系統模式的概念1.3.2數據庫系統的三級模式結構1.3.3數據庫的二級映像功能與數據獨立性
1.3.1數據庫系統模式的概念“型”和“值”的區別型(Type)對某一類數據的結構和屬性的說明值(Value)是型的一個具體賦值例如學生記錄型:(學號,姓名,性別,系別,年齡,籍貫)一個記錄值:(900201,李明,男,計算機,22,江蘇)回顧:關系數據模型的數據結構
在用戶觀點下,關系模型中數據的邏輯結構是一張二維表,它由行和列組成。學生登記表
屬性元組男女男性別192221年齡D01李紅S02D02王偉S03D01張軍S01系號姓名學號主碼分量關系模式(男,女)數據庫系統模式的概念(續)模式(Schema)數據庫中全體數據的邏輯結構和特征的描述是型的描述反映的是數據的結構及其聯系模式是相對穩定的實例(Instance)模式的一個具體值反映數據庫某一時刻的狀態同一個模式可以有很多實例實例隨數據庫中的數據的更新而變動數據庫系統模式的概念(續)例如:在學生選課數據庫模式中,包含學生、課程記錄和學生選課表的定義
2003年的一個學生數據庫實例,包含:2003年學校中所有學生的記錄學校開設的所有課程的記錄所有學生選課的記錄
2002年度學生數據庫模式對應的實例與
2003年度學生數據庫模式對應的實例是不同的數據庫系統結構(續)1.3.1數據庫系統模式的概念1.3.2數據庫系統的三級模式結構
1.3.3數據庫的二級映像功能與數據獨立性
1.3.2數據庫系統的三級模式
學號姓名性別系別年齡住址出身學位學分補貼學籍科房產科保衛科財務科數據庫1.3.2數據庫系統的三級模式數據庫系統三級模式結構CODASYL(ConferenceOnDataSystemLanguage,美國數據系統語言協商會)提出模式、外模式、內模式三級模式的概念,三級模式之間有兩級映象。模式的分級從數據庫的用戶觀點,即用戶看到的數據庫,與數據庫的物理方面,即實際存儲的數據庫區分開來,數據庫系統的模式是分級的。提高了數據的邏輯獨立性和物理獨立性。一、模式(Schema)模式(也稱邏輯模式)數據庫中全體數據的邏輯結構和特征的描述所有用戶的公共數據視圖,綜合了所有用戶的需求一個數據庫只有一個模式模式的地位:是數據庫系統模式結構的中間層與數據的物理存儲細節和硬件環境無關與具體的應用程序、開發工具及高級程序設計語言無關模式(續)模式的定義數據的邏輯結構(數據項的名字、類型、取值范圍等)數據之間的聯系數據有關的安全性、完整性要求二、外模式外模式(也稱子模式或用戶模式)數據庫用戶(包括應用程序員和最終用戶)使用的局部數據的邏輯結構和特征的描述數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示外模式(續)外模式的地位:介于模式與應用之間模式與外模式的關系:一對多外模式通常是模式的子集一個數據庫可以有多個外模式。反映了不同的用戶的應用需求、看待數據的方式、對數據保密的要求對模式中同一數據,在外模式中的結構、類型、長度、保密級別等都可以不同外模式與應用的關系:一對多同一外模式也可以為某一用戶的多個應用系統所使用但一個應用程序只能使用一個外模式外模式(續)外模式的用途保證數據庫安全性的一個有力措施每個用戶只能看見和訪問所對應的外模式中的數據1.3.2數據庫系統的三級模式
外模式/模式S(S#,SNAME,SEX,AGE,ADDRESS,CREDIT,DEGREE)S(S#,SNAME…ADDRESS)學籍科S(S#,SNAME…CREDIT)房產科視圖視圖模式三、內模式內模式(也稱存儲模式)是數據物理結構和存儲方式的描述是數據在數據庫內部的表示方式記錄的存儲方式(順序存儲,按照B樹結構存儲,按hash方法存儲)索引的組織方式數據是否壓縮存儲數據是否加密數據存儲記錄結構的規定一個數據庫只有一個內模式內模式(續)例如學生記錄,如果按堆存儲,則插入一條新記錄總是放在學生記錄存儲的最后,如右圖所示內模式(續)如果按學號升序存儲,則插入一條記錄就要找到它應在的位置插入,如圖1.29(b)所示如果按照學生年齡聚簇存放,假如新插入的S3是16歲,則應插入的位置如圖1.29(c)所示
圖1.29記錄不同的存儲方式示意圖數據庫系統的三級模式結構(續)圖1.28數據庫系統的三級模式結構數據庫系統結構(續)1.3.1數據庫系統模式的概念1.3.2數據庫系統的三級模式結構1.3.3數據庫的二級映像功能與數據獨立性
1.3.3數據庫的二級映像功能與數據獨立性三級模式是對數據的三個抽象級別二級映象在DBMS內部實現這三個抽象層次的聯系和轉換外模式/模式映像模式/內模式映像一、外模式/模式映象模式:描述的是數據的全局邏輯結構外模式:描述的是數據的局部邏輯結構映象定義通常包含在各自外模式的描述中同一個模式可以有任意多個外模式每一個外模式,數據庫系統都有一個外模式/模式映象,定義外模式與模式之間的對應關系外模式/模式映象(續)保證數據的邏輯獨立性當模式改變時,數據庫管理員修改有關的外模式/模式映象,使外模式保持不變應用程序是依據數據的外模式編寫的,從而應用程序不必修改,保證了數據與程序的邏輯獨立性,簡稱數據的邏輯獨立性。1.3.3數據庫的二級映像與數據獨立性
NONAMEAGESEX
趙20男錢21女XHXMXBCSRQ
趙男95.07.01
錢女94.03.07CreateViewStud(學號,姓名,性別,年齡)AsSelectNO,NAME,AGE,SEX,FromstudentCreateViewStud(學號,姓名,性別,年齡)AsSelectXH,XM,XB,
datediff(year,CSRQ,getdate())Fromstudent學號姓名性別年齡趙男20
錢女21二、模式/內模式映象模式/內模式映象定義了數據全局邏輯結構與存儲結構之間的對應關系。例如,說明邏輯記錄和字段在內部是如何表示的數據庫中模式/內模式映象是唯一的該映象定義通常包含在模式描述中模式/內模式映象(續)保證數據的物理獨立性當數據庫的存儲結構改變了(例如選用了另一種存儲結構),數據庫管理員修改模式/內模式映象,使模式保持不變應用程序不受影響。保證了數據與程序的物理獨立性,簡稱數據的物理獨立性。CREATEDATABASE[example]ON(NAME='example_D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國有色金屬分離器行業市場發展趨勢與前景展望戰略分析研究報告
- 2025-2030中國月餅行業供需分析及發展前景研究報告
- 2025-2030中國曬后護理劑行業市場發展分析及發展前景與投融資研究報告
- 2025-2030中國旅游帳篷睡袋行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030中國新能源汽車市場前景調研與投融資戰略規劃分析研究報告
- 2025-2030中國整體櫥柜市場發展分析及市場趨勢與投資方向研究報告
- 2025-2030中國手機配件包裝行業市場發展趨勢與前景展望戰略研究報告
- 2025年IGBT逆變式電焊機項目投資風險評估報告
- 二零二五年度商鋪租賃合同終止及租金減免及返還協議
- 2025年度輕微交通事故私了賠償協議
- 三年級下冊語文七彩課堂
- 第7課 全球聯系的初步建立與世界格局的演變 高中歷史統編版(2019)必修中外歷史綱要下冊
- 11《山地回憶》公開課一等獎創新教學設計
- 智能傳感器研發-第1篇-深度研究
- 普華永道中天會計師事務所-人工智能機遇在汽車領域
- 2025年安徽中醫藥高等專科學校單招職業適應性測試題庫及參考答案
- 2025年安慶醫藥高等專科學校單招職業適應性考試題庫含答案
- 【參考答案及評分標準】河南省中等職業學校2025年高考壓軸卷 語文英語(二)
- 歷年中醫技能考試
- 2025年舉辦科普月的活動總結(3篇)
- 2025年南京機電職業技術學院高職單招數學歷年(2016-2024)頻考點試題含答案解析
評論
0/150
提交評論