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