




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
洛陽師范學院信息技術學院數據庫系統概論
AnIntroductiontoDatabaseSystem常志玲czlhnpy@163.com135269480962/1/20231AnIntroductiontoDatabaseSystem考試成績平時要求平時作業完成率100%出勤率達到學校要求總成績100%=平時成績(包含出勤、作業、實驗成績)×20%+閉卷考試×80%2/1/20232AnIntroductiontoDatabaseSystem教材及參考書(1)教材王珊,薩師煊:數據庫系統概論(第四版)
高等教育出版社,2006.52/1/20233AnIntroductiontoDatabaseSystem教材及參考書(2)參考書DateCJ,AnIntroductiontoDatabaseSystem(Ed.7),Addison-Wesley,2000SQLServer2000相關書籍Powerdesigner、Designer2000等數據庫系統開發相關書籍上機軟件Sqlserver2000(或sqlserver2005)2/1/20234AnIntroductiontoDatabaseSystem學習方式理論學習掌握基本概念,多看例題,多做習題理論指導實踐,實踐提高認識重視數據庫設計實踐學習勤思考,多動手重視上機實習環境堅持自學2/1/20235AnIntroductiontoDatabaseSystem數據庫與電子商務的關系所謂電子商務(ElectronicCommerce)是利用計算機技術、網絡技術和遠程通信技術,實現整個商務(買賣)過程中的電子化、數字化和網絡化。例如:網上商店、網上書屋、網上售票B2B,B2C網站數據庫是電子商務的基礎2/1/20236AnIntroductiontoDatabaseSystem中國計算機學會數據庫專委會CCF-DBS(ChinaComputerFederationDataBaseSociety)前身:數據庫學組升級:1999年8月2/1/20237AnIntroductiontoDatabaseSystem內容安排(1)基礎篇第一章緒論第二章關系數據庫第三章關系數據庫標準語言SQL第四章數據庫安全性第五章數據庫完整性設計與應用開發篇第六章關系數據理論數據庫設計第七章數據庫設計第八章數據庫編程2/1/20238AnIntroductiontoDatabaseSystem內容安排(2)系統篇第九章關系查詢處理和查詢優化第十章數據庫恢復技術第十一章并發控制2/1/20239AnIntroductiontoDatabaseSystem數據庫系統概論AnIntroductiontoDatabaseSystems第一章緒論2/1/202310AnIntroductiontoDatabaseSystem本章目標了解并掌握數據庫基本概念和基本知識.2/1/202311AnIntroductiontoDatabaseSystem第一章緒論1.1數據庫系統概述1.2數據模型1.3數據庫系統結構1.4數據庫系統的組成1.5小結2/1/202312AnIntroductiontoDatabaseSystem第一章緒論1.1數據庫系統概述
1.1.1四個基本概念
1.1.2數據管理技術的產生和發展
1.1.3數據庫系統的特點
2/1/202313AnIntroductiontoDatabaseSystem1.1.1四個基本概念數據(Data)數據庫(Database)數據庫管理系統(DBMS)數據庫系統(DBS)2/1/202314AnIntroductiontoDatabaseSystem一、數據數據(Data)是數據庫中存儲的基本對象數據的定義描述事物的符號記錄數據的種類文本、圖形、圖像、音頻、視頻、學生的檔案記錄、貨物的運輸情況等數據的特點數據具有一定的含義,數據與其語義是不可分的2/1/202315AnIntroductiontoDatabaseSystem數據舉例數據的含義稱為數據的語義,數據與其語義是不可分的。例如93是一個數據語義1:學生某門課的成績語義2:某人的體重語義3:計算機系2003級學生人數語義4:請同學給出。。。2/1/202316AnIntroductiontoDatabaseSystem數據舉例學生檔案中的學生記錄(李明,男,197205,江蘇南京市,計算機系,1990)語義:學生姓名、性別、出生年月、籍貫、所在院系、入學時間解釋:李明是個大學生,1972年5月出生,江蘇南京市人,1990年考入計算機系2/1/202317AnIntroductiontoDatabaseSystem二、數據庫數據庫的定義數據庫是存放數據的倉庫數據庫(Database,簡稱DB)是長期儲存在計算機內、有組織的、可共享的大量數據的集合。數據庫的基本特征數據按一定的數據模型組織、描述和儲存可為各種用戶共享冗余度較小數據獨立性較高易擴展2/1/202318AnIntroductiontoDatabaseSystem三、數據庫管理系統什么是DBMS(DatabaseManagementSystem)位于用戶與操作系統之間的一層數據管理軟件。是基礎軟件,是一個大型復雜的軟件系統
DBMS的用途科學地組織和存儲數據、高效地獲取和維護數據2/1/202319AnIntroductiontoDatabaseSystemDBMS的主要功能數據定義功能提供數據定義語言(DataDefinitionLanguage,DDL)
定義數據庫中的數據對象數據組織、存儲和管理
分類組織、存儲和管理各種數據(數據字典、用戶數據、數據的存取路徑等)
確定組織數據的文件結構和存取方式實現數據之間的聯系
提供多種存取方法提高存取效率(索引查找、Hash、順序等)2/1/202320AnIntroductiontoDatabaseSystemDBMS的主要功能數據操縱功能
提供數據操縱語言(DataManipulationLanguage,DML)
實現對數據庫的基本操作(查詢、插入、刪除和修改)數據庫的事務管理和運行管理數據庫在建立、運行和維護時由DBMS統一管理和控制保證數據的安全性、完整性、多用戶對數據的并發使用發生故障后的系統恢復用戶是用DML還是DDL完成下列任務?a.改變客戶地址b.定義目錄表c.輸入一個新員工的信息2/1/202321AnIntroductiontoDatabaseSystemDBMS的主要功能數據庫的建立和維護功能(實用程序)
數據庫初始數據裝載轉換 數據庫轉儲 介質故障恢復 數據庫的重組織 性能監視分析等其它功能
DBMS與網絡中其它軟件系統的通信
兩個DBMS系統的數據轉換異構數據庫之間的互訪和互操作2/1/202322AnIntroductiontoDatabaseSystem定義指在計算機系統中引入數據庫后的系統組成數據庫,數據庫管理系統(DBMS),應用系統,數據庫管理員(DBA)和用戶層次:四、數據庫系統2/1/202323AnIntroductiontoDatabaseSystem
數據庫應用系統應用開發工具
操作系統
數據庫管理系統
數據庫管理員用戶用戶用戶
數據庫系統分別舉例Powerbuilder,Oracle,DB2,Sybase,mysql,SQLserverDelphi,VB,Win2k,Linux,Unix。。。?2/1/202324AnIntroductiontoDatabaseSystem1.1數據庫系統概述
1.1.1四個基本概念
1.1.2數據管理技術的產生和發展
1.1.3數據庫系統的特點
2/1/202325AnIntroductiontoDatabaseSystem數據管理技術的產生和發展什么是數據管理對數據進行分類、組織、編碼、存儲、檢索和維護數據處理的中心問題數據管理技術的發展過程人工管理階段(20世紀40年代中--50年代中)文件系統階段(20世紀50年代末--60年代中)數據庫系統階段(20世紀60年代末--現在)2/1/202326AnIntroductiontoDatabaseSystem數據管理技術的產生和發展(續)數據管理技術的發展動力應用需求的推動計算機硬件的發展計算機軟件的發展2/1/202327AnIntroductiontoDatabaseSystem一、人工管理階段時期20世紀40年代中--50年代中產生的背景應用需求:科學計算 硬件水平 :外存只有卡片.紙帶.磁帶,無直接存取存儲設備軟件水平:匯編語言,沒有操作系統 處理方式:批處理 2/1/202328AnIntroductiontoDatabaseSystem人工管理階段(續)特點數據的管理者:用戶(程序員),數據不保存數據面向的對象:某一應用程序數據的共享程度:無共享、冗余度極大數據的獨立性:不獨立,完全依賴于程序數據的結構化:無結構數據控制能力:應用程序自己控制2/1/202329AnIntroductiontoDatabaseSystem應用程序與數據的對應關系(人工管理階段)
人工管理階段應用程序與數據之間的對應關系
2/1/202330AnIntroductiontoDatabaseSystem二、文件系統階段時期20世紀50年代末--60年代中產生的背景應用需求:科學計算、管理 硬件水平:磁盤、磁鼓等直接存取的外存設備 軟件水平:操作系統.高級語言.操作系統中的文件系統是專門用于數據管理的軟件 處理方式:聯機實時處理、批處理
2/1/202331AnIntroductiontoDatabaseSystem文件系統階段(續)特點數據的管理者:文件系統,數據可長期保存數據面向的對象:某一應用程序數據的共享程度:共享性差、冗余度大數據的結構化:記錄內有結構,整體無結構數據的獨立性:獨立性差,數據的邏輯結構改變必須修改應用程序數據控制能力:應用程序自己控制2/1/202332AnIntroductiontoDatabaseSystem應用程序與數據的對應關系(文件系統階段)文件系統階段應用程序與數據之間的對應關系
2/1/202333AnIntroductiontoDatabaseSystem基本原因在于:數據的含義不明顯。在文件系統中,采用“按文件名訪問,按記錄存取”的數據管理技術。文件系統中,數據為什么難以共享呢?2/1/202334AnIntroductiontoDatabaseSystem如:下一條記錄為例:
1005張三7006151800設計所一般用戶怎能理解其含義呢!甚至連數據的創建者,在經過一段時間后,重新看到此記錄時,也會感到不可理解了。但如果數據的顯示形式為:職工號姓名出生日期工資部門
1005張三7006151800設計所則數據的含義就比較清楚了,共享自然就容易了。
2/1/202335AnIntroductiontoDatabaseSystem
定義數據時,能把數據的含義也定義進去;存儲數據時,能一起存儲數據的含義;顯示數據時,能同時顯示數據的含義,就成了改進文件系統的關鍵。從而出現了數據管理的新方式——數據庫系統。在數據庫系統中,數據以一種全新的方式——數據庫存儲;管理數據庫的生成、修改、使用的是一種新的管理數據的軟件——數據庫管理系統。2/1/202336AnIntroductiontoDatabaseSystem三、數據庫系統階段時期20世紀60年代末以來產生的背景應用背景 大規模管理 硬件背景 大容量磁盤、磁盤陣列
軟件背景 有數據庫管理系統 處理方式 聯機實時處理,分布處理,批處理 2/1/202337AnIntroductiontoDatabaseSystem1.1數據庫系統概述
1.1.1四個基本概念
1.1.2數據管理技術的產生和發展
1.1.3數據庫系統的特點
2/1/202338AnIntroductiontoDatabaseSystem數據庫系統特點數據的管理者:DBMS數據面向的對象:現實世界 數據的共享程度:共享性高
數據的獨立性:高度的物理獨立性和一定的邏輯獨立性 數據的結構化:整體結構化,數據存取粒度小數據控制能力:由DBMS統一管理和控制2/1/202339AnIntroductiontoDatabaseSystem2/1/202340AnIntroductiontoDatabaseSystem補充說明數據的高共享性的好處降低數據的冗余度,節省存儲空間避免數據間的不一致性使系統易于擴充數據結構化整體數據的結構化是數據庫的主要特征之一數據庫中實現的是數據的真正結構化數據結構用數據模型描述,無需程序定義和解釋數據可以變長數據的最小存取單位是數據項2/1/202341AnIntroductiontoDatabaseSystem補充說明:數據獨立性物理獨立性指用戶的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的當數據的物理存儲改變了,應用程序不用改變邏輯獨立性指用戶的應用程序與數據庫的邏輯結構是相互獨立的數據的邏輯結構改變了,用戶程序也可以不變2/1/202342AnIntroductiontoDatabaseSystem補充說明:DBMS對數據的控制功能數據的安全性(Security)保護使每個用戶只能按指定方式使用和處理指定數據,保護數據以防止不合法的使用造成的數據的泄密和破壞數據的完整性(Integrity)檢查將數據控制在有效的范圍內,或保證數據之間滿足一定的關系并發(Concurrency)控制對多用戶的并發操作加以控制和協調,防止相互干擾而得到錯誤的結果數據庫恢復(Recovery)將數據庫從錯誤狀態恢復到某一已知的正確狀態2/1/202343AnIntroductiontoDatabaseSystem第一章緒論1.1數據庫系統概述1.2數據模型1.3數據庫系統結構1.4數據庫系統的組成1.5小結2/1/202344AnIntroductiontoDatabaseSystem
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關系模型2/1/202345AnIntroductiontoDatabaseSystem數據模型在數據庫中用數據模型這個工具來抽象、表示和處理現實世界中的數據和信息。通俗地講數據模型就是現實世界的模擬和抽象。數據模型應滿足三方面要求能比較真實地模擬現實世界容易為人所理解便于在計算機上實現2/1/202346AnIntroductiontoDatabaseSystem
1.2.1兩大類數據模型數據模型分為兩類(分屬兩個不同的層次)(1)概念模型也稱信息模型,它是按用戶的觀點來對數據和信息建模,用于數據庫設計。(2)邏輯模型和物理模型
邏輯模型主要包括網狀模型、層次模型、關系模型、面向對象模型等,按計算機系統的觀點對數據建模,用于DBMS實現。物理模型是對數據最底層的抽象,描述數據在系統內部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。2/1/202347AnIntroductiontoDatabaseSystem兩大類數據模型(續)客觀對象的抽象過程---兩步抽象現實世界中的客觀對象抽象為概念模型;把概念模型轉換為某一DBMS支持的數據模型。2/1/202348AnIntroductiontoDatabaseSystem兩大類數據模型(續)DBMS支持的數據模型概念模型認識抽象信息世界機器世界現實世界中客觀對象的抽象過程現實世界現實世界概念模型數據庫設計人員完成邏輯模型物理模型由DBMS完成概念模型邏輯模型數據庫設計人員完成(協助)2/1/202349AnIntroductiontoDatabaseSystem
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關系模型2/1/202350AnIntroductiontoDatabaseSystem
1.2.2數據模型的組成要素數據結構數據操作完整性約束條件2/1/202351AnIntroductiontoDatabaseSystem數據模型組成要素數據結構描述數據庫的組成以及對象之間的聯系與數據類型、內容、性質有關的對象與數據之間聯系有關的對象是對系統靜態特性的描述數據操作對數據庫中各種對象(型)的實例(值)允許執行的操作及有關的操作規則檢索、更新(包括插入、刪除、修改)是對系統動態特性的描述數據的約束條件一組完整性規則的集合是數據及其聯系所具有的制約和儲存規則,用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效、相容2/1/202352AnIntroductiontoDatabaseSystem
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關系模型2/1/202353AnIntroductiontoDatabaseSystem
1.2.3概念模型信息世界中的基本概念兩個實體型之間的聯系兩個以上實體型之間的聯系單個實體型內的聯系概念模型的一種表示方法一個實例2/1/202354AnIntroductiontoDatabaseSystem概念模型概念模型的用途概念模型用于信息世界的建模是現實世界到機器世界的一個中間層次是數據庫設計的有力工具數據庫設計人員和用戶之間進行交流的語言對概念模型的基本要求較強的語義表達能力能夠方便、直接地表達應用中的各種語義知識簡單、清晰、易于用戶理解2/1/202355AnIntroductiontoDatabaseSystem一、信息世界中的基本概念(1)實體(Entity)
客觀存在并可相互區別的事物稱為實體。可以是具體的人、事、物或抽象的概念。例:職工、學生、系,學生的一次選課,部門的一次訂貨,老師與院系的工作關系等。(2)屬性(Attribute)實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。例:學生實體有學號、姓名、性別、出生年份等屬性(3)碼(Key)唯一標識實體的屬性集稱為碼。例如學號是學生實體的碼2/1/202356AnIntroductiontoDatabaseSystem信息世界中的基本概念(續)(4)域(Domain)
屬性的取值范圍稱為該屬性的域。例:學號的域為8位整數,姓名的域為字符串集合(5)實體型(EntityType)
用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型例:學生(學號,姓名,性別,出生年月,所在院系,入學時間)(6)實體集(EntitySet)
同一類型實體的集合稱為實體集例全體學生2/1/202357AnIntroductiontoDatabaseSystem信息世界中的基本概念(續)(7)聯系(Relationship)現實世界中事物內部以及事物之間存在聯系,在信息世界
中反映為實體內部的聯系和實體之間的聯系。實體內部的聯系通常是指組成實體的各屬性之間的聯系實體之間的聯系通常是指不同實體集之間的聯系學生實體和課程實體之間通過選修聯系(實體之間)2/1/202358AnIntroductiontoDatabaseSystem二、兩個實體型之間的聯系實體型A聯系名實體型B111:1聯系實體型A聯系名1n1:n聯系實體型A實體型B聯系名mnm:n聯系實體型B用圖形來表示兩個實體型之間的這三類聯系
2/1/202359AnIntroductiontoDatabaseSystem二、兩個實體型之間的聯系(續)一對一聯系(1:1)實例1一個班級只有一個正班長一個班長只在一個班中任職班級班級-班長班長111:1聯系2/1/202360AnIntroductiontoDatabaseSystem定義:如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯系,反之亦然,則稱實體集A與實體集B具有一對一聯系,記為1:1二、兩個實體型之間的聯系(續)AB座位E1乘客E22/1/202361AnIntroductiontoDatabaseSystem兩個實體型之間的聯系(續)一對多聯系(1:n)實例一個班級中有若干名學生,每個學生只在一個班級中學習班級組成學生1n1:n聯系2/1/202362AnIntroductiontoDatabaseSystem定義:如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯系,則稱實體集A與實體集B有一對多聯系,記為1:n兩個實體型之間的聯系(續)
實體集E1 實體集E2E1E2車間工人2/1/202363AnIntroductiontoDatabaseSystem兩個實體型之間的聯系(續)多對多聯系(m:n)實例課程與學生之間的聯系:一門課程同時有若干個學生選修一個學生可以同時選修多門課程課程選修學生mnm:n聯系2/1/202364AnIntroductiontoDatabaseSystem定義:如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯系,則稱實體集A與實體B具有多對多聯系,記為m:n兩個實體型之間的聯系(續)2/1/202365AnIntroductiontoDatabaseSystem兩個實體型之間的聯系(續)AB1:1AB1:nABm:n從定義可以看出,1:1是1:n的特例,而1:n又是m:n的特例2/1/202366AnIntroductiontoDatabaseSystem兩個實體集之間的聯系究竟是屬于哪一類,不僅與實體集有關,還與聯系的內容有關。例如:主教練集與隊員集之間,若對于指導關系來說,具有一對多的聯系;而對于朋友關系來說,就應是多對多的聯系
兩個實體型之間的聯系(續)2/1/202367AnIntroductiontoDatabaseSystem三、兩個以上實體型之間的聯系兩個以上實體型之間一對多聯系若實體集E1,E2,...,En存在聯系,對于實體集Ej(j=1,2,...,i-1,i+1,...,n)中的給定實體,最多只和Ei中的一個實體相聯系,則我們說Ei與E1,E2,...,Ei-1,Ei+1,...,En之間的聯系是一對多的2/1/202368AnIntroductiontoDatabaseSystem兩個以上實體型之間的聯系(續)實例
課程、教師與參考書三個實體型一門課程可以有若干個教師講授,使用若干本參考書,每一個教師只講授一門課程,每一本參考書只供一門課程使用課程講授教師1m兩個以上實體型間1:n聯系參考書n2/1/202369AnIntroductiontoDatabaseSystem課堂思考三個實體間的聯系判斷聯系種類供應商項目零件供應2/1/202370AnIntroductiontoDatabaseSystem兩個以上實體型之間的聯系(續)兩個以上實體型間的多對多聯系實例
供應商、項目、零件三個實體型一個供應商可以供給多個項目多種零件每個項目可以使用多個供應商供應的零件每種零件可由不同供應商供給供應商供應項目mp兩個以上實體型間m:n聯系零件n2/1/202371AnIntroductiontoDatabaseSystem兩個以上實體型之間的聯系(續)兩個以上實體型間的多對多聯系實例
學生、課程、教室三個實體型一個學生可以在多個教室上多門課程每門課程可以有多個學生上課每個教室可給多個學生上課思考:兩兩之間的多對多聯系學生上課教室mp兩個以上實體型間m:n聯系課程n2/1/202372AnIntroductiontoDatabaseSystem四、單個實體型內的聯系一對多聯系實例
職工實體型內部具有領導與被領導的聯系某一職工(干部)“領導”若干名職工一個職工僅被另外一個職工直接領導這是一對多的聯系一對一聯系
請舉例職工領導1n單個實體型內部1:n聯系2/1/202373AnIntroductiontoDatabaseSystem單個實體型內的聯系實體型1聯系名mn單個實體型內的m:n聯系多對多聯系請舉例2/1/202374AnIntroductiontoDatabaseSystem五、概念模型的一種表示方法實體-聯系方法(E-R方法)(Entity-RelationshipApproach)1976年由P.P.S.Chen提出用E-R圖來描述現實世界的概念模型E-R方法也稱為E-R模型2/1/202375AnIntroductiontoDatabaseSystemE-R圖實體型用矩形表示,矩形框內寫明實體名。屬性用橢圓形表示,并用無向邊將其與相應的實體連接起來學生教師學生學號年齡性別姓名2/1/202376AnIntroductiontoDatabaseSystemE-R圖(續)聯系聯系本身:用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1:1、1:n或m:n)2/1/202377AnIntroductiontoDatabaseSystem聯系的表示方法實體型A聯系名實體型B111:1聯系實體型A聯系名1n1:n聯系實體型A實體型B聯系名mnm:n聯系實體型B2/1/202378AnIntroductiontoDatabaseSystem聯系的表示方法示例班級班級-班長班長111:1聯系課程選修學生mnm:n聯系班級組成學生1n1:n聯系2/1/202379AnIntroductiontoDatabaseSystem聯系的屬性課程選修學生mn成績聯系的屬性:聯系本身也是一種實體型,也可以有屬性。如果一個聯系具有屬性,則這些屬性也要用無向邊與該聯系連接起來
2/1/202380AnIntroductiontoDatabaseSystem六、一個實例用E-R圖表示某個工廠物資管理的概念模型實體倉庫:倉庫號、面積、電話號碼零件:零件號、名稱、規格、單價、描述供應商:供應商號、姓名、地址、電話號碼、帳號項目:項目號、預算、開工日期職工:職工號、姓名、年齡、職稱2/1/202381AnIntroductiontoDatabaseSystem一個實例實體之間的聯系如下:
(1)一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中。倉庫和零件具有多對多的聯系。用庫存量來表示某種零件在某個倉庫中的數量。(2)一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫工作,倉庫和職工之間是一對多的聯系。(3)職工之間具有領導-被領導關系。即倉庫主任領導若干保管員,職工實體型中具有一對多的聯系
(4)供應商、項目和零件三者之間具有多對多的聯系2/1/202382AnIntroductiontoDatabaseSystem工廠物資管理
實體及其屬性圖
倉庫號面積電話號職工號姓名……倉庫職工2/1/202383AnIntroductiontoDatabaseSystem工廠物資管理
實體及其屬性圖零件號名稱規格單價描述零件項目號預算開工日期項目供應商號電話號賬號地址姓名供應商2/1/202384AnIntroductiontoDatabaseSystem工廠物資管理實體及其聯系圖供應商職工倉庫零件項目供應量庫存量供應領導庫存工作P1n
nmm1nn2/1/202385AnIntroductiontoDatabaseSystem完整的E-R圖年齡職稱電話號電話號職工號庫存量項目號零件號打開日期倉庫號供應商號地址姓名賬號供應量名稱描述規格預算面積姓名零件項目倉庫供應商職工供應庫存
領導工作單價1nnnpnmm12/1/202386AnIntroductiontoDatabaseSystem實例練習實體系、班級、學生、教研室、教師、課程給出概念模型:E-R圖2/1/202387AnIntroductiontoDatabaseSystem
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關系模型2/1/202388AnIntroductiontoDatabaseSystem
1.2.4最常用的數據模型非關系模型層次模型(HierarchicalModel)網狀模型(NetworkModel)關系模型(RelationalModel)面向對象模型(ObjectOrientedModel)對象關系模型(ObjectRelationalModel)2/1/202389AnIntroductiontoDatabaseSystem1.2.5層次模型層次模型是數據庫系統中最早出現的數據模型
層次數據庫系統的典型代表是IBM公司的IMS(InformationManagementSystem)數據庫管理系統層次模型用樹形結構來表示各類實體以及實體間的聯系
2/1/202390AnIntroductiontoDatabaseSystem層次模型滿足下面兩個條件的基本層次聯系的集合為層次模型有且只有一個結點沒有雙親結點,這個結點稱為根結點根以外的其它結點有且只有一個雙親結點層次模型中的幾個術語根結點,雙親結點,兄弟結點,葉結點根結點兄弟結點
葉結點兄弟結點
葉結點葉結點R2R1R3R4R52/1/202391AnIntroductiontoDatabaseSystem層次數據模型的數據結構(續)層次模型的特點:結點的雙親是唯一的只能直接處理一對多的實體聯系每個記錄類型可以定義一個排序字段,也稱為碼字段任何記錄值只有按其路徑查看時,才能顯出它的全部意義沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在2/1/202392AnIntroductiontoDatabaseSystem層次數據模型的數據結構(續)圖1.17教員學生層次數據庫模型
根結點記錄型系的子女結點記錄型教員的雙親結點葉結點葉結點字段2/1/202393AnIntroductiontoDatabaseSystem層次數據模型的數據結構(續)圖1.18教員學生層次數據庫的一個值
2/1/202394AnIntroductiontoDatabaseSystem行政劃分,家譜,物種層次模型舉例2/1/202395AnIntroductiontoDatabaseSystem二、多對多聯系在層次模型中的表示多對多聯系在層次模型中的表示用層次模型間接表示多對多聯系方法將多對多聯系分解成一對多聯系分解方法冗余結點法虛擬結點法2/1/202396AnIntroductiontoDatabaseSystem一個學生選課的多對多聯系冗余結點法虛擬結點法多對多聯系在層次模型中的表示(續)2/1/202397AnIntroductiontoDatabaseSystem三、層次模型的數據操縱與完整性約束
層次模型的數據操縱查詢插入刪除更新2/1/202398AnIntroductiontoDatabaseSystem層次模型的數據操縱與完整性約束(續)層次模型的完整性約束條件
無相應的雙親結點值就不能插入子女結點值如果刪除雙親結點值,則相應的子女結點值也被同時刪除更新操作時,應更新所有相應記錄,以保證數據的一致性2/1/202399AnIntroductiontoDatabaseSystem四、層次數據模型的存儲結構鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現層次順序2/1/2023100AnIntroductiontoDatabaseSystem層次數據模型的存儲結構(續)圖1.20層次數據庫及其實例…A1A2C8C6C4B6C9C2B4C14C7C5C3B1A1圖1.21鄰接法按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集對于(a)的數據庫,按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集2/1/2023101AnIntroductiontoDatabaseSystem層次數據模型的存儲結構(續)鏈接法用指針來反映數據之間的層次聯系子女-兄弟鏈接法層次序列鏈接法2/1/2023102AnIntroductiontoDatabaseSystem層次數據模型的存儲結構(續)子女-兄弟鏈接法每個記錄設兩類指針,分別指向最左邊的子女(每個記錄型對應一個)和最近的兄弟2/1/2023103AnIntroductiontoDatabaseSystem層次數據模型的存儲結構(續)層次序列鏈接法按樹的前序穿越順序鏈接各記錄值2/1/2023104AnIntroductiontoDatabaseSystem五、層次模型的優缺點優點層次模型的數據結構比較簡單清晰
查詢效率高,性能優于關系模型,不低于網狀模型層次數據模型提供了良好的完整性支持缺點多對多聯系表示不自然對插入和刪除操作的限制多,應用程序的編寫比較復雜
查詢子女結點必須通過雙親結點由于結構嚴密,層次命令趨于程序化
2/1/2023105AnIntroductiontoDatabaseSystem
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關系模型2/1/2023106AnIntroductiontoDatabaseSystem1.2.6網狀模型網狀數據庫系統采用網狀模型作為數據的組織方式典型代表是DBTG系統:亦稱CODASYL(ConferenceOnDataSystemLanguage,數據系統語言研究會)系統70年代由DBTG(DataBaseTaskGroup,數據庫任務組)提出的一個系統方案奠定了數據庫系統的基本概念、方法和技術實際系統CullinetSoftwareInc.公司的IDMSUnivac公司的DMS1100Honeywell公司的IDS/2HP公司的IMAGE2/1/2023107AnIntroductiontoDatabaseSystem1.網狀數據模型的數據結構網狀模型滿足下面兩個條件的基本層次聯系的集合:1.允許一個以上的結點無雙親;2.一個結點可以有多于一個的雙親。2/1/2023108AnIntroductiontoDatabaseSystem網狀數據模型的數據結構(續)表示方法(與層次數據模型相同)實體型:用記錄類型描述每個結點表示一個記錄類型(實體)屬性:用字段描述每個記錄類型可包含若干個字段聯系:用結點之間的連線表示記錄類型(實體)之間的一對多的父子聯系2/1/2023109AnIntroductiontoDatabaseSystem網狀數據模型的數據結構(續)網狀模型與層次模型的區別網狀模型允許多個結點沒有雙親結點網狀模型允許結點有多個雙親結點網狀模型允許兩個結點之間有多種聯系(復合聯系)網狀模型可以更直接地去描述現實世界層次模型實際上是網狀模型的一個特例2/1/2023110AnIntroductiontoDatabaseSystem網狀數據模型的數據結構(續)網狀模型中子女結點與雙親結點的聯系可以不唯一要為每個聯系命名,并指出與該聯系有關的雙親記錄和子女記錄R1與R3之間的聯系L1R2與R3之間的聯系L2
2/1/2023111AnIntroductiontoDatabaseSystem網狀數據模型的數據結構(續)網狀模型的例子
2/1/2023112AnIntroductiontoDatabaseSystem網狀數據模型的數據結構(續)多對多聯系在網狀模型中的表示用網狀模型間接表示記錄之間的多對多聯系方法:將多對多聯系直接分解成一對多聯系2/1/2023113AnIntroductiontoDatabaseSystem網狀數據模型的數據結構(續)例如:一個學生可以選修若干門課程,某一課程可以被多個學生選修,學生與課程之間是多對多聯系引進一個學生選課的聯結記錄,由3個數據項組成學號課程號成績表示某個學生選修某一門課程及其成績2/1/2023114AnIntroductiontoDatabaseSystem網狀數據模型的數據結構(續)圖1.24學生/選課/課程的網狀數據模型
2/1/2023115AnIntroductiontoDatabaseSystem網狀數據模型的操縱與完整性約束(續)網狀數據庫系統(如DBTG)對數據操縱加了一些限制,提供了一定的完整性約束碼:唯一標識記錄的數據項的集合
保證一個聯系中雙親記錄與子女記錄之間是一對多聯系支持雙親記錄和子女記錄之間某些約束條件
2/1/2023116AnIntroductiontoDatabaseSystem三、網狀數據模型的存儲結構關鍵實現記錄之間的聯系常用方法單向鏈接雙向鏈接環狀鏈接向首鏈接2/1/2023117AnIntroductiontoDatabaseSystem網狀數據模型的存儲結構(續)圖1.25學生/選課/課程的網狀數據庫實例
學生記錄課程記錄選課記錄2/1/2023118AnIntroductiontoDatabaseSystem四、網狀數據模型的優缺點優點能夠更為直接地描述現實世界,如一個結點可以有多個雙親具有良好的性能,存取效率較高缺點結構比較復雜,而且隨著應用環境的擴大,數據庫的結構就變得越來越復雜,不利于最終用戶掌握DDL、DML語言復雜,并且要嵌入某一種高級語言中,用戶不容易使用2/1/2023119AnIntroductiontoDatabaseSystem
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關系模型2/1/2023120AnIntroductiontoDatabaseSystem1.2.7關系模型關系數據庫系統采用關系模型作為數據的組織方式
1970年美國IBM公司SanJose研究室的研究員E.F.Codd首次提出了數據庫系統的關系模型計算機廠商新推出的數據庫管理系統幾乎都支持關系模型
2/1/2023121AnIntroductiontoDatabaseSystem一、關系數據模型的數據結構
在用戶觀點下,關系模型中數據的邏輯結構是一張二維表,它由行和列組成。學號姓名年齡性別系名年級2005004王小明19女社會學20052005006黃大鵬20男商品學20052005008張文斌18女法律2005………………學生登記表屬性元組2/1/2023122AnIntroductiontoDatabaseSystem關系數據模型的數據結構(續)關系(Relation)一個關系對應通常說的一張表元組(Tuple)表中的一行即為一個元組屬性(Attribute)表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名2/1/2023123AnIntroductiontoDatabaseSystem關系數據模型的數據結構(續)主碼(Key)表中的某個屬性組,它可以唯一確定一個元組。例:學號,可以唯一確定一個學生,也就是本關系的碼域(Domain)屬性的取值范圍。例:性別的域是(男,女),人的年齡一般在1~150歲之間分量元組中的一個屬性值。例:學號:2005004,就是一個屬性值關系模式對關系的描述關系名(屬性1,屬性2,…,屬性n)學生(學號,姓名,年齡,性別,系,年級)2/1/2023124AnIntroductiontoDatabaseSystem關系數據模型的數據結構(續)在關系模型中,實體及實體之間的聯系都用關系來表示例:學生、課程、學生與課程之間的多對多聯系:
學生(學號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學分)選修(學號,課程號,成績)(實體之間的聯系)2/1/2023125AnIntroductiontoDatabaseSystem關系數據模型的數據結構(續)關系必須是規范化的,滿足一定的規范條件最基本的規范條件:關系的每一個分量必須是一個不可分的數據項,不允許表中還有表
圖1.27中工資和扣除是可分的數據項
職工號姓名職稱工資扣除實
發基本津貼職務房租水電86051陳平講師13051200501601122283圖1.27一個工資表(表中有表)實例是關系數據模型嗎?2/1/2023126AnIntroductiontoDatabaseSystem關系數據模型的數據結構(續)關系術語一般表格的術語關系名表名關系模式表頭(表格的描述)關系(一張)二維表元組記錄或行屬性列屬性名列名屬性值列值分量一條記錄中的一個列值非規范關系表中有表(大表中嵌有小表)表1.2術語對比2/1/2023127AnIntroductiontoDatabaseSystem二、關系數據模型的操縱與完整性約束數據操作是集合操作,操作對象和操作結果都是關系查詢插入刪除更新數據操作是集合操作,操作對象和操作結果都是關系,即若干元組的集合存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細說明“怎么干”2/1/2023128AnIntroductiontoDatabaseSystem關系數據模型的操縱與完整性約束(續)關系的完整性約束條件
實體完整性參照完整性用戶定義的完整性2/1/2023129AnIntroductiontoDatabaseSystem三、關系數據模型的存儲結構實體及實體間的聯系都用表來表示表以文件形式存儲有的DBMS一個表對應一個操作系統文件有的DBMS從操作系統中獲得若干大的文件,自己設計文件結構2/1/2023130AnIntroductiontoDatabaseSystem四、關系數據模型的優缺點優點建立在嚴格的數學概念的基礎上概念單一實體和各類聯系都用關系來表示對數據的檢索結果也是關系關系模型的存取路徑對用戶透明具有更高的數據獨立性,更好的安全保密性簡化了程序員的工作和數據庫開發建立的工作2/1/2023131AnIntroductiontoDatabaseSystem關系數據模型的優缺點(續)缺點存取路徑對用戶透明導致查詢效率往往不如非關系數據模型為提高性能,必須對用戶的查詢請求進行優化增加了開發DBMS的難度2/1/2023132AnIntroductiontoDatabaseSystem典型的關系數據庫系統ORACLESYBASEDB/2COBASEPBASEEasyBaseDM/2OpenBase2/1/2023133AnIntroductiontoDatabaseSystem第一章緒論1.1數據庫系統概述1.2數據模型1.3數據庫系統結構1.4數據庫系統的組成1.5小結2/1/2023134AnIntroductiontoDatabaseSystem1.3數據庫系統結構從數據庫管理系統角度看,數據庫系統通常采用三級模式結構,是數據庫系統內部的系統結構從數據庫最終用戶角度看(數據庫系統外部的體系結構),數據庫系統的結構分為:單用戶結構主從式結構分布式結構客戶/服務器(C/S)瀏覽器/應用服務器/數據庫服務器多層結構等(B/S)2/1/2023135AnIntroductiontoDatabaseSystem1.單用戶數據庫系統整個數據庫系統(應用程序、DBMS、數據)裝在一臺計算機上,為一個用戶獨占,不同機器之間不能共享數據2/1/2023136AnIntroductiontoDatabaseSystem2.主從式結構的數據庫系統一個主機帶多個終端的多用戶結構數據庫系統,包括應用程序、DBMS、數據,都集中存放在主機上,所有處理任務都由主機來完成各個用戶通過主機的終端并發地存取數據庫,共享數據資源2/1/2023137AnIntroductiontoDatabaseSystem3.分布式結構的數據庫系統數據庫中的數據在邏輯上是一個整體,但物理地分布在計算機網絡的不同結點上網絡中的每個結點都可以獨立處理本地數據庫中的數據,執行局部應用同時也可以同時存取和處理多個異地數據庫中的數據,執行全局應用2/1/2023138AnIntroductiontoDatabaseSystem分布式結構的數據庫系統優點適應了地理上分散的公司、團體和組織對于數據庫應用的需求缺點數據的分布存放給數據的處理、管理與維護帶來困難當用戶需要經常訪問遠程數據時,系統效率會明顯地受到網絡傳輸的制約2/1/2023139AnIntroductiontoDatabaseSystem分布式結構2/1/2023140AnIntroductiontoDatabaseSystem4.C/S結構的數據庫系統客戶/服務器把DBMS功能和應用分開網絡中某個(些)結點上的計算機專門用于執行DBMS功能,稱為數據庫服務器,簡稱服務器其他結點上的計算機安裝DBMS的外圍應用開發工具,用戶的應用系統,稱為客戶機2/1/2023141AnIntroductiontoDatabaseSystem客戶/服務器數據庫系統的種類集中的服務器結構一臺數據庫服務器,多臺客戶機分布的服務器結構在網絡中有多臺數據庫服務器分布的服務器結構是客戶/服務器與分布式數據庫的結合2/1/2023142AnIntroductiontoDatabaseSystem客戶/服務器結構2/1/2023143AnIntroductiontoDatabaseSystem瀏覽器/應用服務器/數據庫服務器結構B/S客戶端:瀏覽器軟件、用戶界面瀏覽器的界面統一,廣大用戶容易掌握大大減少了培訓時間與費用服務器端分為兩部分:Web服務器、應用服務器數據庫服務器等大大減少了系統開發和維護代價能夠支持數萬甚至更多的用戶2/1/2023144AnIntroductiontoDatabaseSystem數據庫系統結構(續)1.3.1數據庫系統模式的概念1.3.2
數據庫系統的三級模式結構
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電大外國文學試題及答案
- 測試母豬護理理論知識試題及答案
- 公共衛生執業醫師考試樣題解讀試題及答案
- 滅火作業考試題及答案
- 空調工考試題及答案
- 系統規劃與管理師考試各階段復習的要點總結試題及答案
- 專業解讀2025年公共衛生試題及答案
- 系統規劃的項目管理試題及答案
- 助理醫師考試注意事項試題及答案
- 推進2025年公共衛生執業醫師考試試題及答案的更新
- 國家開放大學《漢語通論》形考任務1-4+終結性考核參考答案
- GB/T 16866-2006銅及銅合金無縫管材外形尺寸及允許偏差
- FZ/T 81010-2018風衣
- DB44-T 2198-2019城鄉社區協商工作規范-(高清現行)
- 血液科疾病診療規范診療指南診療常規2022版
- PDCA降低I類切口感染發生率
- 幼兒園《開關門要小心》
- 《運營管理》第2版題庫與參考答案
- 基于PLC的自動配料系統畢業設計論文
- 企業事業單位突發環境事件應急預案備案表范本
- 煙花爆竹工程設計安全規范
評論
0/150
提交評論