課程名稱數(shù)據(jù)庫系統(tǒng)概論課時(shí).ppt
《課程名稱數(shù)據(jù)庫系統(tǒng)概論課時(shí).ppt》由會員分享,可在線閱讀,更多相關(guān)《課程名稱數(shù)據(jù)庫系統(tǒng)概論課時(shí).ppt(114頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、An Introduction to Database Systems,,數(shù)據(jù)庫系統(tǒng)概論 An Introduction to Database System 第一章 緒論,An Introduction to Database Systems,第一章 緒論,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 數(shù)據(jù)庫技術(shù)的研究領(lǐng)域 1.6 小結(jié),An Introduction to Database Systems,,,,,,硬件平臺,基礎(chǔ)軟件平臺,軟件基礎(chǔ)構(gòu)架平臺,應(yīng)用軟件平臺,,軟件產(chǎn)品,協(xié)同軟件 辦公軟件,數(shù)據(jù)庫系統(tǒng) 操作系統(tǒng),中間件 應(yīng)用
2、服務(wù)器,數(shù)據(jù)庫在計(jì)算機(jī)系統(tǒng)中的位置,An Introduction to Database Systems,1.1.2 四個(gè)基本概念,數(shù)據(jù)(Data) 數(shù)據(jù)庫(Database) 數(shù)據(jù)庫管理系統(tǒng)(DBMS) 數(shù)據(jù)庫系統(tǒng)(DBS),An Introduction to Database Systems,一、數(shù)據(jù),數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象 數(shù)據(jù)的定義 描述事物的符號記錄 組成數(shù)據(jù)的符號種類 數(shù)字、字符串、日期、邏輯值、文本、圖形、圖象、聲音 數(shù)據(jù)的特點(diǎn) 數(shù)據(jù)與其語義是不可分的,An Introduction to Database Systems,數(shù)據(jù)舉例,學(xué)生檔案中的學(xué)生記錄 (
3、李明,男,1985,江蘇,計(jì)算機(jī)系,2003) 數(shù)據(jù)的形式不能完全表達(dá)其內(nèi)容 數(shù)據(jù)的解釋 語義:學(xué)生姓名、性別、出生年月、籍貫、所在系別、入學(xué)時(shí)間 解釋:李明是個(gè)大學(xué)生,1985年出生,江蘇人,2003年考入計(jì)算機(jī)系 請給出另一個(gè)解釋和語義,An Introduction to Database Systems,二、數(shù)據(jù)庫(舉例),,An Introduction to Database Systems,二、數(shù)據(jù)庫(續(xù)),人們收集并抽取出一個(gè)應(yīng)用所需要的大量數(shù)據(jù)之后,應(yīng)將其保存起來以供進(jìn)一步加工處理,進(jìn)一步抽取有用信息 數(shù)據(jù)庫的定義 數(shù)據(jù)庫(Database,簡稱DB)是長期儲存在計(jì)算機(jī)內(nèi)、有
4、組織的、可共享的大量數(shù)據(jù)集合,An Introduction to Database Systems,二、數(shù)據(jù)庫(續(xù)),數(shù)據(jù)庫的特征 數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存 可為各種用戶共享 冗余度較小 數(shù)據(jù)獨(dú)立性較高 易擴(kuò)展,An Introduction to Database Systems,三、數(shù)據(jù)庫管理系統(tǒng),什么是DBMS 數(shù)據(jù)庫管理系統(tǒng)(Database Management System,簡稱DBMS): 位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。 DBMS的用途 科學(xué)地組織和存儲數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù),An Introduction to Database Systems,D
5、BMS的主要功能,數(shù)據(jù)定義功能 提供數(shù)據(jù)定義語言(DDL) 定義數(shù)據(jù)庫中的數(shù)據(jù)對象 數(shù)據(jù)操縱功能: 提供數(shù)據(jù)操縱語言(DML) 操縱數(shù)據(jù)實(shí)現(xiàn)對數(shù)據(jù)庫的基本操作 (查詢、插入、刪除和修改),An Introduction to Database Systems,DBMS的主要功能,數(shù)據(jù)庫的運(yùn)行管理 保證數(shù)據(jù)的安全性、完整性、 多用戶對數(shù)據(jù)的并發(fā)使用 發(fā)生故障后的系統(tǒng)恢復(fù) 數(shù)據(jù)庫的建立和維護(hù)功能(實(shí)用程序) 數(shù)據(jù)庫數(shù)據(jù)批量裝載 數(shù)據(jù)庫轉(zhuǎn)儲 介質(zhì)故障恢復(fù) 數(shù)據(jù)庫的重組織 性能監(jiān)視等,An Introduction to Database Systems,四、數(shù)據(jù)庫系統(tǒng),什么是數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫系統(tǒng)(
6、Database System,簡稱DBS): 指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成 在不引起混淆的情況下常常把數(shù)據(jù)庫系統(tǒng)簡稱 為數(shù)據(jù)庫 數(shù)據(jù)庫系統(tǒng)的構(gòu)成 數(shù)據(jù)庫 數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具) 應(yīng)用系統(tǒng) 數(shù)據(jù)庫管理員,An Introduction to Database Systems,數(shù)據(jù)庫系構(gòu)成,An Introduction to Database Systems,1.1 數(shù)據(jù)庫系統(tǒng)概述,1.1.1 數(shù)據(jù)庫的地位 1.1.2 四個(gè)基本概念 1.1.3 數(shù)據(jù)管理技術(shù)的產(chǎn)生與發(fā)展,An Introduction to Database Systems,1.1.3 數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)
7、展,什么是數(shù)據(jù)管理 對數(shù)據(jù)進(jìn)行分類、組織、編碼、存儲、檢索和維護(hù),是數(shù)據(jù)處理的中心問題 數(shù)據(jù)管理技術(shù)的發(fā)展過程 人工管理階段(40年代中--50年代中) 文件系統(tǒng)階段(50年代末--60年代中) 數(shù)據(jù)庫系統(tǒng)階段(60年代末--現(xiàn)在),An Introduction to Database Systems,數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展(續(xù)),數(shù)據(jù)管理技術(shù)的發(fā)展動力 應(yīng)用需求的推動 計(jì)算機(jī)硬件的發(fā)展 計(jì)算機(jī)軟件的發(fā)展,An Introduction to Database Systems,一、人工管理,時(shí)期 40年代中--50年代中 產(chǎn)生的背景 應(yīng)用需求科學(xué)計(jì)算 硬件水平無直接存取存儲設(shè)備 軟件水平?jīng)]
8、有操作系統(tǒng) 處理方式批處理,An Introduction to Database Systems,人工管理(續(xù)),特點(diǎn) 數(shù)據(jù)的管理者:應(yīng)用程序,數(shù)據(jù)不保存。 數(shù)據(jù)面向的對象:某一應(yīng)用程序 數(shù)據(jù)的共享程度:無共享、冗余度極大 數(shù)據(jù)的獨(dú)立性:不獨(dú)立,完全依賴于程序 數(shù)據(jù)的結(jié)構(gòu)化:無結(jié)構(gòu) 數(shù)據(jù)控制能力:應(yīng)用程序自己控制,An Introduction to Database Systems,應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(人工管理),,,An Introduction to Database Systems,二、文件系統(tǒng),時(shí)期 50年代末--60年代中 產(chǎn)生的背景 應(yīng)用需求科學(xué)計(jì)算、管理 硬件水平磁盤、
9、磁鼓 軟件水平有文件系統(tǒng) 處理方式聯(lián)機(jī)實(shí)時(shí)處理、批處理,An Introduction to Database Systems,文件系統(tǒng)(續(xù)),特點(diǎn) 數(shù)據(jù)的管理者:文件系統(tǒng),數(shù)據(jù)可長期保存 數(shù)據(jù)面向的對象:某一應(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)用程序自己控制,An Introduction to Database Systems,應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(文件系統(tǒng)),An Introduction to Database Systems,文件系統(tǒng)中數(shù)據(jù)
10、的結(jié)構(gòu),記錄內(nèi)有結(jié)構(gòu)。 數(shù)據(jù)的結(jié)構(gòu)是靠程序定義和解釋的。 數(shù)據(jù)只能是定長的。 可以間接實(shí)現(xiàn)數(shù)據(jù)變長要求,但訪問相應(yīng)數(shù)據(jù)的應(yīng)用程序復(fù)雜了。 文件間是獨(dú)立的,因此數(shù)據(jù)整體無結(jié)構(gòu)。 可以間接實(shí)現(xiàn)數(shù)據(jù)整體的有結(jié)構(gòu),但必須在應(yīng)用程序中對描述數(shù)據(jù)間的聯(lián)系。 數(shù)據(jù)的最小存取單位是記錄。,An Introduction to Database Systems,三、數(shù)據(jù)庫系統(tǒng),時(shí)期 60年代末以來 產(chǎn)生的背景 應(yīng)用背景大規(guī)模管理 硬件背景大容量磁盤 軟件背景有數(shù)據(jù)庫管理系統(tǒng) 處理方式聯(lián)機(jī)實(shí)時(shí)處理,分布處理, 批處理,An Introduction to Database Systems,數(shù)據(jù)庫系統(tǒng)(續(xù)
11、),特點(diǎn) 數(shù)據(jù)的管理者:DBMS 數(shù)據(jù)面向的對象:現(xiàn)實(shí)世界 數(shù)據(jù)的共享程度:共享性高 數(shù)據(jù)的獨(dú)立性:高度的物理獨(dú)立性和一定的 邏輯獨(dú)立性 數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化 數(shù)據(jù)控制能力:由DBMS統(tǒng)一管理和控制,An Introduction to Database Systems,應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(數(shù)據(jù)庫系統(tǒng)),An Introduction to Database Systems,數(shù)據(jù)共享性的好處,降低數(shù)據(jù)的冗余度,節(jié)省存儲空間 避免數(shù)據(jù)間的不一致性 使系統(tǒng)易于擴(kuò)充,An Introduction to Database Systems,數(shù)據(jù)獨(dú)立性,物理獨(dú)立性 指用戶的應(yīng)用程
12、序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨(dú)立的。當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。 邏輯獨(dú)立性 指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。,An Introduction to Database Systems,數(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ù)可以變長。 數(shù)據(jù)的最小存取單位是數(shù)據(jù)項(xiàng)。,,An Introduction to Database Systems,DBMS對數(shù)據(jù)的控制功能,數(shù)據(jù)的安全性(Security)保護(hù) 使每個(gè)用戶只能按
13、指定方式使用和處理指定數(shù)據(jù),保護(hù)數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。 數(shù)據(jù)的完整性(Integrity)檢查 將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。,An Introduction to Database Systems,DBMS對數(shù)據(jù)的控制功能,并發(fā)(Concurrency)控制 對多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯(cuò)誤的結(jié)果。 數(shù)據(jù)庫恢復(fù)(Recovery) 將數(shù)據(jù)庫從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。,An Introduction to Database Systems,第一章 緒論,1.1 數(shù)據(jù)庫系統(tǒng)概述 1.2 數(shù)據(jù)模型 1.3 數(shù)據(jù)庫系
14、統(tǒng)結(jié)構(gòu) 1.4 數(shù)據(jù)庫系統(tǒng)的組成 1.5 數(shù)據(jù)庫技術(shù)的研究領(lǐng)域 1.6 小結(jié),An Introduction to Database Systems,1.2 數(shù)據(jù)模型,1.2.1 數(shù)據(jù)模型的組成要素 1.2.2 概念模型 1.2.3 常用數(shù)據(jù)模型 1.2.4 層次模型 1.2.5 網(wǎng)狀模型 1.2.6 關(guān)系模型,An Introduction to Database Systems,數(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),An I
15、ntroduction to Database Systems,數(shù)據(jù)模型(續(xù)),數(shù)據(jù)模型分成兩個(gè)不同的層次 (1) 概念模型 也稱信息模型,它是按用戶的觀點(diǎn)來對數(shù)據(jù)和信息建模。 (2) 數(shù)據(jù)模型 主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等,它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(shù)據(jù)建模。,An Introduction to Database Systems,數(shù)據(jù)模型(續(xù)),客觀對象的抽象過程---兩步抽象 現(xiàn)實(shí)世界中的客觀對象抽象為概念模型; 把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。 概念模型是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。,An Introduction to Database Systems,1.
16、2.1 數(shù)據(jù)模型的組成要素,數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)操作 數(shù)據(jù)的約束條件,An Introduction to Database Systems,1. 數(shù)據(jù)結(jié)構(gòu),什么是數(shù)據(jù)結(jié)構(gòu) 對象類型的集合 兩類對象 與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對象 與數(shù)據(jù)之間聯(lián)系有關(guān)的對象 數(shù)據(jù)結(jié)構(gòu)是對系統(tǒng)靜態(tài)特性的描述,An Introduction to Database Systems,2.數(shù)據(jù)操作,數(shù)據(jù)操作 對數(shù)據(jù)庫中各種對象(型)的實(shí)例(值)允許執(zhí)行的操作及有關(guān)的操作規(guī)則 數(shù)據(jù)操作的類型 檢索 更新(包括插入、刪除、修改),An Introduction to Database Systems,數(shù)據(jù)操作(續(xù)),數(shù)據(jù)模型對
17、操作的定義 操作的確切含義 操作符號 操作規(guī)則(如優(yōu)先級) 實(shí)現(xiàn)操作的語言 數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述。,An Introduction to Database Systems,3.數(shù)據(jù)的約束條件,一組完整性規(guī)則的集合。 客觀世界中“存在即合理”,確保系統(tǒng)合理的是“自然法則”。但是在概念世界中,這種合理性只能通過一組“完整性規(guī)則”來確保。 完整性規(guī)則是對數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所應(yīng)滿足的性質(zhì)進(jìn)行的規(guī)定,用以限定數(shù)據(jù)模型合理的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)庫中的數(shù)據(jù)是正確、有效、相容的。,An Introduction to Database Systems,數(shù)據(jù)的約束條件(續(xù)),2類約
18、束條件 反映和規(guī)定本數(shù)據(jù)模型必須遵守的基本的通用的完整性約束條件。例如在關(guān)系模型中,任何關(guān)系必須滿足實(shí)體完整性和參照完整性兩個(gè)條件。 提供定義完整性約束條件的機(jī)制,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。,An Introduction to Database Systems,1.2 數(shù)據(jù)模型,1.2.1 數(shù)據(jù)模型的組成要素 1.2.2 概念模型 1.2.3 常用數(shù)據(jù)模型 1.2.4 層次模型 1.2.5 網(wǎng)狀模型 1.2.6 關(guān)系模型,An Introduction to Database Systems,1.2.2 概念模型,1. 概念模型 2. 信息世界中的基本概念 3.
19、 概念模型的表示方法,An Introduction to Database Systems,1. 概念模型,概念模型的用途 概念模型用于信息世界的建模 是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次 是數(shù)據(jù)庫設(shè)計(jì)的有力工具 數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言 對概念模型的基本要求 較強(qiáng)的語義表達(dá)能力,能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識 簡單、清晰、易于用戶理解。,An Introduction to Database Systems,2. 信息世界中的基本概念,(1) 實(shí)體(Entity) 客觀存在并可相互區(qū)別的事物稱為實(shí)體。 可以是具體的人、事、物或抽象的概念。 (2) 屬性(Attribu
20、te) 實(shí)體所具有的某一特性稱為屬性。 一個(gè)實(shí)體可以由若干個(gè)屬性來刻畫。 (3) 碼(Key) 唯一標(biāo)識實(shí)體的屬性集稱為碼。,An Introduction to Database Systems,信息世界中的基本概念(續(xù)),(4) 域(Domain) 屬性的取值范圍稱為該屬性的域。 (5) 實(shí)體型(Entity Type) 用實(shí)體名及其屬性名集合來抽象和刻畫 同類實(shí)體稱為實(shí)體型 (6) 實(shí)體集(Entity Set) 同型實(shí)體的集合稱為實(shí)體集,An Introduction to Database Systems,信息世界中的基本概念(續(xù)),(7) 聯(lián)系(Relationship) 現(xiàn)實(shí)世界
21、中事物內(nèi)部以及事物之間的聯(lián)系在信息世界 中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系 實(shí)體型間聯(lián)系 兩個(gè)實(shí)體型 一對一聯(lián)系(1:1) 三個(gè)實(shí)體型 一對多聯(lián)系(1:n) 一個(gè)實(shí)體型 多對多聯(lián)系(m:n),,,An Introduction to Database Systems,兩個(gè)實(shí)體型間的聯(lián)系,An Introduction to Database Systems,兩個(gè)實(shí)體型間的聯(lián)系,一對一聯(lián)系 如果對于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對一聯(lián)系。記為1:1。 實(shí)例 班級與班長之間的聯(lián)系: 一個(gè)班級只有一個(gè)正班長
22、 一個(gè)班長只在一個(gè)班中任職,,An Introduction to Database Systems,兩個(gè)實(shí)體型間的聯(lián)系 (續(xù)),一對多聯(lián)系 如果對于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n0)與之聯(lián)系,反之,對于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B有一對多聯(lián)系 記為1:n 實(shí)例 班級與學(xué)生之間的聯(lián)系: 一個(gè)班級中有若干名學(xué)生, 每個(gè)學(xué)生只在一個(gè)班級中學(xué)習(xí),,An Introduction to Database Systems,兩個(gè)實(shí)體型間的聯(lián)系 (續(xù)),多對多聯(lián)系(m:n) 如果對于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n0)與
23、之聯(lián)系,反之,對于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m0)與之聯(lián)系,則稱實(shí)體集A與實(shí)體B具有多對多聯(lián)系。記為m:n 實(shí)例 課程與學(xué)生之間的聯(lián)系: 一門課程同時(shí)有若干個(gè)學(xué)生選修 一個(gè)學(xué)生可以同時(shí)選修多門課程,,An Introduction to Database Systems,多個(gè)實(shí)體型間的聯(lián)系(續(xù)),多個(gè)實(shí)體型間的一對多聯(lián)系 若實(shí)體集E1,E2,...,En存在聯(lián)系,對于實(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)系是一對多的。,An Int
24、roduction to Database Systems,多個(gè)實(shí)體型間的聯(lián)系(續(xù)),實(shí)例 課程、教師與參考書三個(gè)實(shí)體型 如果一門課程可以有若干個(gè)教師講授,使用若干 本參考書,每一個(gè)教師只講授一門課程,每一本 參考書只供一門課程使用 課程與教師、參考書之間的聯(lián)系是一對多的 多個(gè)實(shí)體型間的一對一聯(lián)系 多個(gè)實(shí)體型間的多對多聯(lián)系,,An Introduction to Database Systems,同一實(shí)體集內(nèi)各實(shí)體間的聯(lián)系,一對多聯(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) 這是一對多的聯(lián)系 一對一聯(lián)系 多對多聯(lián)系,,
25、An Introduction to Database Systems,3. 概念模型的表示方法,概念模型的表示方法很多 實(shí)體聯(lián)系方法(E-R方法) 用E-R圖來描述現(xiàn)實(shí)世界的概念模型 E-R方法也稱為E-R模型,An Introduction to Database Systems,E-R圖,實(shí)體型 用矩形表示,矩形框內(nèi)寫明實(shí)體名。,學(xué)生,教師,An Introduction to Database Systems,E-R圖(續(xù)),屬性 用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來,An Introduction to Database Systems,E-R圖(續(xù)),聯(lián)系 聯(lián)系本身:用
26、菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1、1:n或m:n) 聯(lián)系的屬性:聯(lián)系本身也是一種實(shí)體型,也可以有屬性。如果一個(gè)聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來,,,,An Introduction to Database Systems,聯(lián)系的表示方法,,An Introduction to Database Systems,聯(lián)系的表示方法(續(xù)),An Introduction to Database Systems,聯(lián)系的表示方法示例,,,,An Introduction to Database Systems,聯(lián)系的表
27、示方法示例(續(xù)),,,,An Introduction to Database Systems,聯(lián)系屬性的表示方法,,An Introduction to Database Systems,E-R圖(續(xù)),E-R圖實(shí)例: P19-P20 某工廠物資管理E-R圖,An Introduction to Database Systems,1.2.3 常用數(shù)據(jù)模型,非關(guān)系模型 層次模型(Hierarchical Model) 網(wǎng)狀模型(Network Model ) 數(shù)據(jù)結(jié)構(gòu):以基本層次聯(lián)系為基本單位 基本層次聯(lián)系:兩個(gè)記錄以及它們之間的一對多(包括一對一)的聯(lián)系,An Introduction to
28、 Database Systems,常用數(shù)據(jù)模型(續(xù)),關(guān)系模型(Relational Model) 數(shù)據(jù)結(jié)構(gòu):表 面向?qū)ο竽P?Object Oriented Model) 數(shù)據(jù)結(jié)構(gòu):對象,An Introduction to Database Systems,1.2 數(shù)據(jù)模型,1.2.1 數(shù)據(jù)模型的組成要素 1.2.2 概念模型 1.2.3 常用數(shù)據(jù)模型 1.2.4 層次模型 1.2.5 網(wǎng)狀模型 1.2.6 關(guān)系模型,An Introduction to Database Systems,1.2.4 層次模型,1. 層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 2. 層次數(shù)據(jù)模型的數(shù)據(jù)操縱 3. 層次數(shù)據(jù)模型
29、的與完整性約束 4. 層次數(shù)據(jù)模型的存儲結(jié)構(gòu) 5. 層次數(shù)據(jù)模型的優(yōu)缺點(diǎn) 6. 典型的層次數(shù)據(jù)庫系統(tǒng),An Introduction to Database Systems,1. 層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu),層次模型 滿足下面兩個(gè)條件的基本層次聯(lián)系的集合為層次模型。 1. 有且只有一個(gè)結(jié)點(diǎn)沒有雙親結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱為根 結(jié)點(diǎn) 2. 根以外的其它結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn) 層次模型中的幾個(gè)術(shù)語 根結(jié)點(diǎn),雙親結(jié)點(diǎn),兄弟結(jié)點(diǎn),葉結(jié)點(diǎn),An Introduction to Database Systems,層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),,An Introduction to Database Systems
30、,層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),表示方法 實(shí)體型:用記錄類型描述。 每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類型。 屬性:用字段描述。每個(gè)記錄類型可包含若干個(gè)字段。 聯(lián)系:用結(jié)點(diǎn)之間的連線表示記錄(類)型之間的 一對多的聯(lián)系 實(shí)例:教員-學(xué)生數(shù)據(jù)模型(P23),An Introduction to Database Systems,層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),特點(diǎn) 結(jié)點(diǎn)的雙親是唯一的 只能直接處理一對多的實(shí)體聯(lián)系 每個(gè)記錄類型定義一個(gè)排序字段,也稱為碼字段 任何記錄值只有按其路徑查看時(shí),才能顯出它的全部意義 沒有一個(gè)子女記錄值能夠脫離雙親記錄值而獨(dú)立存在,An Introduction to Da
31、tabase Systems,層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),多對多聯(lián)系在層次模型中的表示 用層次模型間接表示多對多聯(lián)系 方法 將多對多聯(lián)系分解成一對多聯(lián)系 分解方法 冗余結(jié)點(diǎn)法 虛擬結(jié)點(diǎn)法,An Introduction to Database Systems,2. 層次模型的數(shù)據(jù)操縱,查詢 插入 刪除 更新,An Introduction to Database Systems,3. 層次模型的完整性約束,無相應(yīng)的雙親結(jié)點(diǎn)值就不能插入子女結(jié)點(diǎn)值 如果刪除雙親結(jié)點(diǎn)值,則相應(yīng)的子女結(jié)點(diǎn)值也被同時(shí)刪除 更新操作時(shí),應(yīng)更新所有相應(yīng)記錄,以保證數(shù)據(jù)的一致性,An Introduction to Dat
32、abase Systems,4.層次數(shù)據(jù)模型的存儲結(jié)構(gòu),鄰接法 按照層次樹前序遍歷的順序把所有記錄值依次鄰接存 放,即通過物理空間的位置相鄰來實(shí)現(xiàn)層次順序 鏈接法 用指引元來反映數(shù)據(jù)之間的層次聯(lián)系 子女兄弟鏈接法 P26 層次序列鏈接法 P26,An Introduction to Database Systems,5. 層次模型的優(yōu)缺點(diǎn),優(yōu)點(diǎn) 層次數(shù)據(jù)模型簡單,對具有一對多的層次關(guān)系的部門描述自然、直觀,容易理解 性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型 層次數(shù)據(jù)模型提供了良好的完整性支持 缺點(diǎn) 多對多聯(lián)系表示不自然 對插入和刪除操作的限制多 查詢子女結(jié)點(diǎn)必須通過雙親結(jié)點(diǎn) 層次命令趨于程序化,An
33、Introduction to Database Systems,6. 典型的層次數(shù)據(jù)庫系統(tǒng),IMS數(shù)據(jù)庫管理系統(tǒng) 第一個(gè)大型商用DBMS 1968年推出 IBM公司研制,An Introduction to Database Systems,1.2 數(shù)據(jù)模型,1.2.1 概念模型 1.2.2 數(shù)據(jù)模型的組成要素 1.2.3 最常用的數(shù)據(jù)模型 1.2.4 層次模型 1.2.5 網(wǎng)狀模型 1.2.6 關(guān)系模型,An Introduction to Database Systems,1.2.5 網(wǎng)狀模型,1. 網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 2. 網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)操縱 3. 網(wǎng)狀數(shù)據(jù)模型的完整性約束 4
34、. 網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu) 5. 網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點(diǎn) 6. 典型的網(wǎng)狀數(shù)據(jù)庫系統(tǒng),An Introduction to Database Systems,基本層次聯(lián)系(DBTG Set) 帶命名標(biāo)識的m:1聯(lián)系,1.網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu),An Introduction to Database Systems,1.網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu),網(wǎng)狀模型 滿足下面兩個(gè)條件的基本層次聯(lián)系的集合為網(wǎng)狀模型。 1. 允許一個(gè)以上的結(jié)點(diǎn)無雙親; 2. 一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親。,An Introduction to Database Systems,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu),,,,,An Introduc
35、tion to Database Systems,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),表示方法(與層次數(shù)據(jù)模型相同) 實(shí)體型:用記錄類型描述。 每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類型。 屬性:用字段描述。 每個(gè)記錄類型可包含若干個(gè)字段。 聯(lián)系:用結(jié)點(diǎn)之間的連線表示記錄(類)型之 間的一對多的父子聯(lián)系。,An Introduction to Database Systems,網(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)狀模
36、型的一個(gè)特例,An Introduction to Database Systems,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),,,,,結(jié)點(diǎn)有多個(gè)雙親結(jié)點(diǎn),An Introduction to Database Systems,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),,兩個(gè)結(jié)點(diǎn)之間有多種聯(lián)系,An Introduction to Database Systems,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),An Introduction to Database Systems,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),An Introduction to Database Systems,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),多對多聯(lián)系在網(wǎng)狀模型中
37、的表示 將多對多聯(lián)系直接分解成一對多聯(lián)系,選課,,An Introduction to Database Systems,2. 網(wǎng)狀模型的數(shù)據(jù)操縱,查詢 插入 刪除 更新,An Introduction to Database Systems,3.網(wǎng)狀數(shù)據(jù)模型的完整性約束,網(wǎng)狀數(shù)據(jù)庫系統(tǒng)(如DBTG)對數(shù)據(jù)操縱加 了一些限制,提供了一定的完整性約束 碼 雙親結(jié)點(diǎn)與子女結(jié)點(diǎn)之間是一對多聯(lián)系 屬籍類別 加入類別(自動的,手工的) 移出類別(固定的,必須 的,隨意的),An Introduction to Database Systems,3. 網(wǎng)狀數(shù)據(jù)模型的完整性約束,完整性約束條件 允許插入尚未
38、確定雙親結(jié)點(diǎn)值的子女結(jié)點(diǎn)值 允許只刪除雙親結(jié)點(diǎn)值,An Introduction to Database Systems,4.網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu),關(guān)鍵 實(shí)現(xiàn)記錄之間的聯(lián)系 常用方法 單向鏈接 雙向鏈接 環(huán)狀鏈接 向首鏈接 例:P29,An Introduction to Database Systems,5.網(wǎng)狀模型的優(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ù)雜,用戶不容易使用,An Introduction to Dat
39、abase Systems,6. 典型的網(wǎng)狀數(shù)據(jù)庫系統(tǒng),DBTG系統(tǒng),亦稱CODASYL系統(tǒng) 由DBTG提出的一個(gè)系統(tǒng)方案 奠定了數(shù)據(jù)庫系統(tǒng)的基本概念、方法和技術(shù) 70年代推出 實(shí)際系統(tǒng) Cullinet Software Inc.公司的 IDMS Univac公司的 DMS1100 Honeywell公司的IDS/2 HP公司的IMAGE,An Introduction to Database Systems,1.2 數(shù)據(jù)模型,1.2.1 概念模型 1.2.2 數(shù)據(jù)模型的組成要素 1.2.3 最常用的數(shù)據(jù)模型 1.2.4 層次模型 1.2.5 網(wǎng)狀模型 1.2.6 關(guān)系模型,An Intro
40、duction to Database Systems,關(guān)系模型,最重要的一種數(shù)據(jù)模型。也是目前主要采用的數(shù)據(jù)模型 1970年由美國IBM公司San Jose研究室的研究員E.F.Codd提出 本課程的重點(diǎn),An Introduction to Database Systems,關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu),在用戶觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。,An Introduction to Database Systems,關(guān)系模型的基本概念,關(guān)系(Relation) 一個(gè)關(guān)系對應(yīng)通常說的一張表。 元組(Tuple) 表中的一行即為一個(gè)元組。 屬性(Attribute) 表中
41、的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱即屬性名。,An Introduction to Database Systems,關(guān)系模型的基本概念,主碼(Key) 表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組。 域(Domain) 屬性的取值范圍。 分量 元組中的一個(gè)屬性值。 關(guān)系模式 對關(guān)系的描述 關(guān)系名(屬性1,屬性2,,屬性n) 學(xué)生(學(xué)號,姓名,年齡,性別,系,年級),An Introduction to Database Systems,關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),實(shí)體及實(shí)體間的聯(lián)系的表示方法 實(shí)體型:直接用關(guān)系(表)表示。 屬性:用屬性名表示。 一對一聯(lián)系:隱含在實(shí)體對應(yīng)的關(guān)系中。 一
42、對多聯(lián)系:隱含在實(shí)體對應(yīng)的關(guān)系中。 多對多聯(lián)系:直接用關(guān)系表示。,An Introduction to Database Systems,關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),例1 學(xué)生、系、系與學(xué)生之間的一對多聯(lián)系: 學(xué)生(學(xué)號,姓名,年齡,性別,系號,年級) 系 (系號,系名,辦公地點(diǎn)) 例2 系、系主任、系與系主任間的一對一聯(lián)系,An Introduction to Database Systems,關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),例3 學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系: 學(xué)生(學(xué)號,姓名,年齡,性別,系號,年級) 課程(課程號,課程名,學(xué)分) 選修(學(xué)號,課程號,成績),An Introd
43、uction to Database Systems,關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),關(guān)系必須是規(guī)范化的,滿足一定的規(guī)范條件 最基本的規(guī)范條件:關(guān)系的每一個(gè)分量必須是一個(gè)不 可分的數(shù)據(jù)項(xiàng)。,An Introduction to Database Systems,2.關(guān)系模型的數(shù)據(jù)操縱,查詢、插入、刪除、更新 數(shù)據(jù)操作是集合操作,操作對象和操作結(jié)果都是關(guān)系,即若干元組的集合 存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細(xì)說明“怎么干”,An Introduction to Database Systems,3.關(guān)系模型的完整性約束,實(shí)體完整性 參照完整性 用戶定義的完整性,An Introd
44、uction to Database Systems,4.關(guān)系數(shù)據(jù)模型的存儲結(jié)構(gòu),表以文件形式存儲 有的DBMS一個(gè)表對應(yīng)一個(gè)操作系統(tǒng)文件 有的DBMS自己設(shè)計(jì)文件結(jié)構(gòu),An Introduction to Database Systems,5.關(guān)系模型的優(yōu)缺點(diǎn),優(yōu)點(diǎn) 建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上 概念單一。數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用 實(shí)體和各類聯(lián)系都用關(guān)系來表示。 對數(shù)據(jù)的檢索結(jié)果也是關(guān)系。 關(guān)系模型的存取路徑對用戶透明 具有更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性 簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作,An Introduction to Database Systems,關(guān)系模型的優(yōu)缺點(diǎn)(續(xù)),缺點(diǎn) 存取路徑對用戶透明導(dǎo)致查詢效率往往不如非 關(guān)系數(shù)據(jù)模型 為提高性能,必須對用戶的查詢請求進(jìn)行優(yōu)化 增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度,An Introduction to Database Systems,6. 典型的關(guān)系數(shù)據(jù)庫系統(tǒng),ORACLE SQL Server DB/2 SYBASE KingbaseES DM4 OpenBase OSCAR http//,An Introduction to Database Systems,下課了。。。,追求,休息一會兒。。。,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 110中國人民警察節(jié)(筑牢忠誠警魂感受別樣警彩)
- 2025正字當(dāng)頭廉字入心爭當(dāng)公安隊(duì)伍鐵軍
- XX國企干部警示教育片觀后感筑牢信仰之基堅(jiān)守廉潔底線
- 2025做擔(dān)當(dāng)時(shí)代大任的中國青年P(guān)PT青年思想教育微黨課
- 2025新年工作部署會圍繞六個(gè)干字提要求
- XX地區(qū)中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 支部書記上黨課筑牢清廉信念為高質(zhì)量發(fā)展?fàn)I造風(fēng)清氣正的環(huán)境
- 冬季消防安全知識培訓(xùn)冬季用電防火安全
- 2025加強(qiáng)政治引領(lǐng)(政治引領(lǐng)是現(xiàn)代政黨的重要功能)
- 主播直播培訓(xùn)直播技巧與方法
- 2025六廉六進(jìn)持續(xù)涵養(yǎng)良好政治生態(tài)
- 員工職業(yè)生涯規(guī)劃方案制定個(gè)人職業(yè)生涯規(guī)劃
- 2024年XX地區(qū)黨建引領(lǐng)鄉(xiāng)村振興工作總結(jié)
- XX中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 幼兒園期末家長會長長的路慢慢地走