數(shù)據(jù)庫(kù)技術(shù)教程(基于Oracle系統(tǒng))電子教案課件_第1頁(yè)
數(shù)據(jù)庫(kù)技術(shù)教程(基于Oracle系統(tǒng))電子教案課件_第2頁(yè)
數(shù)據(jù)庫(kù)技術(shù)教程(基于Oracle系統(tǒng))電子教案課件_第3頁(yè)
數(shù)據(jù)庫(kù)技術(shù)教程(基于Oracle系統(tǒng))電子教案課件_第4頁(yè)
數(shù)據(jù)庫(kù)技術(shù)教程(基于Oracle系統(tǒng))電子教案課件_第5頁(yè)
已閱讀5頁(yè),還剩118頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)原理與應(yīng)用數(shù)據(jù)庫(kù)原理與應(yīng)用 教材教材李卓玲李卓玲 費(fèi)雅潔:數(shù)據(jù)庫(kù)實(shí)用技術(shù)教程費(fèi)雅潔:數(shù)據(jù)庫(kù)實(shí)用技術(shù)教程(基于基于Oracle系統(tǒng)系統(tǒng)) 高等教育出版社,高等教育出版社,2007.12 學(xué)習(xí)方式學(xué)習(xí)方式 聽(tīng)課 (啟發(fā)式、討論式) 讀書(shū) (預(yù)習(xí)、復(fù)習(xí)) 實(shí)踐 (綜合練習(xí))考試成績(jī)考試成績(jī) 平時(shí)成績(jī) (書(shū)面作業(yè)) 實(shí)踐考試 (上機(jī)練習(xí)) 期末考試內(nèi)容安排內(nèi)容安排(1) 原理基礎(chǔ)篇 -第1章 緒論 -第2章 關(guān)系數(shù)據(jù)庫(kù)的理論基礎(chǔ) -第3章 SQL基礎(chǔ) -第4章 數(shù)據(jù)庫(kù)設(shè)計(jì)內(nèi)容安排內(nèi)容安排(2) 應(yīng)用篇-第5章 Oracle數(shù)據(jù)庫(kù)和表空間-第6章 Oracle基本對(duì)象-第7章 PL/SQL編程語(yǔ)言

2、-第8章 PL/SQL應(yīng)用-第9章 Oracle的安全性-第10章 Oracle綜合實(shí)例數(shù)據(jù)庫(kù)原理與應(yīng)用數(shù)據(jù)庫(kù)原理與應(yīng)用 第第1章章 緒論緒論學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo) l掌握數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)的概念,了解數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)。l了解數(shù)據(jù)模型三要素,掌握E-R圖的畫(huà)法。l 掌握關(guān)系、元組、屬性、碼、關(guān)系模式、關(guān)系模型等基本概念。l 了解數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式和二級(jí)映像結(jié)構(gòu)。l 了解數(shù)據(jù)庫(kù)管理系統(tǒng)的組成和功能以及數(shù)據(jù)庫(kù)系統(tǒng)的組成。l了解Oracle數(shù)據(jù)庫(kù)管理系統(tǒng)的體系結(jié)構(gòu)。數(shù)據(jù)庫(kù)的作用數(shù)據(jù)庫(kù)的作用 u數(shù)據(jù)庫(kù)技術(shù)是計(jì)算機(jī)領(lǐng)域中最為活躍的技術(shù)之一,是計(jì)算機(jī)科學(xué)的重要分支,它的出現(xiàn)對(duì)于許多企事業(yè)單位提

3、高科學(xué)管理水平都起到舉足輕重的作用。u對(duì)于一個(gè)企事業(yè)單位來(lái)說(shuō),數(shù)據(jù)庫(kù)的建設(shè)規(guī)模、數(shù)據(jù)庫(kù)信息量的大小和使用頻度已成為衡量這個(gè)機(jī)構(gòu)信息化程度的重要標(biāo)志。11 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述12 數(shù)據(jù)模型數(shù)據(jù)模型13 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)第第1章章 緒論緒論 1.1 數(shù)據(jù)庫(kù)系統(tǒng)概述1.1.1 數(shù)據(jù)庫(kù)基本術(shù)語(yǔ)數(shù)據(jù)庫(kù)基本術(shù)語(yǔ)1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)管理技術(shù)的發(fā)展1.1.3 數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)1.1.1 數(shù)據(jù)庫(kù)基本術(shù)語(yǔ) 數(shù)據(jù)(Data) 數(shù)據(jù)庫(kù)(Database) 數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS) 數(shù)據(jù)庫(kù)系統(tǒng)(DBS)數(shù)據(jù)(data) 定義 對(duì)事物進(jìn)行描述的符號(hào)集合。 種類(lèi) 數(shù)字、

4、文字、圖形、圖像、聲音、記錄等。 數(shù)據(jù)與語(yǔ)義不可分割數(shù)據(jù)(data) 例:有一條記錄如下 (張力,男,1955.12,1978) 問(wèn)題:這條記錄中的1978表示什么?是此職工的工資額還是他參加工作時(shí)間或入校時(shí)間? 一種解釋是,張力是一位男同志,1955年12月出生,現(xiàn)在每月工資收入1978元。 還可以有另外的解釋?zhuān)?此記錄的通用表示為: 姓名、性別、出生年月、工資數(shù)據(jù)庫(kù)(dataBase ,DB) 解釋?zhuān)簲?shù)據(jù)庫(kù)就是存放數(shù)據(jù)的倉(cāng)庫(kù) 特點(diǎn):所存放的所有數(shù)據(jù)是彼此聯(lián)系、并按照某種存儲(chǔ)模式進(jìn)行組織和管理的。 定義:從嚴(yán)格意義上講,數(shù)據(jù)庫(kù)就是以一定的組織方式存儲(chǔ)在計(jì)算機(jī)中相互關(guān)聯(lián)的數(shù)據(jù)的集合。它能夠以最

5、佳的方式、最少的重復(fù)和最大的獨(dú)立性為多種應(yīng)用提供共享服務(wù)。數(shù)據(jù)庫(kù)管理系統(tǒng) 定義數(shù)據(jù)庫(kù)管理系統(tǒng)(dataBase management system ,DBMS)是專(zhuān)門(mén)用于建立和管理數(shù)據(jù)的軟件系統(tǒng),是位于用戶(hù)和操作系統(tǒng)之間的數(shù)據(jù)管理軟件。 作用 在建立、運(yùn)用和維護(hù)數(shù)據(jù)庫(kù)時(shí),由數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)其統(tǒng)一管理、統(tǒng)一控制。數(shù)據(jù)庫(kù)管理系統(tǒng)使用戶(hù)方便地定義數(shù)據(jù)和操縱數(shù)據(jù),并能夠保證數(shù)據(jù)的安全性、完整性、并發(fā)性及發(fā)生故障后及時(shí)進(jìn)行系統(tǒng)恢復(fù)。數(shù)據(jù)庫(kù)系統(tǒng) 數(shù)據(jù)庫(kù)系統(tǒng)(database system,DBS)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)之后的系統(tǒng)構(gòu)成 組成 通常由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)及其開(kāi)發(fā)工具、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管

6、理員和用戶(hù)構(gòu)成。 DBA 數(shù)據(jù)庫(kù)的建立、使用和維護(hù)等工作僅依靠一個(gè)DBMS是遠(yuǎn)遠(yuǎn)不夠的,還要有專(zhuān)職人員來(lái)完成,這些人稱(chēng)為數(shù)據(jù)庫(kù)管理員(database administrator ,DBA)。 DBA的主要任務(wù) 決定數(shù)據(jù)庫(kù)所包含的信息內(nèi)容,充當(dāng)數(shù)據(jù)庫(kù)系統(tǒng)與用戶(hù)的聯(lián)絡(luò)員,決定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和訪問(wèn)策略,決定數(shù)據(jù)庫(kù)的保護(hù)策略,監(jiān)視數(shù)據(jù)庫(kù)系統(tǒng)的工作,響應(yīng)數(shù)據(jù)庫(kù)系統(tǒng)的某些變化,改善系統(tǒng)時(shí)效性,提高系統(tǒng)工作效率。 數(shù)據(jù)庫(kù)系統(tǒng)的地位1.1 數(shù)據(jù)庫(kù)系統(tǒng)概述1.1.1 數(shù)據(jù)庫(kù)基本術(shù)語(yǔ)數(shù)據(jù)庫(kù)基本術(shù)語(yǔ)1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)管理技術(shù)的發(fā)展1.1.3 數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)1.1.2數(shù)據(jù)管理技術(shù)的

7、發(fā)展 程序管理階段 文件系統(tǒng)階段 數(shù)據(jù)庫(kù)系統(tǒng)階段程序管理階段 特點(diǎn)(1)數(shù)據(jù)不保存(2)數(shù)據(jù)管理由程序完成。(3)數(shù)據(jù)不共享,即數(shù)據(jù)是面向應(yīng)用的。(4)數(shù)據(jù)不具有獨(dú)立性。文件系統(tǒng)階段 特點(diǎn)(1)數(shù)據(jù)可以長(zhǎng)期保存。(2) 由文件系統(tǒng)管理數(shù)據(jù)。(3)數(shù)據(jù)共享性差。(4)數(shù)據(jù)獨(dú)立性低。數(shù)據(jù)庫(kù)系統(tǒng)階段 時(shí)間: 從20世紀(jì)60年代后期開(kāi)始 面向:大規(guī)模數(shù)據(jù)量、廣泛的應(yīng)用、共享數(shù)據(jù)集合 統(tǒng)一管理數(shù)據(jù)的專(zhuān)門(mén)軟件系統(tǒng)DBMS 在計(jì)算機(jī)科學(xué)領(lǐng)域逐步形成數(shù)據(jù)庫(kù)技術(shù)這一獨(dú)立分支。1.1 數(shù)據(jù)庫(kù)系統(tǒng)概述1.1.1 數(shù)據(jù)庫(kù)基本術(shù)語(yǔ)數(shù)據(jù)庫(kù)基本術(shù)語(yǔ)1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)管理技術(shù)的發(fā)展1.1.3 數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)

8、數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)1.1.3 數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn) 數(shù)據(jù)結(jié)構(gòu)化 數(shù)據(jù)共享性好,冗余度低 數(shù)據(jù)獨(dú)立性高 數(shù)據(jù)由DBMS統(tǒng)一管理和控制 數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化 在數(shù)據(jù)庫(kù)系統(tǒng)中,不僅要考慮針對(duì)某個(gè)應(yīng)用的數(shù)據(jù)結(jié)構(gòu),還要考慮整個(gè)組織(即多個(gè)應(yīng)用)的數(shù)據(jù)結(jié)構(gòu)。 數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化 例如:在一個(gè)學(xué)校的管理信息系統(tǒng)中,不僅要考慮學(xué)生的人事管理,還要考慮學(xué)籍管理、選課管理等,可以按照?qǐng)D1.2的方式為該校的管理信息系統(tǒng)組織學(xué)生數(shù)據(jù)。 數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化學(xué)生選課記錄 學(xué)生獎(jiǎng)懲記錄 學(xué)生學(xué)籍記錄 學(xué)生基本記錄 課程記錄 授獎(jiǎng)單位記錄 學(xué)歷授予學(xué)校記錄 課程號(hào) 學(xué)號(hào) 學(xué)分學(xué)號(hào) 日期 學(xué)校代號(hào) 地點(diǎn) 學(xué)歷名

9、學(xué)號(hào) 日期 單位代號(hào) 獎(jiǎng)懲條目學(xué)校代號(hào) 學(xué)校名稱(chēng) 地址 課程號(hào) 課程名 學(xué)號(hào) 姓名 性別 出生年月 入學(xué)成績(jī) 政治面貌 籍貫 家庭出身 單位代號(hào) 單位名稱(chēng)圖1.2 適應(yīng)多種管理的學(xué)生數(shù)據(jù)記錄數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化 體現(xiàn)特征(1)用數(shù)據(jù)模型描述數(shù)據(jù)結(jié)構(gòu),無(wú)需程序定義和解釋。(2)數(shù)據(jù)可以是變長(zhǎng)的。(3)數(shù)據(jù)的最小存取單位是數(shù)據(jù)項(xiàng)。數(shù)據(jù)共享性好,冗余度低數(shù)據(jù)共享性好,冗余度低 數(shù)據(jù)的共享程度直接關(guān)系到數(shù)據(jù)的冗余度。 從整體角度來(lái)看,數(shù)據(jù)庫(kù)系統(tǒng)描述數(shù)據(jù)時(shí)不再面向某個(gè)特定應(yīng)用而是面向整個(gè)系統(tǒng)。 例如:上述學(xué)生基本記錄就可以為多個(gè)應(yīng)用(例如,選課管理、獎(jiǎng)懲情況管理、學(xué)籍情況管理)所共享,這樣既可以大幅度降

10、低數(shù)據(jù)冗余度,節(jié)約存儲(chǔ)空間,又能夠避免數(shù)據(jù)之間的不兼容性與不一致性。 數(shù)據(jù)的不一致性:是指同一數(shù)據(jù)的不同副本的值不一樣。數(shù)據(jù)獨(dú)立性高數(shù)據(jù)獨(dú)立性高 數(shù)據(jù)的獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和邏輯獨(dú)立性。 物理獨(dú)立性是指用戶(hù)的應(yīng)用程序與存儲(chǔ)在磁盤(pán)上的數(shù)據(jù)庫(kù)中數(shù)據(jù)是相互獨(dú)立的。當(dāng)數(shù)據(jù)的物理存儲(chǔ)發(fā)生改變時(shí),應(yīng)用程序無(wú)需改變。 邏輯獨(dú)立性是指用戶(hù)的應(yīng)用程序與數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是相互獨(dú)立的。數(shù)據(jù)的邏輯結(jié)構(gòu)發(fā)生改變時(shí),用戶(hù)程序可以不變。數(shù)據(jù)由數(shù)據(jù)由DBMS統(tǒng)一管理和控制統(tǒng)一管理和控制 數(shù)據(jù)庫(kù)中數(shù)據(jù)的共享是并發(fā)的共享,即多個(gè)用戶(hù)可以同時(shí)存取數(shù)據(jù)庫(kù)中的數(shù)據(jù),甚至可以同時(shí)存取數(shù)據(jù)庫(kù)中同一個(gè)數(shù)據(jù),所以,數(shù)據(jù)庫(kù)中的數(shù)據(jù)是由DB

11、MS統(tǒng)一管理和控制的。為了保證數(shù)據(jù)的正確性, DBMS必須提供數(shù)據(jù)的安全性保護(hù)、數(shù)據(jù)的完整性檢驗(yàn)、并發(fā)控制、數(shù)據(jù)庫(kù)恢復(fù)等功能。 11 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述12 數(shù)據(jù)模型數(shù)據(jù)模型13 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)第第1章章 緒論緒論 1.2 數(shù)據(jù)模型1.2.1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念1.2.2 實(shí)體聯(lián)系模型實(shí)體聯(lián)系模型1.2.3 關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型1.2.4 關(guān)系數(shù)據(jù)庫(kù)概述關(guān)系數(shù)據(jù)庫(kù)概述1.2.1數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念 數(shù)據(jù)結(jié)構(gòu)化是數(shù)據(jù)庫(kù)系統(tǒng)的主要特征之一,數(shù)據(jù)的結(jié)構(gòu)是通過(guò)數(shù)據(jù)模型來(lái)描述的。 數(shù)據(jù)模型的三要素: 數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)操作 完整性約束數(shù)據(jù)模型的三要素?cái)?shù)據(jù)模型的三

12、要素 數(shù)據(jù)結(jié)構(gòu): -描述系統(tǒng)的靜態(tài)特性,是所研究對(duì)象的類(lèi)型集合。 -通常都按照數(shù)據(jù)結(jié)構(gòu)的類(lèi)型來(lái)命名數(shù)據(jù)模型。 -傳統(tǒng)的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關(guān)系模型,關(guān)系模型是目前廣泛采用的數(shù)據(jù)模型。近年出現(xiàn)了對(duì)象數(shù)據(jù)模型。 數(shù)據(jù)操作: -描述系統(tǒng)的動(dòng)態(tài)特性,是對(duì)各種對(duì)象實(shí)例允許執(zhí)行的操作的集合。 -數(shù)據(jù)操作主要分為插入數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)、查詢(xún)數(shù)據(jù)這4類(lèi)。 完整性約束: 是為保證數(shù)據(jù)的正確性、有效性和相容性而制定的一系列規(guī)約。1.2 數(shù)據(jù)模型1.2.1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念1.2.2 實(shí)體聯(lián)系模型實(shí)體聯(lián)系模型1.2.3 關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型1.2.4 關(guān)系數(shù)據(jù)庫(kù)概述關(guān)系數(shù)據(jù)庫(kù)概述1.

13、2.2 實(shí)體聯(lián)系模型實(shí)體聯(lián)系模型 實(shí)體聯(lián)系模型(entity-relationship model) -是建立數(shù)據(jù)模型的一種直觀的圖形方法, -也可稱(chēng)為E-R圖(Entity-Relationship Diagram)。 -它是目前建立數(shù)據(jù)模型所采用的最主要的方法。 E-R圖的作用圖的作用 E-R圖用于信息世界的建模,是從現(xiàn)實(shí)世界到信息世界的第一層抽象,是用戶(hù)與數(shù)據(jù)庫(kù)設(shè)計(jì)人員之間交流的語(yǔ)言。 它是概念級(jí)的模型,所以用E-R圖建立的模型也稱(chēng)為概念模型。 從現(xiàn)實(shí)世界抽象出概念模型,然后把概念模型轉(zhuǎn)換為某個(gè)DBMS支持的數(shù)據(jù)結(jié)構(gòu),這需要一個(gè)過(guò)程,如圖1.3所示。 概念模型實(shí)際上是現(xiàn)實(shí)世界到信息世界再

14、到機(jī)器世界的一個(gè)中間環(huán)節(jié)。E-R圖的作用圖的作用 機(jī)器世界 信息世界 現(xiàn)實(shí)世界 現(xiàn) 實(shí) 世界 人的認(rèn) 識(shí)抽象 概念模型DBMS支持的 數(shù) 據(jù) 結(jié)構(gòu)圖1.3 從現(xiàn)實(shí)世界到信息世界再到機(jī)器世界的過(guò)程E-R圖中常用的基本術(shù)語(yǔ)圖中常用的基本術(shù)語(yǔ) (1)實(shí)體 實(shí)體(entity)是指客觀世界實(shí)際存在并可相互區(qū)別的事物。實(shí)體可以指人,也可指實(shí)際的東西(如椅子、汽車(chē)等),也可以指抽象的和概念性的東西(如一次借書(shū),一種感情等)。 實(shí)體可以分為單個(gè)實(shí)體和實(shí)體集。單個(gè)實(shí)體指單個(gè)的、能相互區(qū)別的特定實(shí)體。若干類(lèi)似實(shí)體可形成一個(gè)實(shí)體集。 例如:所有的學(xué)生組成一個(gè)實(shí)體集,而學(xué)生“趙明”則是單個(gè)實(shí)體;所有的大學(xué)形成一個(gè)實(shí)

15、體集,而某所大學(xué)則是單個(gè)實(shí)體。E-R圖中常用的基本術(shù)語(yǔ)圖中常用的基本術(shù)語(yǔ) (2)屬性 屬性(attribute)是指實(shí)體所具有的某種特性。 例如,一個(gè)人有其姓名、年齡、性別、籍貫、教育程度等,其中的每一項(xiàng)都稱(chēng)為人的屬性。 屬性是對(duì)實(shí)體特征的抽象描述,屬性的具體取值稱(chēng)為屬性值。 例如,“李娜,25,女,山西,本科”這些值均為學(xué)生李娜的屬性值。 同一實(shí)體集中各個(gè)實(shí)體同一屬性的取值范疇稱(chēng)為這個(gè)屬性的值域。 例如,姓名的值域?yàn)樽址?,字符串的長(zhǎng)度一般為8位,性別的值域是(男,女),年齡的值域是小于35的正整數(shù)。 碼:一個(gè)屬性值或一組屬性值如果能唯一標(biāo)識(shí)實(shí)體集中的各個(gè)實(shí)體,則稱(chēng)此屬性或這一組屬性為此

16、實(shí)體集的碼(也稱(chēng)為鍵)。 例如,在一所學(xué)校里,學(xué)號(hào)是唯一能夠標(biāo)識(shí)學(xué)生的屬性,所以學(xué)號(hào)就是學(xué)生實(shí)體的碼。 E-R圖中常用的基本術(shù)語(yǔ)圖中常用的基本術(shù)語(yǔ) (3)聯(lián)系 實(shí)體集之間的聯(lián)系可把實(shí)體集關(guān)聯(lián)起來(lái),即表示現(xiàn)實(shí)世界中事物之間的語(yǔ)義關(guān)系。 例如,“學(xué)生”實(shí)體和“課程”實(shí)體之間存在著“選修”聯(lián)系,聯(lián)系也可以有屬性,如“選修”實(shí)體內(nèi)還可以有“成績(jī)”這一屬性。 兩個(gè)實(shí)體集之間的聯(lián)系可以分為以下3類(lèi) 一對(duì)一聯(lián)系 一對(duì)多聯(lián)系 多對(duì)多聯(lián)系 一對(duì)一聯(lián)系一對(duì)一聯(lián)系 定義 對(duì)于任意兩個(gè)實(shí)體集A和B,如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之聯(lián)系,反之亦然,則稱(chēng)實(shí)體集A與實(shí)體集B之間存在一對(duì)一聯(lián)系,記

17、為1:1。 例子: 班級(jí)和班長(zhǎng)之間存在一對(duì)一聯(lián)系,因?yàn)橐粋€(gè)班級(jí)只能有一個(gè)班長(zhǎng),而班長(zhǎng)只在一個(gè)班級(jí)中任職。一對(duì)多聯(lián)系一對(duì)多聯(lián)系 定義 對(duì)于任意兩個(gè)實(shí)體集A和B,如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n1)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱(chēng)實(shí)體集A與實(shí)體集B之間存在一對(duì)多聯(lián)系,記為1:n。 例子 班級(jí)和學(xué)生實(shí)體之間存在一對(duì)多聯(lián)系,因?yàn)橐粋€(gè)班級(jí)中含有若干名學(xué)生,而每名學(xué)生只從屬于一個(gè)班級(jí)。多對(duì)多聯(lián)系多對(duì)多聯(lián)系 定義 對(duì)于任意兩個(gè)實(shí)體集A和B,如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n1)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每

18、一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m1)與之聯(lián)系,則稱(chēng)實(shí)體集A和實(shí)體集B之間存在多對(duì)多聯(lián)系,記為n:m。 例子 課程與學(xué)生之間存在多對(duì)多聯(lián)系,因?yàn)橐婚T(mén)課程可以有若干名學(xué)生同時(shí)選修,而一名學(xué)生又可以同時(shí)選修多門(mén)課程。三種聯(lián)系的關(guān)系三種聯(lián)系的關(guān)系 一對(duì)一聯(lián)系是一對(duì)多聯(lián)系的特例 一對(duì)多聯(lián)系又是多對(duì)多聯(lián)系的特例。E-R圖的表示方法圖的表示方法 E-R圖中的相關(guān)規(guī)定 -實(shí)體集:用矩形框表示,框內(nèi)寫(xiě)明實(shí)體名。 -屬 性:用橢圓框表示,框內(nèi)寫(xiě)明屬性名,由一條無(wú)向直線與所屬實(shí)體相連。 -聯(lián) 系:用菱形框表示,框內(nèi)寫(xiě)明聯(lián)系名,并用無(wú)向直線分別與有關(guān)實(shí)體相連,同時(shí)在無(wú)向直線旁邊標(biāo)明聯(lián)系的類(lèi)型。 -圖1.4描述3種

19、聯(lián)系類(lèi)型的實(shí)例。E-R圖的表示方法實(shí)例圖的表示方法實(shí)例班級(jí)班長(zhǎng)班級(jí)學(xué)生領(lǐng)導(dǎo)組成選修 課程 學(xué)生 111nnm圖1.4 3種聯(lián)系類(lèi)型實(shí)例E-R圖的表示方法實(shí)例圖的表示方法實(shí)例 “領(lǐng)導(dǎo)”聯(lián)系:一個(gè)班級(jí)只有一名班長(zhǎng),一名班長(zhǎng)只能領(lǐng)導(dǎo)一個(gè)班級(jí),所以班長(zhǎng)與班級(jí)之間存在一對(duì)一聯(lián)系“領(lǐng)導(dǎo)”。 “組成”聯(lián)系:一個(gè)班級(jí)由若干名學(xué)生組成,一名學(xué)生只能隸屬于一個(gè)班級(jí),所以班級(jí)與學(xué)生之間存在一對(duì)多聯(lián)系“組成”。 “選修”聯(lián)系:一名學(xué)生可以選修多門(mén)課程,一門(mén)課程可以被多名學(xué)生選修,所以學(xué)生與課程之間存在多對(duì)多聯(lián)系“選修”。E-R圖的表示方法圖的表示方法建立E-R圖的步驟:1、應(yīng)根據(jù)實(shí)際應(yīng)用首先確定哪些是實(shí)體集,有多少個(gè)

20、實(shí)體集;2、確定實(shí)體集的屬性;3、確定實(shí)體集之間存在怎樣的聯(lián)系以及聯(lián)系的屬性。學(xué)校學(xué)校“教學(xué)管理教學(xué)管理”例子例子 假設(shè)教學(xué)過(guò)程中存在以下一些事實(shí)。 事實(shí)一:一個(gè)班級(jí)由若干名學(xué)生組成,一名學(xué)生隸屬于一個(gè)班級(jí); 事實(shí)二:一名學(xué)生可以選修多門(mén)課程,一門(mén)課程可以被多名學(xué)生選修,并且選修后會(huì)產(chǎn)生成績(jī); 事實(shí)三:一名教師可以講授多門(mén)課程,一門(mén)課程可以由多名教師講授。學(xué)校學(xué)?!敖虒W(xué)管理教學(xué)管理”例子例子 實(shí)體: 學(xué)生、班級(jí)、課程、教師 聯(lián)系: 由事實(shí)一可以得到一個(gè)一對(duì)多聯(lián)系,將其命名為“組成”。 由事實(shí)二可以得到一個(gè)多對(duì)多聯(lián)系,將其命名為“選修”,而且此聯(lián)系還有“成績(jī)”屬性。 由事實(shí)三可以得到一個(gè)多對(duì)多聯(lián)

21、系,將其命名為“講授”。學(xué)校學(xué)?!敖虒W(xué)管理教學(xué)管理”例子例子 假設(shè)上述實(shí)體與聯(lián)系的相關(guān)屬性如下。 學(xué)生:學(xué)號(hào)、姓名、性別、出生年月、入學(xué)成績(jī) 班級(jí):班級(jí)號(hào)、班級(jí)名稱(chēng)、所屬專(zhuān)業(yè)、組成時(shí)間、系別 課程:課程號(hào)、課程名稱(chēng)、學(xué)分 教師:職工號(hào)、姓名、性別、出生日期、職稱(chēng) 選修:成績(jī)學(xué)校學(xué)?!敖虒W(xué)管理教學(xué)管理”例子例子 班級(jí)號(hào)班級(jí)名稱(chēng) 所屬專(zhuān)業(yè) 組成時(shí)間系別班級(jí)組成學(xué)生學(xué)號(hào)姓名性別出生年月 入學(xué)成績(jī)選修成績(jī)課程課程號(hào)課程名稱(chēng)學(xué)分講授教師職工號(hào)姓名性別出生日期職稱(chēng)1nnmmn圖1.5 教學(xué)管理E-R圖1.2 數(shù)據(jù)模型1.2.1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念1.2.2 實(shí)體聯(lián)系模型實(shí)體聯(lián)系模型1.2.3 關(guān)

22、系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型1.2.4 關(guān)系數(shù)據(jù)庫(kù)概述關(guān)系數(shù)據(jù)庫(kù)概述1.2.3 關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型 用E-R圖所表示的概念模型獨(dú)立于具體的DBMS所支持的數(shù)據(jù)模型,是進(jìn)入信息世界的具體體現(xiàn)。 傳統(tǒng)的數(shù)據(jù)模型 層次數(shù)據(jù)模型(Hierachical Data Model)-層次DBMS 網(wǎng)狀數(shù)據(jù)模型(Network Data Model)-網(wǎng)狀DBMS 關(guān)系數(shù)據(jù)模型(Relational Data Model)-關(guān)系DBMS E-R圖一旦設(shè)計(jì)完畢,并選擇好DBMS所支持的數(shù)據(jù)模型之后,就可以將E-R圖轉(zhuǎn)換為DBMS所支持的數(shù)據(jù)模型了,也就實(shí)現(xiàn)了從信息世界到機(jī)器世界的轉(zhuǎn)換。關(guān)系的概念關(guān)系的概念 關(guān)系

23、是通常意義上的一張二維表,由行和列所組成,表的各列以屬性開(kāi)始,是列的入口。例如,如表1.1所示的學(xué)生記錄表就是一個(gè)關(guān)系。 學(xué)號(hào)姓名性別出生年月入學(xué)成績(jī)附加分班級(jí)號(hào)010101趙明男1980-11-6560500101010201趙以男1978-8-24500400102010102馬水男1979-3-6520200101020101楊儀女1980-4-24550300201020102王蕾女1980-11-6560500201020201??赡?981-6-6580500202020202馬力女1981-7-7510200202表1.1 學(xué)生記錄表關(guān)系的概念關(guān)系的概念 關(guān)系中所涉及的幾個(gè)術(shù)語(yǔ)如

24、下。(1)元組:表中的一行數(shù)據(jù)是一個(gè)元組,也稱(chēng)為一條記錄。 例:表1.1中有7行數(shù)據(jù),即有7個(gè)元組或稱(chēng)7條記錄。(2)屬性:表中的一列是一個(gè)屬性,也稱(chēng)為一個(gè)字段,由名稱(chēng)、數(shù)據(jù)類(lèi)型、長(zhǎng)度構(gòu)成其特征。 例:表1.1中有7列,即有7個(gè)屬性或稱(chēng)7個(gè)字段,分別是:學(xué)號(hào)、姓名、性別、出生年月、入學(xué)成績(jī)、附加分、班級(jí)號(hào)。(3)主碼:表中可以唯一地確定一個(gè)元組的某個(gè)屬性組稱(chēng)為主碼,也稱(chēng)為主鍵,它可以由一個(gè)屬性或多個(gè)屬性構(gòu)成。 例:表1.1中的屬性“學(xué)號(hào)”唯一地確定一名學(xué)生,即成為“學(xué)生”關(guān)系的主碼。 (4)值域:屬性的取值范圍稱(chēng)為值域。每個(gè)屬性均對(duì)應(yīng)一個(gè)值域,數(shù)據(jù)類(lèi)型相同的屬性可對(duì)應(yīng)于同一值域,數(shù)據(jù)類(lèi)型互異的

25、屬性對(duì)應(yīng)于不同的值域。 例:表1.1中“性別”的值域是(男,女),而“附加分”的值域是050之間的整數(shù)。 (5)分量: 元組中的一個(gè)屬性值稱(chēng)為分量。 例:表1.1中“楊儀”是“學(xué)生”關(guān)系中第4個(gè)元組的“姓名”分量。 關(guān)系模式關(guān)系模式 關(guān)系模式是對(duì)關(guān)系的一種簡(jiǎn)化描述,它的一般表示形式如下: 關(guān)系名(屬性名1,屬性名2,屬性名n) 關(guān)系名就是二維表表名的簡(jiǎn)稱(chēng),關(guān)系中的主碼在關(guān)系模式中要用下劃線指明。 例如:表1.1中的“學(xué)生”關(guān)系可描述為學(xué)生( 學(xué)號(hào) ,姓名,性別,出生年月,入學(xué)成績(jī),附加分,班級(jí)號(hào)) 關(guān)系模式是關(guān)系的基本數(shù)據(jù)結(jié)構(gòu),反映關(guān)系的靜態(tài)特性。關(guān)系模型關(guān)系模型 數(shù)據(jù)以關(guān)系的形式表示,其數(shù)據(jù)

26、模型就是關(guān)系模型。 關(guān)系模型應(yīng)遵循以下幾個(gè)特點(diǎn)。(1)關(guān)系中的每一列都是不可再分的基本數(shù)據(jù)項(xiàng);(2)各列的屬性名稱(chēng)不同,但其數(shù)據(jù)類(lèi)型可以相同;(3)列與列的出現(xiàn)順序左右調(diào)換,不會(huì)影響所表示的信息;(4)行與行的出現(xiàn)順序前后調(diào)換,不會(huì)影響所表示的信息;(5)關(guān)系中不能存在屬性值完全相同的兩行。關(guān)系模式必須滿(mǎn)足一定的規(guī)范條件。這些規(guī)范條件中最基本的一條就是,關(guān)系的每一個(gè)分量必須是不可再分的數(shù)據(jù)項(xiàng),即不允許表中還嵌有子表。關(guān)系模型關(guān)系模型 表1.2 含有子表的二維表-不符合要求的表學(xué)號(hào)姓名性別出生年月班級(jí)號(hào) 成績(jī)數(shù)學(xué)英語(yǔ)電工德育010101趙明男1980-11-6010186908987010201

27、趙以男1978-8-24010275807867表1.3 符合要求的關(guān)系的二維表學(xué)號(hào)姓名性別出生年月班級(jí)號(hào)數(shù)學(xué)英語(yǔ)電工德育010101趙明男1980-11-6010186908987010201趙以男1978-8-24010275807867關(guān)系模型關(guān)系模型 關(guān)系模型的操作: 包括查詢(xún)、插入、刪除和更新數(shù)據(jù)。這些操作必須滿(mǎn)足關(guān)系的完整性約束條件。 在關(guān)系模型中,任何實(shí)體以及實(shí)體間的聯(lián)系都用關(guān)系表示,對(duì)數(shù)據(jù)進(jìn)行各種處理后得到的還是關(guān)系。因而關(guān)系模型數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、清晰,易懂易用,深受用戶(hù)喜愛(ài)。1.2 數(shù)據(jù)模型1.2.1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念1.2.2 實(shí)體聯(lián)系模型實(shí)體聯(lián)系模型1.2.3 關(guān)

28、系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型1.2.4 關(guān)系數(shù)據(jù)庫(kù)概述關(guān)系數(shù)據(jù)庫(kù)概述1.2.4 關(guān)系數(shù)據(jù)庫(kù)概述關(guān)系數(shù)據(jù)庫(kù)概述 數(shù)據(jù)庫(kù)模型依賴(lài)于數(shù)據(jù)的存儲(chǔ)模式,即數(shù)據(jù)存儲(chǔ)模式不同,數(shù)據(jù)庫(kù)的性質(zhì)亦不同。 以關(guān)系模型作為數(shù)據(jù)的組織和存儲(chǔ)方式的數(shù)據(jù)庫(kù)稱(chēng)為關(guān)系數(shù)據(jù)庫(kù)。支持關(guān)系數(shù)據(jù)模型的數(shù)據(jù)庫(kù)管理系統(tǒng)稱(chēng)為關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(relational database management system,RDBMS)。 關(guān)系數(shù)據(jù)庫(kù)采用數(shù)學(xué)方法來(lái)處理數(shù)據(jù)庫(kù)中的數(shù)據(jù),便于理解和使用。因此,關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)一經(jīng)推出,迅速得到廣泛的應(yīng)用,目前已在數(shù)據(jù)庫(kù)領(lǐng)域中占據(jù)統(tǒng)治地位。 當(dāng)今市場(chǎng)的主流關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品有:微軟公司的MS SQL Server,

29、Oracle公司的Oracle,IBM公司的DB2,Informix公司的IDS(Informix Dynamic Server),Sybase公司的ASE(Adaptive Server Enterprise),等等。 11 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述12 數(shù)據(jù)模型數(shù)據(jù)模型13 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)第第1章章 緒論緒論 1.3數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)1.3.2 數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性 1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu) 數(shù)據(jù)庫(kù)分為三級(jí):外模式、模式和內(nèi)

30、模式,對(duì)于用戶(hù)而言,可以相應(yīng)地分為用戶(hù)級(jí)模式、概念級(jí)模式和物理級(jí)模式。 三級(jí)模式的關(guān)系如圖1.6所示。1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)應(yīng) 用 應(yīng) 用 應(yīng) 用 子 模 式 1子 模 式 2用 戶(hù) 級(jí)子 模 式 到 模 式 映 射概 念 級(jí)模 式模 式 到 內(nèi) 模 式 映 射內(nèi) 模 式物 理 級(jí)數(shù) 據(jù) 庫(kù)圖1.6 數(shù)據(jù)庫(kù)系統(tǒng)的模式1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)1. 外模式 概念 外模式(external schema)也稱(chēng)為子模式,它對(duì)應(yīng)于用戶(hù)級(jí)數(shù)據(jù)庫(kù),是用戶(hù)能夠看到和使用的數(shù)據(jù)庫(kù),因此也稱(chēng)為用戶(hù)視圖。 外模式就是用戶(hù)所看到并獲準(zhǔn)使用的那部

31、分?jǐn)?shù)據(jù)的邏輯結(jié)構(gòu)。 一個(gè)數(shù)據(jù)庫(kù)通常有多個(gè)外模式,當(dāng)不同的用戶(hù)在應(yīng)用需求、保密級(jí)別等方面存在差異時(shí),其外模式描述會(huì)有所不同。一個(gè)應(yīng)用程序只能使用一個(gè)外模式,但一個(gè)外模式可為多個(gè)應(yīng)用程序所使用。 外模式是保證數(shù)據(jù)庫(kù)安全性的一項(xiàng)有力措施。用戶(hù)只能看到和訪問(wèn)所對(duì)應(yīng)的外模式的數(shù)據(jù),而數(shù)據(jù)庫(kù)中的其他數(shù)據(jù)對(duì)于用戶(hù)是不可見(jiàn)的。1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)2. 模式 概念 模式(schema)是對(duì)數(shù)據(jù)庫(kù)的整體邏輯描述,它對(duì)應(yīng)于概念級(jí)數(shù)據(jù)庫(kù),是數(shù)據(jù)庫(kù)管理員所看到的數(shù)據(jù)庫(kù),通常又稱(chēng)DBA視圖。 模式以某一種數(shù)據(jù)模型(例如,關(guān)系數(shù)據(jù)模型)為基礎(chǔ),綜合地考慮所有用戶(hù)的需求,并將這些需求有

32、機(jī)地結(jié)合成一個(gè)邏輯整體。 一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)模式。模式不僅要描述數(shù)據(jù)的邏輯結(jié)構(gòu),例如數(shù)據(jù)記錄的組成、數(shù)據(jù)項(xiàng)的名稱(chēng)、數(shù)據(jù)類(lèi)型、長(zhǎng)度、取值范圍等,還要描述數(shù)據(jù)之間的聯(lián)系、數(shù)據(jù)的完整性、安全性要求。1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)3. 內(nèi)模式 概念 內(nèi)模式(internal schema)是對(duì)數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式,它對(duì)應(yīng)于物理級(jí)數(shù)據(jù)庫(kù),又稱(chēng)存儲(chǔ)模式。例如,記錄以何種存儲(chǔ)方式存儲(chǔ);索引按照哪種方式組織;數(shù)據(jù)是否壓縮存儲(chǔ)、是否加密,等等。這些任務(wù)都是系統(tǒng)程序員要做的,因此物理級(jí)數(shù)據(jù)庫(kù)也稱(chēng)為系統(tǒng)程序員視圖。一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式。 在三級(jí)

33、模式結(jié)構(gòu)中,數(shù)據(jù)庫(kù)模式是數(shù)據(jù)庫(kù)的核心和關(guān)鍵。對(duì)于一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)來(lái)說(shuō),實(shí)際存在的只是物理級(jí)數(shù)據(jù)庫(kù),它是數(shù)據(jù)訪問(wèn)的基礎(chǔ)。概念級(jí)數(shù)據(jù)庫(kù)只不過(guò)是物理級(jí)數(shù)據(jù)庫(kù)的一種抽象描述,用戶(hù)級(jí)數(shù)據(jù)庫(kù)是用戶(hù)與數(shù)據(jù)庫(kù)的接口。用戶(hù)根據(jù)外模式進(jìn)行操作,通過(guò)外模式到模式的映像與概念級(jí)數(shù)據(jù)庫(kù)聯(lián)系起來(lái),又通過(guò)模式到內(nèi)模式的映像與物理級(jí)數(shù)據(jù)庫(kù)聯(lián)系起來(lái)。DBMS的工作側(cè)重點(diǎn)之一就是完成三級(jí)數(shù)據(jù)庫(kù)之間的轉(zhuǎn)換,把用戶(hù)對(duì)數(shù)據(jù)庫(kù)的操作轉(zhuǎn)化到物理級(jí)數(shù)據(jù)庫(kù)去執(zhí)行。 1.3數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)1.3.2 數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性 1.3.2

34、 數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性1. 外模式-模式映像 外模式和模式之間是通過(guò)外模式-模式映像聯(lián)系起來(lái)的。由于一個(gè)模式對(duì)應(yīng)于多個(gè)外模式,因此,對(duì)于每個(gè)外模式,都有一個(gè)外模式-模式映像用于描述這個(gè)外模式與模式之間的對(duì)應(yīng)關(guān)系。 通常在外模式中描述外模式-模式映像。 作用-保證數(shù)據(jù)的邏輯獨(dú)立性。 有了外模式-模式映像之后,當(dāng)模式發(fā)生改變時(shí),例如增加新的屬性、修改屬性的數(shù)據(jù)類(lèi)型,只要對(duì)外模式-模式映像做相應(yīng)的改變,使外模式保持不變,則依賴(lài)于外模式的應(yīng)用程序就不會(huì)受影響,從而保證數(shù)據(jù)與應(yīng)用程序之間的邏輯獨(dú)立性,即保證數(shù)據(jù)的邏輯獨(dú)立性。1.3.2 數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)

35、據(jù)獨(dú)立性數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性2. 模式-內(nèi)模式映像 模式與內(nèi)模式之間是通過(guò)模式-內(nèi)模式映像聯(lián)系起來(lái)的。由于數(shù)據(jù)庫(kù)中只有一個(gè)模式和一個(gè)內(nèi)模式,因此,模式-內(nèi)模式映像也只有一個(gè)。 通常在內(nèi)模式中對(duì)其進(jìn)行描述。 作用-保證數(shù)據(jù)的物理獨(dú)立性 有了模式-內(nèi)模式映像之后,當(dāng)內(nèi)模式發(fā)生改變時(shí),例如存儲(chǔ)設(shè)備或存儲(chǔ)方式有所改變,只要針對(duì)模式-內(nèi)模式映像做相應(yīng)的改變,使模式保持不變,則應(yīng)用程序就不會(huì)受影響,從而保證數(shù)據(jù)與應(yīng)用程序之間的物理獨(dú)立性,即保證數(shù)據(jù)的物理獨(dú)立性。11 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述12 數(shù)據(jù)模型數(shù)據(jù)模型13 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)第第1章章 緒論緒論 1.41.4.1 數(shù)據(jù)

36、庫(kù)管理系統(tǒng)的組成數(shù)據(jù)庫(kù)管理系統(tǒng)的組成 1.4.2 數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能 1.4.3 客戶(hù)客戶(hù)-服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu) 1.4.1 數(shù)據(jù)庫(kù)管理系統(tǒng)的組成數(shù)據(jù)庫(kù)管理系統(tǒng)的組成一個(gè)完整的DBMS通常由以下4部分組成。1. DDL及其翻譯處理程序 供用戶(hù)定義數(shù)據(jù)庫(kù)模式、存儲(chǔ)模式、外模式、各級(jí)模式間的映像、有關(guān)的約束條件等。2. DML及其編譯處理程序 實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的檢索、插入、修改等基本操作。3. 數(shù)據(jù)庫(kù)運(yùn)行控制程序 提供系統(tǒng)運(yùn)行控制程序負(fù)責(zé)數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中的控制與管理。4. 實(shí)用程序 提供實(shí)用程序。數(shù)據(jù)庫(kù)用戶(hù)可以利用這些實(shí)用程序完成數(shù)據(jù)庫(kù)的建立與維護(hù)以及數(shù)據(jù)的格式轉(zhuǎn)

37、換與通信。1.41.4.1 數(shù)據(jù)庫(kù)管理系統(tǒng)的組成數(shù)據(jù)庫(kù)管理系統(tǒng)的組成 1.4.2 數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能 1.4.3 客戶(hù)客戶(hù)-服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu) 1.4.2 數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能 事務(wù)的基本概念事務(wù)是數(shù)據(jù)庫(kù)的邏輯單位,是用戶(hù)定義的一組操作序列。它應(yīng)該具有下面4個(gè)特性:(1)原子性:一個(gè)事務(wù)是一個(gè)不可分割的單位,事務(wù)中包括的諸項(xiàng)操作要么都做,要么都不做。(2) 一致性:事務(wù)必須能使數(shù)據(jù)庫(kù)從某個(gè)一致性狀態(tài)變化到另一個(gè)一致性狀態(tài)。因此當(dāng)數(shù)據(jù)庫(kù)只包含成功事務(wù)提交的結(jié)果時(shí),數(shù)據(jù)庫(kù)處于一致性狀態(tài)。(3)隔離性:一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干

38、擾。即一個(gè)事務(wù)內(nèi)部的操作及其使用的數(shù)據(jù)對(duì)于并發(fā)的其他事務(wù)是隔離的,并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾。(4)持久性:持久性:指一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)所做的更改就應(yīng)該是永久性的。1.4.2 數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能2. DBMS的控制功能 DBMS必須提供以下幾方面的數(shù)據(jù)控制功能。(1)保證數(shù)據(jù)的安全性數(shù)據(jù)的安全性(Security)是指保護(hù)數(shù)據(jù),防止因用戶(hù)非法使用數(shù)據(jù)庫(kù)而造成數(shù)據(jù)的泄密、更改或破壞。通常用戶(hù)只能按規(guī)定對(duì)某些數(shù)據(jù)以某種方式進(jìn)行訪問(wèn)和處理。 DBMS一般通過(guò)用戶(hù)標(biāo)識(shí)鑒定、存取控制、用戶(hù)視圖、密碼存儲(chǔ)等安全技術(shù)來(lái)保證數(shù)據(jù)的安全性。(2)保證數(shù)據(jù)的完

39、整性 數(shù)據(jù)的完整性(Integrity)是指數(shù)據(jù)的正確性、有效性和兼容性,即將數(shù)據(jù)控制在有效的范圍之內(nèi),或要求數(shù)據(jù)之間滿(mǎn)足特定的關(guān)系。DBMS的完整性控制機(jī)制應(yīng)具備3個(gè)方面的功能。 定義完整性約束條件。 檢查用戶(hù)發(fā)出的操作請(qǐng)求是否違背了完整性約束條件。 如果發(fā)現(xiàn)用戶(hù)的操作請(qǐng)求會(huì)破壞數(shù)據(jù)的完整性約束條件,則采取一定的動(dòng)作來(lái)保證數(shù)據(jù)的完整性。 1.4.2 數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能(3)實(shí)現(xiàn)并發(fā)控制 數(shù)據(jù)庫(kù)是一個(gè)共享資源,可供多個(gè)用戶(hù)同時(shí)使用。當(dāng)多個(gè)用戶(hù)的并發(fā)進(jìn)程同時(shí)存取、修改數(shù)據(jù)庫(kù)中的數(shù)據(jù)時(shí),可能會(huì)引發(fā)相互干擾而得到錯(cuò)誤的結(jié)果,并使得數(shù)據(jù)庫(kù)的完整性遭到破壞,因此必須對(duì)多用戶(hù)

40、的并發(fā)操作(Concurrency)加以控制和協(xié)調(diào)。 事務(wù)是并發(fā)控制的基本單位,封鎖是實(shí)現(xiàn)并發(fā)控制的一項(xiàng)非常重要的技術(shù)。所謂封鎖就是事務(wù)T在對(duì)某個(gè)數(shù)據(jù)對(duì)象(例如表、記錄等)進(jìn)行操作之前,先向系統(tǒng)發(fā)出請(qǐng)求,對(duì)其加鎖。加鎖后,事務(wù)T 就對(duì)該數(shù)據(jù)對(duì)象有了獨(dú)占性的控制權(quán),在事務(wù)T釋放它的鎖之前,其他事務(wù)不能更新此數(shù)據(jù)對(duì)象。 1.4.2 數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能(4)恢復(fù)數(shù)據(jù)庫(kù) 計(jì)算機(jī)系統(tǒng)的硬件故障、軟件故障、操作員的失誤以及蓄意破壞都會(huì)影響數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性,甚至造成數(shù)據(jù)庫(kù)的部分或全部數(shù)據(jù)的丟失。DBMS必須具有將數(shù)據(jù)庫(kù)從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)(也稱(chēng)為完整狀態(tài)或一致

41、狀態(tài))的功能,這就是數(shù)據(jù)庫(kù)的恢復(fù)功能(Recovery)。 事務(wù)也是執(zhí)行恢復(fù)的基本單位,DBMS中有一類(lèi)文件稱(chēng)為日志文件,記錄每個(gè)事務(wù)的開(kāi)始、每個(gè)事務(wù)所引發(fā)的數(shù)據(jù)庫(kù)的更新和每個(gè)事務(wù)的結(jié)束。一旦系統(tǒng)出現(xiàn)故障,可以通過(guò)日志文件中的內(nèi)容進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)。 事務(wù)通常以“試驗(yàn)”的方式完成,即在試驗(yàn)過(guò)程中,并不真正地更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)。當(dāng)事務(wù)即將完成時(shí),也就是提交事務(wù)的時(shí)候,所更新的內(nèi)容首先被復(fù)制到日志文件中,然后再把更新內(nèi)容寫(xiě)入數(shù)據(jù)庫(kù)。這樣,即使在這兩個(gè)步驟之間系統(tǒng)出現(xiàn)故障,通過(guò)查看日志文件,就能夠知道在系統(tǒng)恢復(fù)之后需要執(zhí)行哪些更新操作。如果系統(tǒng)在這兩個(gè)步驟之前系統(tǒng)出現(xiàn)故障,可以重新執(zhí)行此事務(wù),確保不會(huì)發(fā)

42、生錯(cuò)誤。1.41.4.1 數(shù)據(jù)庫(kù)管理系統(tǒng)的組成數(shù)據(jù)庫(kù)管理系統(tǒng)的組成 1.4.2 數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能數(shù)據(jù)庫(kù)管理系統(tǒng)的控制功能 1.4.3 客戶(hù)客戶(hù)-服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu) 1.4.3 客戶(hù)客戶(hù)-服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu) DBMS體系結(jié)構(gòu)發(fā)展 單用戶(hù)結(jié)構(gòu)主從式結(jié)構(gòu)分布式結(jié)構(gòu)客戶(hù)-服務(wù)器結(jié)構(gòu)。 客戶(hù)-服務(wù)器概念 網(wǎng)絡(luò)中專(zhuān)門(mén)用于執(zhí)行DBMS功能的計(jì)算機(jī)稱(chēng)為數(shù)據(jù)庫(kù)服務(wù)器,簡(jiǎn)稱(chēng)服務(wù)器(Server),其他安裝DBMS的外圍應(yīng)用開(kāi)發(fā)工具且支持用戶(hù)應(yīng)用的計(jì)算機(jī)稱(chēng)為客戶(hù)機(jī)(Client)。形成了客戶(hù)-服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)。 特點(diǎn) 客戶(hù)端的用戶(hù)請(qǐng)求被傳送至數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)器對(duì)用戶(hù)強(qiáng)求進(jìn)行

43、處理后,只將結(jié)果返回給用戶(hù),從而顯著減少網(wǎng)絡(luò)上的數(shù)據(jù)傳輸量,提高了系統(tǒng)的性能、吞吐量和負(fù)載能力。 通常用SQL語(yǔ)言表達(dá)從客戶(hù)端程序到服務(wù)器端程序的各種請(qǐng)求,然后由服務(wù)器端的程序給出相應(yīng)的回答,用表的形式將結(jié)果傳給客戶(hù)端程序。 客戶(hù)與服務(wù)器通常都能在不同的硬件和軟件平臺(tái)上運(yùn)行,可以使用不同廠商提供的數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工具,應(yīng)用程序具有更強(qiáng)的可移植性,同時(shí)也可以降低軟件維護(hù)工作的開(kāi)銷(xiāo)。11 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述12 數(shù)據(jù)模型數(shù)據(jù)模型13 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)第第1章章 緒論緒論 1.51.5.1 硬件平臺(tái)及數(shù)據(jù)庫(kù)硬件平臺(tái)及數(shù)據(jù)庫(kù) 1.5.2 軟件平臺(tái)軟件平臺(tái) 1.5.3 數(shù)據(jù)庫(kù)系統(tǒng)的相

44、關(guān)人員數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員 1.5.1 硬件平臺(tái)及數(shù)據(jù)庫(kù)硬件平臺(tái)及數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)系統(tǒng)對(duì)硬件資源的要求較高,以滿(mǎn)足功能豐富且規(guī)模很大的DBMS的需求,這樣才能滿(mǎn)足數(shù)據(jù)量大的應(yīng)用系統(tǒng)的需求。具體的要求如下。 (1)要具有足夠大的內(nèi)存空間,存放操作系統(tǒng)、DBMS核心模塊、數(shù)據(jù)緩沖區(qū)和應(yīng)用程序。 (2)要有大容量的存儲(chǔ)設(shè)備存放整個(gè)數(shù)據(jù)庫(kù),有大容量的外存儲(chǔ)設(shè)備用于數(shù)據(jù)備份。1.51.5.1 硬件平臺(tái)及數(shù)據(jù)庫(kù)硬件平臺(tái)及數(shù)據(jù)庫(kù) 1.5.2 軟件平臺(tái)軟件平臺(tái) 1.5.3 數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員 1.5.2 軟件平臺(tái)及數(shù)據(jù)庫(kù)軟件平臺(tái)及數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)系統(tǒng)的軟件主要包括以下要素。(1)DBMS 這

45、是為數(shù)據(jù)庫(kù)的建立、使用和維護(hù)而配置的系統(tǒng)軟件。目前常用的DBMS有MS SQL Server 2000及以上版本,還有Oracle 9i及以上版本。(2)支持DBMS運(yùn)行的操作系統(tǒng)。 常用的操作系統(tǒng)有Windows操作系統(tǒng)、UNIX操作系統(tǒng)、Linux操作系統(tǒng)。(3)具有能夠與數(shù)據(jù)庫(kù)接口的高級(jí)語(yǔ)言及其編譯系統(tǒng),便于開(kāi)發(fā)應(yīng)用程序。(4)以DBMS為核心的應(yīng)用開(kāi)發(fā)工具。(5)為特定應(yīng)用環(huán)境開(kāi)發(fā)的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。1.51.5.1 硬件平臺(tái)及數(shù)據(jù)庫(kù)硬件平臺(tái)及數(shù)據(jù)庫(kù) 1.5.2 軟件平臺(tái)軟件平臺(tái) 1.5.3 數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員 1.5.3 數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員

46、數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員主要有數(shù)據(jù)庫(kù)管理員、系統(tǒng)分析員、數(shù)據(jù)庫(kù)設(shè)計(jì)人員、應(yīng)用程序開(kāi)發(fā)人員和最終用戶(hù)。不同的人員完成不同的工作任務(wù),具有不同的視圖,如圖1.7所示。應(yīng)用系統(tǒng)DBMS操作系統(tǒng)模 式內(nèi)模式外模式數(shù)據(jù)庫(kù)客戶(hù)端用戶(hù)應(yīng)用程序開(kāi)發(fā)人員數(shù)據(jù)庫(kù)管理員 系統(tǒng)分析員圖1.7 相關(guān)人員的數(shù)據(jù)視圖1.5.3 數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員1. 數(shù)據(jù)庫(kù)管理員 數(shù)據(jù)庫(kù)管理員(DataBase Administrator,DBA)負(fù)責(zé)全面管理和控制數(shù)據(jù)庫(kù)系統(tǒng)。 主要工作包括:決定數(shù)據(jù)庫(kù)中的信息內(nèi)容和結(jié)構(gòu),決定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)和存儲(chǔ)策略,定義數(shù)據(jù)的安全性要求和完整性約束條件,監(jiān)控?cái)?shù)據(jù)庫(kù)的運(yùn)行,負(fù)責(zé)數(shù)據(jù)庫(kù)的

47、改進(jìn)和重組、重構(gòu),等等。1.5.3 數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員2. 系統(tǒng)分析員和數(shù)據(jù)庫(kù)設(shè)計(jì)人員 系統(tǒng)分析員負(fù)責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)范說(shuō)明,同用戶(hù)及數(shù)據(jù)庫(kù)管理員相結(jié)合,確定系統(tǒng)的硬件軟件配置,并參與數(shù)據(jù)庫(kù)系統(tǒng)的概要設(shè)計(jì)。 數(shù)據(jù)庫(kù)設(shè)計(jì)人員負(fù)責(zé)數(shù)據(jù)庫(kù)中數(shù)據(jù)的確定、數(shù)據(jù)庫(kù)各級(jí)模式的設(shè)計(jì)。數(shù)據(jù)庫(kù)設(shè)計(jì)人員必須參與用戶(hù)需求調(diào)查和系統(tǒng)分析,然后進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)。1.5.3 數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)人員3. 應(yīng)用程序開(kāi)發(fā)人員 應(yīng)用程序開(kāi)發(fā)人員負(fù)責(zé)設(shè)計(jì)和編寫(xiě)應(yīng)用系統(tǒng)的程序模塊,并對(duì)其進(jìn)行調(diào)試和安裝。4. 用戶(hù) 用戶(hù)是指最終用戶(hù)。最終用戶(hù)通過(guò)應(yīng)用系統(tǒng)的用戶(hù)接口來(lái)使用數(shù)據(jù)庫(kù)。最終用戶(hù)可分為以

48、下3類(lèi)。 (1)偶然用戶(hù) (2)簡(jiǎn)單用戶(hù) (3)復(fù)雜用戶(hù)11 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述12 數(shù)據(jù)模型數(shù)據(jù)模型13 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)第第1章章 緒論緒論 1.6 1.6.1 Oracle數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介 1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu) 1.6.1 Oracle數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介 Oracle數(shù)據(jù)庫(kù)地位 Oracle公司又稱(chēng)甲骨文公司,是全球最大的信息管理軟件與服務(wù)供應(yīng)商。Oracle數(shù)據(jù)庫(kù)系統(tǒng)是其推出的主要產(chǎn)品,是關(guān)系數(shù)據(jù)庫(kù)的倡導(dǎo)者和先驅(qū)。經(jīng)過(guò)近30年的發(fā)展,目前Oracle產(chǎn)品覆蓋幾十種主流機(jī)型,其中Oracle 數(shù)據(jù)庫(kù)已經(jīng)成為世界上使用最廣泛的

49、關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)之一,是數(shù)據(jù)庫(kù)領(lǐng)域的領(lǐng)軍者和標(biāo)準(zhǔn)制定者。Oracle公司推出的Oracle數(shù)據(jù)庫(kù)系統(tǒng)在我國(guó)有較大的市場(chǎng)份額,始終占據(jù)著數(shù)據(jù)庫(kù)市場(chǎng)的龍頭地位。 1.6.1 Oracle數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介 Oracle數(shù)據(jù)庫(kù)的發(fā)展 Oracle數(shù)據(jù)庫(kù)系統(tǒng)最早于1979年推出,隨著其開(kāi)發(fā)技術(shù)的進(jìn)步,版本得以不斷更新,功能不斷壯大。 2004年推出了最新的Oracle 10g版本1.6.1 Oracle數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介2. Oracle系統(tǒng)的特點(diǎn) Oracle具有完整的數(shù)據(jù)管理功能,這些功能包括存儲(chǔ)大量數(shù)據(jù)、定義和操縱數(shù)據(jù)、并發(fā)控制、安全性控制、故障恢復(fù)、提供與高級(jí)語(yǔ)言接口等。因此

50、,Oracle是一個(gè)通用的數(shù)據(jù)庫(kù)系統(tǒng)。 Oracle支持各種分布式功能,尤其支持各種Internet處理。因此,Oracle是一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng)。 Oracle作為一個(gè)應(yīng)用開(kāi)發(fā)環(huán)境,使用PL/SQL語(yǔ)言執(zhí)行各種操作,具有可開(kāi)放性、可移植性、靈活性等特點(diǎn)。 高版本的Oracle支持面向?qū)ο蟮墓δ?,支持?lèi)、方法和屬性等概念。1.6 1.6.1 Oracle數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介 1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu) 1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu) 完整的Oracle應(yīng)用環(huán)境包括如下兩部分 數(shù)據(jù)庫(kù)管理系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)管理系統(tǒng)結(jié)構(gòu) 數(shù)據(jù)庫(kù)結(jié)構(gòu)數(shù)據(jù)庫(kù)結(jié)構(gòu)1.6.2 Oracle體系結(jié)

51、構(gòu)體系結(jié)構(gòu)1. 數(shù)據(jù)庫(kù)管理系統(tǒng)結(jié)構(gòu) 數(shù)據(jù)庫(kù)管理系統(tǒng)由功能各異的管理程序組成,包括進(jìn)程管理和內(nèi)存管理等。(1)進(jìn)程結(jié)構(gòu) Oracle應(yīng)用環(huán)境中有兩類(lèi)進(jìn)程:用戶(hù)進(jìn)程和服務(wù)器進(jìn)程。 用戶(hù)進(jìn)程是指在客戶(hù)機(jī)內(nèi)存上運(yùn)行的程序。 服務(wù)器進(jìn)程是指在服務(wù)器上運(yùn)行的程序,它接收用戶(hù)進(jìn)程發(fā)出的請(qǐng)求,根據(jù)用戶(hù)請(qǐng)求與數(shù)據(jù)庫(kù)進(jìn)行通信,完成與數(shù)據(jù)庫(kù)的連接操作和I/O訪問(wèn)。特別重要的服務(wù)器進(jìn)程還負(fù)責(zé)完成數(shù)據(jù)庫(kù)的后臺(tái)管理工作,這些主要的進(jìn)程如表1.4所示。1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu)表1.4 主要的服務(wù)器進(jìn)程進(jìn)程名稱(chēng)作用系統(tǒng)監(jiān)控進(jìn)程(SMON)是在數(shù)據(jù)庫(kù)系統(tǒng)啟動(dòng)時(shí)執(zhí)行恢復(fù)性工作的強(qiáng)制性進(jìn)程,對(duì)存在故障的CPU或?qū)嵗?/p>

52、進(jìn)行恢復(fù)進(jìn)程監(jiān)控進(jìn)程(PMON)是用于恢復(fù)失敗的數(shù)據(jù)庫(kù)用戶(hù)的強(qiáng)制性進(jìn)程,獲取失敗用戶(hù)的標(biāo)識(shí),釋放此用戶(hù)占用的所有數(shù)據(jù)庫(kù)資源,然后回滾中止的事務(wù)數(shù)據(jù)庫(kù)寫(xiě)入進(jìn)程(DBWR)負(fù)責(zé)管理數(shù)據(jù)緩沖區(qū)和字典緩沖區(qū)的內(nèi)容,將修改后的數(shù)據(jù)塊分批寫(xiě)回?cái)?shù)據(jù)庫(kù)文件。系統(tǒng)可以擁有多個(gè)這樣的進(jìn)程日志寫(xiě)入進(jìn)程(LGWR)用于將內(nèi)存中的日志內(nèi)容寫(xiě)入到日志文件中,是唯一能夠讀寫(xiě)日志文件的進(jìn)程1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu)(2)內(nèi)存結(jié)構(gòu) 操作系統(tǒng)為進(jìn)程所分配的內(nèi)存結(jié)構(gòu)有兩部分:系統(tǒng)全局區(qū)和程序全局區(qū)。 一般地,客戶(hù)機(jī)上的用戶(hù)進(jìn)程和服務(wù)器上的服務(wù)器進(jìn)程是同時(shí)運(yùn)行的。系統(tǒng)全局區(qū)(System Global Area,SGA

53、)是指操作系統(tǒng)為用戶(hù)進(jìn)程和服務(wù)器進(jìn)程分配的專(zhuān)用的共享內(nèi)存區(qū)域,用于二者之間的通信。 根據(jù)系統(tǒng)全局區(qū)功能的不同,可將其分成4個(gè)部分:數(shù)據(jù)緩沖區(qū)(Data Buffer Cache)、字典緩沖區(qū)(Dictionary Buffer Cache)、日志緩沖區(qū)(Redo Log Buffer Cache)和SQL共享池(Shared SQL Pool),其作用如表1.5所示。 1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu)表1.5 系統(tǒng)全局區(qū)的組成名稱(chēng)作用數(shù)據(jù)緩沖區(qū)用于存儲(chǔ)最近從數(shù)據(jù)庫(kù)中讀取出來(lái)的數(shù)據(jù)字典緩沖區(qū)用于存儲(chǔ)從數(shù)據(jù)字典中讀取出來(lái)的信息日志緩沖區(qū)用于存儲(chǔ)任何事務(wù)過(guò)程,數(shù)據(jù)庫(kù)系統(tǒng)將定期將該緩沖區(qū)的內(nèi)容

54、寫(xiě)入日志文件SQL共享池SQL共享池是程序的高速緩沖區(qū),存放的是所有通過(guò)SQL語(yǔ)法分析并準(zhǔn)備執(zhí)行的SQL語(yǔ)句1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu) 程序全局區(qū)(Program Global Area, PGA)是存儲(chǔ)區(qū)中被單個(gè)用戶(hù)進(jìn)程所使用的內(nèi)存區(qū)域,為用戶(hù)進(jìn)程私有,不能共享。 程序全局區(qū)主要存放單個(gè)進(jìn)程工作時(shí)所需要的數(shù)據(jù)和控制信息。 1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu)2.數(shù)據(jù)庫(kù)結(jié)構(gòu) 數(shù)據(jù)庫(kù)結(jié)構(gòu)可分為:邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。(1)邏輯結(jié)構(gòu) 邏輯結(jié)構(gòu)是指從數(shù)據(jù)庫(kù)使用者的角度來(lái)考察數(shù)據(jù)庫(kù)的組成。數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)如圖1.8所示。1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu)Oracle數(shù)據(jù)庫(kù)表空間表

55、空間表空間表索引視圖數(shù)據(jù)段數(shù)據(jù)段索引段臨時(shí)段回滾段數(shù)據(jù)區(qū)間數(shù)據(jù)區(qū)間數(shù)據(jù)塊數(shù)據(jù)塊 數(shù)據(jù)庫(kù)- 表空間 - 。 邏輯對(duì)象 - 數(shù)據(jù)段- 。 數(shù)據(jù)區(qū)間-。 數(shù)據(jù)塊圖1.8 數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)分為6層。 數(shù)據(jù)塊 數(shù)據(jù)塊又稱(chēng)邏輯塊,是Oracle數(shù)據(jù)庫(kù)輸入輸出的基本單位,其常見(jiàn)大小為2KB或4KB,通常是操作系統(tǒng)默認(rèn)數(shù)據(jù)塊大小的整數(shù)倍。 數(shù)據(jù)區(qū)間 數(shù)據(jù)區(qū)間由若干數(shù)據(jù)塊組成,是數(shù)據(jù)庫(kù)存儲(chǔ)空間所分配的一個(gè)邏輯單位。 數(shù)據(jù)段 數(shù)據(jù)段由若干數(shù)據(jù)區(qū)間組成。Oracle中有4種數(shù)據(jù)段。(a)數(shù)據(jù)段:用于存放數(shù)據(jù)。(b)索引段:用于存放索引數(shù)據(jù)。(c)臨時(shí)段:在執(zhí)行

56、SQL語(yǔ)句時(shí),用于存放中間結(jié)果和數(shù)據(jù)。一旦SQL語(yǔ)句執(zhí)行完畢,臨時(shí)段所占用的存儲(chǔ)空間將被釋放。(d)回滾段:用于存放要撤消的信息。1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu) 邏輯對(duì)象 邏輯對(duì)象是指可由用戶(hù)操作的數(shù)據(jù)庫(kù)對(duì)象。Oracle系統(tǒng)中包括表、索引、視圖、簇、數(shù)據(jù)庫(kù)鏈接、同義詞、序列、觸發(fā)器、過(guò)程、函數(shù)等21種數(shù)據(jù)庫(kù)對(duì)象。 表空間 表空間主要用于管理邏輯對(duì)象,可以將其理解為Oracle數(shù)據(jù)庫(kù)的文件夾。一個(gè)表空間可以存放若干邏輯對(duì)象。當(dāng)Oracle安裝完畢后,系統(tǒng)將自動(dòng)建立9個(gè)默認(rèn)的表空間,如表1.6所示。1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu)表1.6 系統(tǒng)默認(rèn)的表空間名稱(chēng)作用CWMLITE用于聯(lián)機(jī)分析處理(OLAP)DRSYS用于存放與工作空間設(shè)置有關(guān)的信息EXAMPLE實(shí)例表空間,用于存放實(shí)例信息INDEX索引表空間,用于存放數(shù)據(jù)庫(kù)索引信息SYSTEM系統(tǒng)表空間,用于存放表空間的名稱(chēng)、所包含的數(shù)據(jù)文件等管理信息TEMP臨時(shí)表空間,用于存放臨時(shí)表TOOLS工具表空間,用于存放數(shù)據(jù)庫(kù)工具軟件所需的數(shù)據(jù)庫(kù)對(duì)象UNDOTBS回滾表空間,用于存放數(shù)據(jù)庫(kù)恢復(fù)信息USERS用戶(hù)表空間,用于存放用戶(hù)私有信息1.6.2

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論