數(shù)據(jù)庫實(shí)用技術(shù)(基于Oracle)第1章課件_第1頁
數(shù)據(jù)庫實(shí)用技術(shù)(基于Oracle)第1章課件_第2頁
數(shù)據(jù)庫實(shí)用技術(shù)(基于Oracle)第1章課件_第3頁
數(shù)據(jù)庫實(shí)用技術(shù)(基于Oracle)第1章課件_第4頁
數(shù)據(jù)庫實(shí)用技術(shù)(基于Oracle)第1章課件_第5頁
已閱讀5頁,還剩241頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫原理與應(yīng)用數(shù)據(jù)庫原理與應(yīng)用教材李卓玲費(fèi)雅潔:數(shù)據(jù)庫實(shí)用技術(shù)教程(基于Oracle系統(tǒng))

高等教育出版社,2007.12

教材學(xué)習(xí)方式聽課(啟發(fā)式、討論式)讀書(預(yù)習(xí)、復(fù)習(xí))實(shí)踐(綜合練習(xí))3學(xué)習(xí)方式聽課3考試成績平時(shí)成績(書面作業(yè))實(shí)踐考試(上機(jī)練習(xí))期末考試4考試成績平時(shí)成績4內(nèi)容安排(1)原理基礎(chǔ)篇-第1章緒論-第2章關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)-第3章SQL基礎(chǔ)-第4章數(shù)據(jù)庫設(shè)計(jì)5內(nèi)容安排(1)原理基礎(chǔ)篇5內(nèi)容安排(2)應(yīng)用篇-第5章Oracle數(shù)據(jù)庫和表空間-第6章Oracle基本對(duì)象-第7章PL/SQL編程語言-第8章PL/SQL應(yīng)用-第9章Oracle的安全性-第10章Oracle綜合實(shí)例6內(nèi)容安排(2)應(yīng)用篇6數(shù)據(jù)庫原理與應(yīng)用

第1章緒論7數(shù)據(jù)庫原理與應(yīng)用第1章緒論7學(xué)習(xí)目標(biāo)掌握數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)的概念,了解數(shù)據(jù)庫系統(tǒng)的特點(diǎn)。了解數(shù)據(jù)模型三要素,掌握E-R圖的畫法。掌握關(guān)系、元組、屬性、碼、關(guān)系模式、關(guān)系模型等基本概念。了解數(shù)據(jù)庫系統(tǒng)的三級(jí)模式和二級(jí)映像結(jié)構(gòu)。了解數(shù)據(jù)庫管理系統(tǒng)的組成和功能以及數(shù)據(jù)庫系統(tǒng)的組成。了解Oracle數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)。8學(xué)習(xí)目標(biāo)掌握數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)的概念,了解數(shù)據(jù)庫的作用數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)領(lǐng)域中最為活躍的技術(shù)之一,是計(jì)算機(jī)科學(xué)的重要分支,它的出現(xiàn)對(duì)于許多企事業(yè)單位提高科學(xué)管理水平都起到舉足輕重的作用。對(duì)于一個(gè)企事業(yè)單位來說,數(shù)據(jù)庫的建設(shè)規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量這個(gè)機(jī)構(gòu)信息化程度的重要標(biāo)志。9數(shù)據(jù)庫的作用數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)領(lǐng)域中最為活躍的技術(shù)之一,是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)的體系結(jié)構(gòu)第1章緒論1.5數(shù)據(jù)庫系統(tǒng)的組成1.6Oracle數(shù)據(jù)庫系統(tǒng)概述1.7小結(jié)101.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)1.1數(shù)據(jù)庫系統(tǒng)概述1.1.1數(shù)據(jù)庫基本術(shù)語1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展1.1.3數(shù)據(jù)庫系統(tǒng)的特點(diǎn)111.1數(shù)據(jù)庫系統(tǒng)概述1.1.1數(shù)據(jù)庫基本術(shù)語1.1.1.1.1數(shù)據(jù)庫基本術(shù)語數(shù)據(jù)(Data)數(shù)據(jù)庫(Database)數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫系統(tǒng)(DBS)121.1.1數(shù)據(jù)庫基本術(shù)語數(shù)據(jù)(Data)12數(shù)據(jù)(data)定義對(duì)事物進(jìn)行描述的符號(hào)集合。種類數(shù)字、文字、圖形、圖像、聲音、記錄等。數(shù)據(jù)與語義不可分割13數(shù)據(jù)(data)定義13數(shù)據(jù)(data)例:有一條記錄如下(張力,男,1955.12,1978)問題:這條記錄中的1978表示什么?是此職工的工資額還是他參加工作時(shí)間或入校時(shí)間?一種解釋是,張力是一位男同志,1955年12月出生,現(xiàn)在每月工資收入1978元。還可以有另外的解釋,…此記錄的通用表示為:姓名、性別、出生年月、工資14數(shù)據(jù)(data)例:有一條記錄如下14數(shù)據(jù)庫(dataBase,DB)解釋:數(shù)據(jù)庫就是存放數(shù)據(jù)的倉庫特點(diǎn):所存放的所有數(shù)據(jù)是彼此聯(lián)系、并按照某種存儲(chǔ)模式進(jìn)行組織和管理的。定義:從嚴(yán)格意義上講,數(shù)據(jù)庫就是以一定的組織方式存儲(chǔ)在計(jì)算機(jī)中相互關(guān)聯(lián)的數(shù)據(jù)的集合。它能夠以最佳的方式、最少的重復(fù)和最大的獨(dú)立性為多種應(yīng)用提供共享服務(wù)。15數(shù)據(jù)庫(dataBase,DB)解釋:數(shù)據(jù)庫就是存放數(shù)據(jù)的數(shù)據(jù)庫管理系統(tǒng)定義數(shù)據(jù)庫管理系統(tǒng)(dataBasemanagementsystem,DBMS)是專門用于建立和管理數(shù)據(jù)的軟件系統(tǒng),是位于用戶和操作系統(tǒng)之間的數(shù)據(jù)管理軟件。作用在建立、運(yùn)用和維護(hù)數(shù)據(jù)庫時(shí),由數(shù)據(jù)庫管理系統(tǒng)對(duì)其統(tǒng)一管理、統(tǒng)一控制。數(shù)據(jù)庫管理系統(tǒng)使用戶方便地定義數(shù)據(jù)和操縱數(shù)據(jù),并能夠保證數(shù)據(jù)的安全性、完整性、并發(fā)性及發(fā)生故障后及時(shí)進(jìn)行系統(tǒng)恢復(fù)。16數(shù)據(jù)庫管理系統(tǒng)定義16數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(databasesystem,DBS)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫之后的系統(tǒng)構(gòu)成組成通常由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)及其開發(fā)工具、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。DBA數(shù)據(jù)庫的建立、使用和維護(hù)等工作僅依靠一個(gè)DBMS是遠(yuǎn)遠(yuǎn)不夠的,還要有專職人員來完成,這些人稱為數(shù)據(jù)庫管理員(databaseadministrator,DBA)。DBA的主要任務(wù)決定數(shù)據(jù)庫所包含的信息內(nèi)容,充當(dāng)數(shù)據(jù)庫系統(tǒng)與用戶的聯(lián)絡(luò)員,決定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和訪問策略,決定數(shù)據(jù)庫的保護(hù)策略,監(jiān)視數(shù)據(jù)庫系統(tǒng)的工作,響應(yīng)數(shù)據(jù)庫系統(tǒng)的某些變化,改善系統(tǒng)時(shí)效性,提高系統(tǒng)工作效率。17數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(databasesystem,DBS數(shù)據(jù)庫系統(tǒng)的地位18數(shù)據(jù)庫系統(tǒng)的地位181.1數(shù)據(jù)庫系統(tǒng)概述1.1.1數(shù)據(jù)庫基本術(shù)語1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展1.1.3數(shù)據(jù)庫系統(tǒng)的特點(diǎn)191.1數(shù)據(jù)庫系統(tǒng)概述1.1.1數(shù)據(jù)庫基本術(shù)語1.1.1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展程序管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段201.1.2數(shù)據(jù)管理技術(shù)的發(fā)展程序管理階段20程序管理階段特點(diǎn)(1)數(shù)據(jù)不保存(2)數(shù)據(jù)管理由程序完成。(3)數(shù)據(jù)不共享,即數(shù)據(jù)是面向應(yīng)用的。(4)數(shù)據(jù)不具有獨(dú)立性。21程序管理階段特點(diǎn)21文件系統(tǒng)階段特點(diǎn)(1)數(shù)據(jù)可以長期保存。(2)由文件系統(tǒng)管理數(shù)據(jù)。(3)數(shù)據(jù)共享性差。(4)數(shù)據(jù)獨(dú)立性低。22文件系統(tǒng)階段特點(diǎn)22數(shù)據(jù)庫系統(tǒng)階段時(shí)間:從20世紀(jì)60年代后期開始面向:大規(guī)模數(shù)據(jù)量、廣泛的應(yīng)用、共享數(shù)據(jù)集合統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng)——DBMS在計(jì)算機(jī)科學(xué)領(lǐng)域逐步形成數(shù)據(jù)庫技術(shù)這一獨(dú)立分支。23數(shù)據(jù)庫系統(tǒng)階段時(shí)間:從20世紀(jì)60年代后期開始231.1數(shù)據(jù)庫系統(tǒng)概述1.1.1數(shù)據(jù)庫基本術(shù)語1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展1.1.3數(shù)據(jù)庫系統(tǒng)的特點(diǎn)241.1數(shù)據(jù)庫系統(tǒng)概述1.1.1數(shù)據(jù)庫基本術(shù)語1.1.1.1.3數(shù)據(jù)庫系統(tǒng)的特點(diǎn)數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)共享性好,冗余度低數(shù)據(jù)獨(dú)立性高數(shù)據(jù)由DBMS統(tǒng)一管理和控制251.1.3數(shù)據(jù)庫系統(tǒng)的特點(diǎn)數(shù)據(jù)結(jié)構(gòu)化25數(shù)據(jù)結(jié)構(gòu)化在數(shù)據(jù)庫系統(tǒng)中,不僅要考慮針對(duì)某個(gè)應(yīng)用的數(shù)據(jù)結(jié)構(gòu),還要考慮整個(gè)組織(即多個(gè)應(yīng)用)的數(shù)據(jù)結(jié)構(gòu)。

26數(shù)據(jù)結(jié)構(gòu)化在數(shù)據(jù)庫系統(tǒng)中,不僅要考慮針對(duì)某個(gè)應(yīng)用的數(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ù)。27數(shù)據(jù)結(jié)構(gòu)化例如:在一個(gè)學(xué)校的管理信息系統(tǒng)中,不僅要考慮學(xué)生的數(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é)歷名學(xué)號(hào)日期單位代號(hào)獎(jiǎng)懲條目學(xué)校代號(hào)學(xué)校名稱地址課程號(hào)課程名學(xué)號(hào)姓名性別出生年月入學(xué)成績政治面貌籍貫家庭出身單位代號(hào)單位名稱圖1.2

適應(yīng)多種管理的學(xué)生數(shù)據(jù)記錄28數(shù)據(jù)結(jié)構(gòu)化學(xué)生選課記錄數(shù)據(jù)結(jié)構(gòu)化體現(xiàn)特征(1)用數(shù)據(jù)模型描述數(shù)據(jù)結(jié)構(gòu),無需程序定義和解釋。(2)數(shù)據(jù)可以是變長的。(3)數(shù)據(jù)的最小存取單位是數(shù)據(jù)項(xiàng)。29數(shù)據(jù)結(jié)構(gòu)化體現(xiàn)特征29數(shù)據(jù)共享性好,冗余度低數(shù)據(jù)的共享程度直接關(guān)系到數(shù)據(jù)的冗余度。從整體角度來看,數(shù)據(jù)庫系統(tǒng)描述數(shù)據(jù)時(shí)不再面向某個(gè)特定應(yīng)用而是面向整個(gè)系統(tǒng)。例如:上述學(xué)生基本記錄就可以為多個(gè)應(yīng)用(例如,選課管理、獎(jiǎng)懲情況管理、學(xué)籍情況管理)所共享,這樣既可以大幅度降低數(shù)據(jù)冗余度,節(jié)約存儲(chǔ)空間,又能夠避免數(shù)據(jù)之間的不兼容性與不一致性。數(shù)據(jù)的不一致性:是指同一數(shù)據(jù)的不同副本的值不一樣。30數(shù)據(jù)共享性好,冗余度低數(shù)據(jù)的共享程度直接關(guān)系到數(shù)據(jù)的冗余度數(shù)據(jù)獨(dú)立性高數(shù)據(jù)的獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和邏輯獨(dú)立性。物理獨(dú)立性是指用戶的應(yīng)用程序與存儲(chǔ)在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨(dú)立的。當(dāng)數(shù)據(jù)的物理存儲(chǔ)發(fā)生改變時(shí),應(yīng)用程序無需改變。邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的。數(shù)據(jù)的邏輯結(jié)構(gòu)發(fā)生改變時(shí),用戶程序可以不變。31數(shù)據(jù)獨(dú)立性高數(shù)據(jù)的獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和邏輯獨(dú)立性。數(shù)據(jù)由DBMS統(tǒng)一管理和控制數(shù)據(jù)庫中數(shù)據(jù)的共享是并發(fā)的共享,即多個(gè)用戶可以同時(shí)存取數(shù)據(jù)庫中的數(shù)據(jù),甚至可以同時(shí)存取數(shù)據(jù)庫中同一個(gè)數(shù)據(jù),所以,數(shù)據(jù)庫中的數(shù)據(jù)是由DBMS統(tǒng)一管理和控制的。為了保證數(shù)據(jù)的正確性,DBMS必須提供數(shù)據(jù)的安全性保護(hù)、數(shù)據(jù)的完整性檢驗(yàn)、并發(fā)控制、數(shù)據(jù)庫恢復(fù)等功能。32數(shù)據(jù)由DBMS統(tǒng)一管理和控制數(shù)據(jù)庫中數(shù)據(jù)的共享是并發(fā)的共享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)的體系結(jié)構(gòu)第1章緒論1.5數(shù)據(jù)庫系統(tǒng)的組成1.6Oracle數(shù)據(jù)庫系統(tǒng)概述1.7小結(jié)331.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)1.2數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的概念1.2.2實(shí)體聯(lián)系模型1.2.3關(guān)系數(shù)據(jù)模型1.2.4關(guān)系數(shù)據(jù)庫概述341.2數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的概念1.2.21.2.1數(shù)據(jù)模型的概念數(shù)據(jù)結(jié)構(gòu)化是數(shù)據(jù)庫系統(tǒng)的主要特征之一,數(shù)據(jù)的結(jié)構(gòu)是通過數(shù)據(jù)模型來描述的。數(shù)據(jù)模型的三要素:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作完整性約束351.2.1數(shù)據(jù)模型的概念數(shù)據(jù)結(jié)構(gòu)化是數(shù)據(jù)庫系統(tǒng)的主要特征之一數(shù)據(jù)模型的三要素?cái)?shù)據(jù)結(jié)構(gòu):

-描述系統(tǒng)的靜態(tài)特性,是所研究對(duì)象的類型集合。

-通常都按照數(shù)據(jù)結(jié)構(gòu)的類型來命名數(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ù)、查詢數(shù)據(jù)這4類。完整性約束:是為保證數(shù)據(jù)的正確性、有效性和相容性而制定的一系列規(guī)約。36數(shù)據(jù)模型的三要素?cái)?shù)據(jù)結(jié)構(gòu):361.2數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的概念1.2.2實(shí)體聯(lián)系模型1.2.3關(guān)系數(shù)據(jù)模型1.2.4關(guān)系數(shù)據(jù)庫概述371.2數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的概念1.2.21.2.2實(shí)體聯(lián)系模型實(shí)體聯(lián)系模型(entity-relationshipmodel)

-是建立數(shù)據(jù)模型的一種直觀的圖形方法,

-也可稱為E-R圖(Entity-RelationshipDiagram)。

-它是目前建立數(shù)據(jù)模型所采用的最主要的方法。381.2.2實(shí)體聯(lián)系模型實(shí)體聯(lián)系模型(entity-relaE-R圖的作用E-R圖用于信息世界的建模,是從現(xiàn)實(shí)世界到信息世界的第一層抽象,是用戶與數(shù)據(jù)庫設(shè)計(jì)人員之間交流的語言。它是概念級(jí)的模型,所以用E-R圖建立的模型也稱為概念模型。從現(xiàn)實(shí)世界抽象出概念模型,然后把概念模型轉(zhuǎn)換為某個(gè)DBMS支持的數(shù)據(jù)結(jié)構(gòu),這需要一個(gè)過程,如圖1.3所示。概念模型實(shí)際上是現(xiàn)實(shí)世界到信息世界再到機(jī)器世界的一個(gè)中間環(huán)節(jié)。39E-R圖的作用E-R圖用于信息世界的建模,是從現(xiàn)實(shí)世界到信息E-R圖的作用機(jī)器世界

信息世界現(xiàn)實(shí)世界現(xiàn)實(shí)世界

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

例如,一個(gè)人有其姓名、年齡、性別、籍貫、教育程度等,其中的每一項(xiàng)都稱為人的屬性。屬性是對(duì)實(shí)體特征的抽象描述,屬性的具體取值稱為屬性值。

例如,“李娜,25,女,山西,本科”這些值均為學(xué)生李娜的屬性值。同一實(shí)體集中各個(gè)實(shí)體同一屬性的取值范疇稱為這個(gè)屬性的值域。

例如,姓名的值域?yàn)樽址?,字符串的長度一般為8位,性別的值域是(男,女),年齡的值域是小于35的正整數(shù)。碼:一個(gè)屬性值或一組屬性值如果能唯一標(biāo)識(shí)實(shí)體集中的各個(gè)實(shí)體,則稱此屬性或這一組屬性為此實(shí)體集的碼(也稱為鍵)。例如,在一所學(xué)校里,學(xué)號(hào)是唯一能夠標(biāo)識(shí)學(xué)生的屬性,所以學(xué)號(hào)就是學(xué)生實(shí)體的碼。42E-R圖中常用的基本術(shù)語(2)屬性42E-R圖中常用的基本術(shù)語(3)聯(lián)系實(shí)體集之間的聯(lián)系可把實(shí)體集關(guān)聯(lián)起來,即表示現(xiàn)實(shí)世界中事物之間的語義關(guān)系。

例如,“學(xué)生”實(shí)體和“課程”實(shí)體之間存在著“選修”聯(lián)系,聯(lián)系也可以有屬性,如“選修”實(shí)體內(nèi)還可以有“成績”這一屬性。兩個(gè)實(shí)體集之間的聯(lián)系可以分為以下3類

一對(duì)一聯(lián)系一對(duì)多聯(lián)系多對(duì)多聯(lián)系43E-R圖中常用的基本術(shù)語(3)聯(lián)系43一對(duì)一聯(lián)系定義 對(duì)于任意兩個(gè)實(shí)體集A和B,如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集B之間存在一對(duì)一聯(lián)系,記為1:1。例子:班級(jí)和班長之間存在一對(duì)一聯(lián)系,因?yàn)橐粋€(gè)班級(jí)只能有一個(gè)班長,而班長只在一個(gè)班級(jí)中任職。44一對(duì)一聯(lián)系定義 44一對(duì)多聯(lián)系定義 對(duì)于任意兩個(gè)實(shí)體集A和B,如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥1)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B之間存在一對(duì)多聯(lián)系,記為1:n。例子班級(jí)和學(xué)生實(shí)體之間存在一對(duì)多聯(lián)系,因?yàn)橐粋€(gè)班級(jí)中含有若干名學(xué)生,而每名學(xué)生只從屬于一個(gè)班級(jí)。45一對(duì)多聯(lián)系定義 45多對(duì)多聯(lián)系定義 對(duì)于任意兩個(gè)實(shí)體集A和B,如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥1)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m≥1)與之聯(lián)系,則稱實(shí)體集A和實(shí)體集B之間存在多對(duì)多聯(lián)系,記為n:m。例子課程與學(xué)生之間存在多對(duì)多聯(lián)系,因?yàn)橐婚T課程可以有若干名學(xué)生同時(shí)選修,而一名學(xué)生又可以同時(shí)選修多門課程。46多對(duì)多聯(lián)系定義 46三種聯(lián)系的關(guān)系一對(duì)一聯(lián)系是一對(duì)多聯(lián)系的特例一對(duì)多聯(lián)系又是多對(duì)多聯(lián)系的特例。47三種聯(lián)系的關(guān)系一對(duì)一聯(lián)系是一對(duì)多聯(lián)系的特例47E-R圖的表示方法E-R圖中的相關(guān)規(guī)定

-實(shí)體集:用矩形框表示,框內(nèi)寫明實(shí)體名。

-屬性:用橢圓框表示,框內(nèi)寫明屬性名,由一條無向直線與所屬實(shí)體相連。

-聯(lián)系:用菱形框表示,框內(nèi)寫明聯(lián)系名,并用無向直線分別與有關(guān)實(shí)體相連,同時(shí)在無向直線旁邊標(biāo)明聯(lián)系的類型。

-圖1.4描述3種聯(lián)系類型的實(shí)例。48E-R圖的表示方法E-R圖中的相關(guān)規(guī)定48E-R圖的表示方法實(shí)例圖1.43種聯(lián)系類型實(shí)例49E-R圖的表示方法實(shí)例圖1.43種聯(lián)系類型實(shí)例49E-R圖的表示方法實(shí)例“領(lǐng)導(dǎo)”聯(lián)系:一個(gè)班級(jí)只有一名班長,一名班長只能領(lǐng)導(dǎo)一個(gè)班級(jí),所以班長與班級(jí)之間存在一對(duì)一聯(lián)系“領(lǐng)導(dǎo)”。“組成”聯(lián)系:一個(gè)班級(jí)由若干名學(xué)生組成,一名學(xué)生只能隸屬于一個(gè)班級(jí),所以班級(jí)與學(xué)生之間存在一對(duì)多聯(lián)系“組成”?!斑x修”聯(lián)系:一名學(xué)生可以選修多門課程,一門課程可以被多名學(xué)生選修,所以學(xué)生與課程之間存在多對(duì)多聯(lián)系“選修”。50E-R圖的表示方法實(shí)例“領(lǐng)導(dǎo)”聯(lián)系:一個(gè)班級(jí)只有一名班長,一E-R圖的表示方法 建立E-R圖的步驟:1、應(yīng)根據(jù)實(shí)際應(yīng)用首先確定哪些是實(shí)體集,有多少個(gè)實(shí)體集;2、確定實(shí)體集的屬性;3、確定實(shí)體集之間存在怎樣的聯(lián)系以及聯(lián)系的屬性。51E-R圖的表示方法 建立E-R圖的步驟:51學(xué)?!敖虒W(xué)管理”例子假設(shè)教學(xué)過程中存在以下一些事實(shí)。事實(shí)一:一個(gè)班級(jí)由若干名學(xué)生組成,一名學(xué)生隸屬于一個(gè)班級(jí);事實(shí)二:一名學(xué)生可以選修多門課程,一門課程可以被多名學(xué)生選修,并且選修后會(huì)產(chǎn)生成績;事實(shí)三:一名教師可以講授多門課程,一門課程可以由多名教師講授。52學(xué)?!敖虒W(xué)管理”例子假設(shè)教學(xué)過程中存在以下一些事實(shí)。52學(xué)?!敖虒W(xué)管理”例子實(shí)體:學(xué)生、班級(jí)、課程、教師聯(lián)系:由事實(shí)一可以得到一個(gè)一對(duì)多聯(lián)系,將其命名為“組成”。由事實(shí)二可以得到一個(gè)多對(duì)多聯(lián)系,將其命名為“選修”,而且此聯(lián)系還有“成績”屬性。由事實(shí)三可以得到一個(gè)多對(duì)多聯(lián)系,將其命名為“講授”。53學(xué)?!敖虒W(xué)管理”例子實(shí)體:53學(xué)?!敖虒W(xué)管理”例子假設(shè)上述實(shí)體與聯(lián)系的相關(guān)屬性如下。學(xué)生:學(xué)號(hào)、姓名、性別、出生年月、入學(xué)成績班級(jí):班級(jí)號(hào)、班級(jí)名稱、所屬專業(yè)、組成時(shí)間、系別課程:課程號(hào)、課程名稱、學(xué)分教師:職工號(hào)、姓名、性別、出生日期、職稱選修:成績54學(xué)校“教學(xué)管理”例子假設(shè)上述實(shí)體與聯(lián)系的相關(guān)屬性如下。54學(xué)校“教學(xué)管理”例子圖1.5教學(xué)管理E-R圖55學(xué)?!敖虒W(xué)管理”例子圖1.5教學(xué)管理E-R圖551.2數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的概念1.2.2實(shí)體聯(lián)系模型1.2.3關(guān)系數(shù)據(jù)模型1.2.4關(guān)系數(shù)據(jù)庫概述561.2數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的概念1.2.21.2.3關(guān)系數(shù)據(jù)模型用E-R圖所表示的概念模型獨(dú)立于具體的DBMS所支持的數(shù)據(jù)模型,是進(jìn)入信息世界的具體體現(xiàn)。傳統(tǒng)的數(shù)據(jù)模型層次數(shù)據(jù)模型(HierachicalDataModel)---層次DBMS網(wǎng)狀數(shù)據(jù)模型(NetworkDataModel)---網(wǎng)狀DBMS關(guān)系數(shù)據(jù)模型(RelationalDataModel)---關(guān)系DBMSE-R圖一旦設(shè)計(jì)完畢,并選擇好DBMS所支持的數(shù)據(jù)模型之后,就可以將E-R圖轉(zhuǎn)換為DBMS所支持的數(shù)據(jù)模型了,也就實(shí)現(xiàn)了從信息世界到機(jī)器世界的轉(zhuǎn)換。571.2.3關(guān)系數(shù)據(jù)模型用E-R圖所表示的概念模型獨(dú)立于具關(guān)系的概念關(guān)系是通常意義上的一張二維表,由行和列所組成,表的各列以屬性開始,是列的入口。例如,如表1.1所示的學(xué)生記錄表就是一個(gè)關(guān)系。

學(xué)號(hào)姓名性別出生年月入學(xué)成績附加分班級(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é)生記錄表58關(guān)系的概念關(guān)系是通常意義上的一張二維表,由行和列所組成,表關(guān)系的概念關(guān)系中所涉及的幾個(gè)術(shù)語如下。(1)元組:表中的一行數(shù)據(jù)是一個(gè)元組,也稱為一條記錄。

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

(5)分量:元組中的一個(gè)屬性值稱為分量。例:表1.1中“楊儀”是“學(xué)生”關(guān)系中第4個(gè)元組的“姓名”分量。

59關(guān)系的概念關(guān)系中所涉及的幾個(gè)術(shù)語如下。59關(guān)系模式關(guān)系模式是對(duì)關(guān)系的一種簡化描述,它的一般表示形式如下:關(guān)系名(屬性名1,屬性名2,…,屬性名n)關(guān)系名就是二維表表名的簡稱,關(guān)系中的主碼在關(guān)系模式中要用下劃線指明。

例如:表1.1中的“學(xué)生”關(guān)系可描述為

學(xué)生(學(xué)號(hào),姓名,性別,出生年月,入學(xué)成績,附加分,班級(jí)號(hào))關(guān)系模式是關(guān)系的基本數(shù)據(jù)結(jié)構(gòu),反映關(guān)系的靜態(tài)特性。60關(guān)系模式關(guān)系模式是對(duì)關(guān)系的一種簡化描述,它的一般表示形式如關(guān)系模型數(shù)據(jù)以關(guān)系的形式表示,其數(shù)據(jù)模型就是關(guān)系模型。關(guān)系模型應(yīng)遵循以下幾個(gè)特點(diǎn)。(1)關(guān)系中的每一列都是不可再分的基本數(shù)據(jù)項(xiàng);(2)各列的屬性名稱不同,但其數(shù)據(jù)類型可以相同;(3)列與列的出現(xiàn)順序左右調(diào)換,不會(huì)影響所表示的信息;(4)行與行的出現(xiàn)順序前后調(diào)換,不會(huì)影響所表示的信息;(5)關(guān)系中不能存在屬性值完全相同的兩行。關(guān)系模式必須滿足一定的規(guī)范條件。這些規(guī)范條件中最基本的一條就是,關(guān)系的每一個(gè)分量必須是不可再分的數(shù)據(jù)項(xiàng),即不允許表中還嵌有子表。61關(guān)系模型數(shù)據(jù)以關(guān)系的形式表示,其數(shù)據(jù)模型就是關(guān)系模型。關(guān)系關(guān)系模型表1.2含有子表的二維表---不符合要求的表學(xué)號(hào)姓名性別出生年月班級(jí)號(hào)

成績數(shù)學(xué)英語電工德育010101趙明男1980-11-6010186908987010201趙以男1978-8-24010275807867表1.3符合要求的關(guān)系的二維表學(xué)號(hào)姓名性別出生年月班級(jí)號(hào)數(shù)學(xué)英語電工德育010101趙明男1980-11-6010186908987010201趙以男1978-8-2401027580786762關(guān)系模型表1.2含有子表的二維表---不符合要求的表姓關(guān)系模型關(guān)系模型的操作:包括查詢、插入、刪除和更新數(shù)據(jù)。這些操作必須滿足關(guān)系的完整性約束條件。在關(guān)系模型中,任何實(shí)體以及實(shí)體間的聯(lián)系都用關(guān)系表示,對(duì)數(shù)據(jù)進(jìn)行各種處理后得到的還是關(guān)系。因而關(guān)系模型數(shù)據(jù)結(jié)構(gòu)簡單、清晰,易懂易用,深受用戶喜愛。63關(guān)系模型關(guān)系模型的操作:631.2數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的概念1.2.2實(shí)體聯(lián)系模型1.2.3關(guān)系數(shù)據(jù)模型1.2.4關(guān)系數(shù)據(jù)庫概述641.2數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的概念1.2.21.2.4關(guān)系數(shù)據(jù)庫概述數(shù)據(jù)庫模型依賴于數(shù)據(jù)的存儲(chǔ)模式,即數(shù)據(jù)存儲(chǔ)模式不同,數(shù)據(jù)庫的性質(zhì)亦不同。以關(guān)系模型作為數(shù)據(jù)的組織和存儲(chǔ)方式的數(shù)據(jù)庫稱為關(guān)系數(shù)據(jù)庫。支持關(guān)系數(shù)據(jù)模型的數(shù)據(jù)庫管理系統(tǒng)稱為關(guān)系數(shù)據(jù)庫管理系統(tǒng)(relationaldatabasemanagementsystem,RDBMS)。關(guān)系數(shù)據(jù)庫采用數(shù)學(xué)方法來處理數(shù)據(jù)庫中的數(shù)據(jù),便于理解和使用。因此,關(guān)系數(shù)據(jù)庫系統(tǒng)一經(jīng)推出,迅速得到廣泛的應(yīng)用,目前已在數(shù)據(jù)庫領(lǐng)域中占據(jù)統(tǒng)治地位。當(dāng)今市場(chǎng)的主流關(guān)系數(shù)據(jù)庫產(chǎn)品有:微軟公司的MSSQLServer,Oracle公司的Oracle,IBM公司的DB2,Informix公司的IDS(InformixDynamicServer),Sybase公司的ASE(AdaptiveServerEnterprise),等等。651.2.4關(guān)系數(shù)據(jù)庫概述數(shù)據(jù)庫模型依賴于數(shù)據(jù)的存儲(chǔ)模式,即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)的體系結(jié)構(gòu)第1章緒論1.5數(shù)據(jù)庫系統(tǒng)的組成1.6Oracle數(shù)據(jù)庫系統(tǒng)概述1.7小結(jié)661.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)1.3.2數(shù)據(jù)庫的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性

671.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)11.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫分為三級(jí):外模式、模式和內(nèi)模式,對(duì)于用戶而言,可以相應(yīng)地分為用戶級(jí)模式、概念級(jí)模式和物理級(jí)模式。三級(jí)模式的關(guān)系如圖1.6所示。681.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫分為三級(jí):外模式1.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)圖1.6

數(shù)據(jù)庫系統(tǒng)的模式691.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)圖1.6數(shù)據(jù)庫系統(tǒng)1.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)1.外模式概念外模式(externalschema)也稱為子模式,它對(duì)應(yīng)于用戶級(jí)數(shù)據(jù)庫,是用戶能夠看到和使用的數(shù)據(jù)庫,因此也稱為用戶視圖。外模式就是用戶所看到并獲準(zhǔn)使用的那部分?jǐn)?shù)據(jù)的邏輯結(jié)構(gòu)。一個(gè)數(shù)據(jù)庫通常有多個(gè)外模式,當(dāng)不同的用戶在應(yīng)用需求、保密級(jí)別等方面存在差異時(shí),其外模式描述會(huì)有所不同。一個(gè)應(yīng)用程序只能使用一個(gè)外模式,但一個(gè)外模式可為多個(gè)應(yīng)用程序所使用。外模式是保證數(shù)據(jù)庫安全性的一項(xiàng)有力措施。用戶只能看到和訪問所對(duì)應(yīng)的外模式的數(shù)據(jù),而數(shù)據(jù)庫中的其他數(shù)據(jù)對(duì)于用戶是不可見的。701.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)1.外模式701.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)2.模式概念模式(schema)是對(duì)數(shù)據(jù)庫的整體邏輯描述,它對(duì)應(yīng)于概念級(jí)數(shù)據(jù)庫,是數(shù)據(jù)庫管理員所看到的數(shù)據(jù)庫,通常又稱DBA視圖。模式以某一種數(shù)據(jù)模型(例如,關(guān)系數(shù)據(jù)模型)為基礎(chǔ),綜合地考慮所有用戶的需求,并將這些需求有機(jī)地結(jié)合成一個(gè)邏輯整體。一個(gè)數(shù)據(jù)庫只有一個(gè)模式。模式不僅要描述數(shù)據(jù)的邏輯結(jié)構(gòu),例如數(shù)據(jù)記錄的組成、數(shù)據(jù)項(xiàng)的名稱、數(shù)據(jù)類型、長度、取值范圍等,還要描述數(shù)據(jù)之間的聯(lián)系、數(shù)據(jù)的完整性、安全性要求。711.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)2.模式711.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)3.內(nèi)模式概念內(nèi)模式(internalschema)是對(duì)數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式,它對(duì)應(yīng)于物理級(jí)數(shù)據(jù)庫,又稱存儲(chǔ)模式。例如,記錄以何種存儲(chǔ)方式存儲(chǔ);索引按照哪種方式組織;數(shù)據(jù)是否壓縮存儲(chǔ)、是否加密,等等。這些任務(wù)都是系統(tǒng)程序員要做的,因此物理級(jí)數(shù)據(jù)庫也稱為系統(tǒng)程序員視圖。一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式。在三級(jí)模式結(jié)構(gòu)中,數(shù)據(jù)庫模式是數(shù)據(jù)庫的核心和關(guān)鍵。對(duì)于一個(gè)數(shù)據(jù)庫系統(tǒng)來說,實(shí)際存在的只是物理級(jí)數(shù)據(jù)庫,它是數(shù)據(jù)訪問的基礎(chǔ)。概念級(jí)數(shù)據(jù)庫只不過是物理級(jí)數(shù)據(jù)庫的一種抽象描述,用戶級(jí)數(shù)據(jù)庫是用戶與數(shù)據(jù)庫的接口。用戶根據(jù)外模式進(jìn)行操作,通過外模式到模式的映像與概念級(jí)數(shù)據(jù)庫聯(lián)系起來,又通過模式到內(nèi)模式的映像與物理級(jí)數(shù)據(jù)庫聯(lián)系起來。DBMS的工作側(cè)重點(diǎn)之一就是完成三級(jí)數(shù)據(jù)庫之間的轉(zhuǎn)換,把用戶對(duì)數(shù)據(jù)庫的操作轉(zhuǎn)化到物理級(jí)數(shù)據(jù)庫去執(zhí)行。721.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)3.內(nèi)模式721.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)1.3.2數(shù)據(jù)庫的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性

731.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)11.3.2數(shù)據(jù)庫的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性1.外模式-模式映像外模式和模式之間是通過外模式-模式映像聯(lián)系起來的。由于一個(gè)模式對(duì)應(yīng)于多個(gè)外模式,因此,對(duì)于每個(gè)外模式,都有一個(gè)外模式-模式映像用于描述這個(gè)外模式與模式之間的對(duì)應(yīng)關(guān)系。通常在外模式中描述外模式-模式映像。作用----保證數(shù)據(jù)的邏輯獨(dú)立性。有了外模式-模式映像之后,當(dāng)模式發(fā)生改變時(shí),例如增加新的屬性、修改屬性的數(shù)據(jù)類型,只要對(duì)外模式-模式映像做相應(yīng)的改變,使外模式保持不變,則依賴于外模式的應(yīng)用程序就不會(huì)受影響,從而保證數(shù)據(jù)與應(yīng)用程序之間的邏輯獨(dú)立性,即保證數(shù)據(jù)的邏輯獨(dú)立性。741.3.2數(shù)據(jù)庫的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性1.外1.3.2數(shù)據(jù)庫的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性2.模式-內(nèi)模式映像模式與內(nèi)模式之間是通過模式-內(nèi)模式映像聯(lián)系起來的。由于數(shù)據(jù)庫中只有一個(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ú)立性。751.3.2數(shù)據(jù)庫的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性2.模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)的體系結(jié)構(gòu)第1章緒論1.5數(shù)據(jù)庫系統(tǒng)的組成1.6Oracle數(shù)據(jù)庫系統(tǒng)概述1.7小結(jié)761.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)1.4數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)1.4.1數(shù)據(jù)庫管理系統(tǒng)的組成

1.4.2

數(shù)據(jù)庫管理系統(tǒng)的控制功能

1.4.3客戶-服務(wù)器體系結(jié)構(gòu)

771.4數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)1.4.1數(shù)據(jù)庫管理系統(tǒng)1.4.1數(shù)據(jù)庫管理系統(tǒng)的組成一個(gè)完整的DBMS通常由以下4部分組成。1.DDL及其翻譯處理程序

供用戶定義數(shù)據(jù)庫模式、存儲(chǔ)模式、外模式、各級(jí)模式間的映像、有關(guān)的約束條件等。2.DML及其編譯處理程序

實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的檢索、插入、修改等基本操作。3.數(shù)據(jù)庫運(yùn)行控制程序

提供系統(tǒng)運(yùn)行控制程序負(fù)責(zé)數(shù)據(jù)庫運(yùn)行過程中的控制與管理。4.實(shí)用程序

提供實(shí)用程序。數(shù)據(jù)庫用戶可以利用這些實(shí)用程序完成數(shù)據(jù)庫的建立與維護(hù)以及數(shù)據(jù)的格式轉(zhuǎn)換與通信。781.4.1數(shù)據(jù)庫管理系統(tǒng)的組成一個(gè)完整的DBMS通常由1.4數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)1.4.1數(shù)據(jù)庫管理系統(tǒng)的組成

1.4.2

數(shù)據(jù)庫管理系統(tǒng)的控制功能

1.4.3客戶-服務(wù)器體系結(jié)構(gòu)

791.4數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)1.4.1數(shù)據(jù)庫管理系統(tǒng)1.4.2

數(shù)據(jù)庫管理系統(tǒng)的控制功能事務(wù)的基本概念事務(wù)是數(shù)據(jù)庫的邏輯單位,是用戶定義的一組操作序列。它應(yīng)該具有下面4個(gè)特性:(1)原子性:一個(gè)事務(wù)是一個(gè)不可分割的單位,事務(wù)中包括的諸項(xiàng)操作要么都做,要么都不做。(2)一致性:事務(wù)必須能使數(shù)據(jù)庫從某個(gè)一致性狀態(tài)變化到另一個(gè)一致性狀態(tài)。因此當(dāng)數(shù)據(jù)庫只包含成功事務(wù)提交的結(jié)果時(shí),數(shù)據(jù)庫處于一致性狀態(tài)。(3)隔離性:一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。即一個(gè)事務(wù)內(nèi)部的操作及其使用的數(shù)據(jù)對(duì)于并發(fā)的其他事務(wù)是隔離的,并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾。(4)持久性:指一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫中數(shù)據(jù)所做的更改就應(yīng)該是永久性的。801.4.2數(shù)據(jù)庫管理系統(tǒng)的控制功能事務(wù)的基本概念801.4.2

數(shù)據(jù)庫管理系統(tǒng)的控制功能2.DBMS的控制功能DBMS必須提供以下幾方面的數(shù)據(jù)控制功能。(1)保證數(shù)據(jù)的安全性 數(shù)據(jù)的安全性(Security)是指保護(hù)數(shù)據(jù),防止因用戶非法使用數(shù)據(jù)庫而造成數(shù)據(jù)的泄密、更改或破壞。通常用戶只能按規(guī)定對(duì)某些數(shù)據(jù)以某種方式進(jìn)行訪問和處理。

DBMS一般通過用戶標(biāo)識(shí)鑒定、存取控制、用戶視圖、密碼存儲(chǔ)等安全技術(shù)來保證數(shù)據(jù)的安全性。(2)保證數(shù)據(jù)的完整性數(shù)據(jù)的完整性(Integrity)是指數(shù)據(jù)的正確性、有效性和兼容性,即將數(shù)據(jù)控制在有效的范圍之內(nèi),或要求數(shù)據(jù)之間滿足特定的關(guān)系。DBMS的完整性控制機(jī)制應(yīng)具備3個(gè)方面的功能。①定義完整性約束條件。②檢查用戶發(fā)出的操作請(qǐng)求是否違背了完整性約束條件。③如果發(fā)現(xiàn)用戶的操作請(qǐng)求會(huì)破壞數(shù)據(jù)的完整性約束條件,則采取一定的動(dòng)作來保證數(shù)據(jù)的完整性。811.4.2數(shù)據(jù)庫管理系統(tǒng)的控制功能2.DBMS1.4.2

數(shù)據(jù)庫管理系統(tǒng)的控制功能(3)實(shí)現(xiàn)并發(fā)控制數(shù)據(jù)庫是一個(gè)共享資源,可供多個(gè)用戶同時(shí)使用。當(dāng)多個(gè)用戶的并發(fā)進(jìn)程同時(shí)存取、修改數(shù)據(jù)庫中的數(shù)據(jù)時(shí),可能會(huì)引發(fā)相互干擾而得到錯(cuò)誤的結(jié)果,并使得數(shù)據(jù)庫的完整性遭到破壞,因此必須對(duì)多用戶的并發(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ì)象。821.4.2數(shù)據(jù)庫管理系統(tǒng)的控制功能(3)實(shí)現(xiàn)并發(fā)控制81.4.2

數(shù)據(jù)庫管理系統(tǒng)的控制功能(4)恢復(fù)數(shù)據(jù)庫計(jì)算機(jī)系統(tǒng)的硬件故障、軟件故障、操作員的失誤以及蓄意破壞都會(huì)影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,甚至造成數(shù)據(jù)庫的部分或全部數(shù)據(jù)的丟失。DBMS必須具有將數(shù)據(jù)庫從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)(也稱為完整狀態(tài)或一致狀態(tài))的功能,這就是數(shù)據(jù)庫的恢復(fù)功能(Recovery)。事務(wù)也是執(zhí)行恢復(fù)的基本單位,DBMS中有一類文件稱為日志文件,記錄每個(gè)事務(wù)的開始、每個(gè)事務(wù)所引發(fā)的數(shù)據(jù)庫的更新和每個(gè)事務(wù)的結(jié)束。一旦系統(tǒng)出現(xiàn)故障,可以通過日志文件中的內(nèi)容進(jìn)行數(shù)據(jù)庫恢復(fù)。事務(wù)通常以“試驗(yàn)”的方式完成,即在試驗(yàn)過程中,并不真正地更新數(shù)據(jù)庫中的數(shù)據(jù)。當(dāng)事務(wù)即將完成時(shí),也就是提交事務(wù)的時(shí)候,所更新的內(nèi)容首先被復(fù)制到日志文件中,然后再把更新內(nèi)容寫入數(shù)據(jù)庫。這樣,即使在這兩個(gè)步驟之間系統(tǒng)出現(xiàn)故障,通過查看日志文件,就能夠知道在系統(tǒng)恢復(fù)之后需要執(zhí)行哪些更新操作。如果系統(tǒng)在這兩個(gè)步驟之前系統(tǒng)出現(xiàn)故障,可以重新執(zhí)行此事務(wù),確保不會(huì)發(fā)生錯(cuò)誤。831.4.2數(shù)據(jù)庫管理系統(tǒng)的控制功能(4)恢復(fù)數(shù)據(jù)庫831.4數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)1.4.1數(shù)據(jù)庫管理系統(tǒng)的組成

1.4.2

數(shù)據(jù)庫管理系統(tǒng)的控制功能

1.4.3客戶-服務(wù)器體系結(jié)構(gòu)

841.4數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)1.4.1數(shù)據(jù)庫管理系統(tǒng)1.4.3客戶-服務(wù)器體系結(jié)構(gòu)DBMS體系結(jié)構(gòu)發(fā)展單用戶結(jié)構(gòu)主從式結(jié)構(gòu)分布式結(jié)構(gòu)客戶-服務(wù)器結(jié)構(gòu)??蛻?服務(wù)器概念網(wǎng)絡(luò)中專門用于執(zhí)行DBMS功能的計(jì)算機(jī)稱為數(shù)據(jù)庫服務(wù)器,簡稱服務(wù)器(Server),其他安裝DBMS的外圍應(yīng)用開發(fā)工具且支持用戶應(yīng)用的計(jì)算機(jī)稱為客戶機(jī)(Client)。形成了客戶-服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)。特點(diǎn)客戶端的用戶請(qǐng)求被傳送至數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器對(duì)用戶強(qiáng)求進(jìn)行處理后,只將結(jié)果返回給用戶,從而顯著減少網(wǎng)絡(luò)上的數(shù)據(jù)傳輸量,提高了系統(tǒng)的性能、吞吐量和負(fù)載能力。通常用SQL語言表達(dá)從客戶端程序到服務(wù)器端程序的各種請(qǐng)求,然后由服務(wù)器端的程序給出相應(yīng)的回答,用表的形式將結(jié)果傳給客戶端程序??蛻襞c服務(wù)器通常都能在不同的硬件和軟件平臺(tái)上運(yùn)行,可以使用不同廠商提供的數(shù)據(jù)庫應(yīng)用開發(fā)工具,應(yīng)用程序具有更強(qiáng)的可移植性,同時(shí)也可以降低軟件維護(hù)工作的開銷。851.4.3客戶-服務(wù)器體系結(jié)構(gòu)DBMS體系結(jié)構(gòu)發(fā)展851.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)第1章緒論1.5數(shù)據(jù)庫系統(tǒng)的組成1.6Oracle數(shù)據(jù)庫系統(tǒng)概述1.7小結(jié)861.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)1.5數(shù)據(jù)庫系統(tǒng)的組成1.5.1硬件平臺(tái)及數(shù)據(jù)庫

1.5.2軟件平臺(tái)

1.5.3數(shù)據(jù)庫系統(tǒng)的相關(guān)人員

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

1.5.2軟件平臺(tái)

1.5.3數(shù)據(jù)庫系統(tǒng)的相關(guān)人員

891.5數(shù)據(jù)庫系統(tǒng)的組成1.5.1硬件平臺(tái)及數(shù)據(jù)庫1.51.5.2軟件平臺(tái)及數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)的軟件主要包括以下要素。(1)DBMS這是為數(shù)據(jù)庫的建立、使用和維護(hù)而配置的系統(tǒng)軟件。目前常用的DBMS有MSSQLServer2000及以上版本,還有Oracle9i及以上版本。(2)支持DBMS運(yùn)行的操作系統(tǒng)。常用的操作系統(tǒng)有Windows操作系統(tǒng)、UNIX操作系統(tǒng)、Linux操作系統(tǒng)。(3)具有能夠與數(shù)據(jù)庫接口的高級(jí)語言及其編譯系統(tǒng),便于開發(fā)應(yīng)用程序。(4)以DBMS為核心的應(yīng)用開發(fā)工具。(5)為特定應(yīng)用環(huán)境開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng)。901.5.2軟件平臺(tái)及數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)的軟件主要包括以下要1.5數(shù)據(jù)庫系統(tǒng)的組成1.5.1硬件平臺(tái)及數(shù)據(jù)庫

1.5.2軟件平臺(tái)

1.5.3數(shù)據(jù)庫系統(tǒng)的相關(guān)人員

911.5數(shù)據(jù)庫系統(tǒng)的組成1.5.1硬件平臺(tái)及數(shù)據(jù)庫1.51.5.3數(shù)據(jù)庫系統(tǒng)的相關(guān)人員數(shù)據(jù)庫系統(tǒng)的相關(guān)人員主要有數(shù)據(jù)庫管理員、系統(tǒng)分析員、數(shù)據(jù)庫設(shè)計(jì)人員、應(yīng)用程序開發(fā)人員和最終用戶。不同的人員完成不同的工作任務(wù),具有不同的視圖,如圖1.7所示。應(yīng)用系統(tǒng)DBMS操作系統(tǒng)模式內(nèi)模式外模式數(shù)據(jù)庫客戶端用戶應(yīng)用程序開發(fā)人員數(shù)據(jù)庫管理員系統(tǒng)分析員

圖1.7

相關(guān)人員的數(shù)據(jù)視圖921.5.3數(shù)據(jù)庫系統(tǒng)的相關(guān)人員數(shù)據(jù)庫系統(tǒng)的相關(guān)人員主要有1.5.3數(shù)據(jù)庫系統(tǒng)的相關(guān)人員1.數(shù)據(jù)庫管理員數(shù)據(jù)庫管理員(DataBaseAdministrator,DBA)負(fù)責(zé)全面管理和控制數(shù)據(jù)庫系統(tǒng)。主要工作包括:決定數(shù)據(jù)庫中的信息內(nèi)容和結(jié)構(gòu),決定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)和存儲(chǔ)策略,定義數(shù)據(jù)的安全性要求和完整性約束條件,監(jiān)控?cái)?shù)據(jù)庫的運(yùn)行,負(fù)責(zé)數(shù)據(jù)庫的改進(jìn)和重組、重構(gòu),等等。

931.5.3數(shù)據(jù)庫系統(tǒng)的相關(guān)人員1.數(shù)據(jù)庫管理員 1.5.3數(shù)據(jù)庫系統(tǒng)的相關(guān)人員2.系統(tǒng)分析員和數(shù)據(jù)庫設(shè)計(jì)人員系統(tǒng)分析員負(fù)責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)范說明,同用戶及數(shù)據(jù)庫管理員相結(jié)合,確定系統(tǒng)的硬件軟件配置,并參與數(shù)據(jù)庫系統(tǒng)的概要設(shè)計(jì)。數(shù)據(jù)庫設(shè)計(jì)人員負(fù)責(zé)數(shù)據(jù)庫中數(shù)據(jù)的確定、數(shù)據(jù)庫各級(jí)模式的設(shè)計(jì)。數(shù)據(jù)庫設(shè)計(jì)人員必須參與用戶需求調(diào)查和系統(tǒng)分析,然后進(jìn)行數(shù)據(jù)庫設(shè)計(jì)。

941.5.3數(shù)據(jù)庫系統(tǒng)的相關(guān)人員2.系統(tǒng)分析員和數(shù)1.5.3數(shù)據(jù)庫系統(tǒng)的相關(guān)人員3.應(yīng)用程序開發(fā)人員應(yīng)用程序開發(fā)人員負(fù)責(zé)設(shè)計(jì)和編寫應(yīng)用系統(tǒng)的程序模塊,并對(duì)其進(jìn)行調(diào)試和安裝。4.用戶用戶是指最終用戶。最終用戶通過應(yīng)用系統(tǒng)的用戶接口來使用數(shù)據(jù)庫。最終用戶可分為以下3類。(1)偶然用戶(2)簡單用戶(3)復(fù)雜用戶

951.5.3數(shù)據(jù)庫系統(tǒng)的相關(guān)人員3.應(yīng)用程序開發(fā)人員 91.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)第1章緒論1.5數(shù)據(jù)庫系統(tǒng)的組成1.6Oracle數(shù)據(jù)庫系統(tǒng)概述1.7小結(jié)961.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)1.6Oracle數(shù)據(jù)庫系統(tǒng)概述1.6.1Oracle數(shù)據(jù)庫系統(tǒng)簡介

1.6.2Oracle體系結(jié)構(gòu)

971.6Oracle數(shù)據(jù)庫系統(tǒng)概述1.6.1Oracl1.6.1Oracle數(shù)據(jù)庫系統(tǒng)簡介Oracle數(shù)據(jù)庫地位Oracle公司又稱甲骨文公司,是全球最大的信息管理軟件與服務(wù)供應(yīng)商。Oracle數(shù)據(jù)庫系統(tǒng)是其推出的主要產(chǎn)品,是關(guān)系數(shù)據(jù)庫的倡導(dǎo)者和先驅(qū)。經(jīng)過近30年的發(fā)展,目前Oracle產(chǎn)品覆蓋幾十種主流機(jī)型,其中Oracle數(shù)據(jù)庫已經(jīng)成為世界上使用最廣泛的關(guān)系數(shù)據(jù)庫系統(tǒng)之一,是數(shù)據(jù)庫領(lǐng)域的領(lǐng)軍者和標(biāo)準(zhǔn)制定者。Oracle公司推出的Oracle數(shù)據(jù)庫系統(tǒng)在我國有較大的市場(chǎng)份額,始終占據(jù)著數(shù)據(jù)庫市場(chǎng)的龍頭地位。

981.6.1Oracle數(shù)據(jù)庫系統(tǒng)簡介Oracle數(shù)據(jù)庫地1.6.1Oracle數(shù)據(jù)庫系統(tǒng)簡介Oracle數(shù)據(jù)庫的發(fā)展Oracle數(shù)據(jù)庫系統(tǒng)最早于1979年推出,隨著其開發(fā)技術(shù)的進(jìn)步,版本得以不斷更新,功能不斷壯大。

2004年推出了最新的Oracle10g版本991.6.1Oracle數(shù)據(jù)庫系統(tǒng)簡介Oracle數(shù)據(jù)庫的1.6.1Oracle數(shù)據(jù)庫系統(tǒng)簡介2.Oracle系統(tǒng)的特點(diǎn)Oracle具有完整的數(shù)據(jù)管理功能,這些功能包括存儲(chǔ)大量數(shù)據(jù)、定義和操縱數(shù)據(jù)、并發(fā)控制、安全性控制、故障恢復(fù)、提供與高級(jí)語言接口等。因此,Oracle是一個(gè)通用的數(shù)據(jù)庫系統(tǒng)。Oracle支持各種分布式功能,尤其支持各種Internet處理。因此,Oracle是一個(gè)分布式數(shù)據(jù)庫系統(tǒng)。Oracle作為一個(gè)應(yīng)用開發(fā)環(huán)境,使用PL/SQL語言執(zhí)行各種操作,具有可開放性、可移植性、靈活性等特點(diǎn)。高版本的Oracle支持面向?qū)ο蟮墓δ?,支持類、方法和屬性等概念?001.6.1Oracle數(shù)據(jù)庫系統(tǒng)簡介2.Orac1.6Oracle數(shù)據(jù)庫系統(tǒng)概述1.6.1Oracle數(shù)據(jù)庫系統(tǒng)簡介

1.6.2Oracle體系結(jié)構(gòu)

1011.6Oracle數(shù)據(jù)庫系統(tǒng)概述1.6.1Oracl1.6.2Oracle體系結(jié)構(gòu)完整的Oracle應(yīng)用環(huán)境包括如下兩部分

數(shù)據(jù)庫管理系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫結(jié)構(gòu)1021.6.2Oracle體系結(jié)構(gòu)完整的Oracle應(yīng)用環(huán)境包1.6.2Oracle體系結(jié)構(gòu)1.數(shù)據(jù)庫管理系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫管理系統(tǒng)由功能各異的管理程序組成,包括進(jìn)程管理和內(nèi)存管理等。(1)進(jìn)程結(jié)構(gòu)Oracle應(yīng)用環(huán)境中有兩類進(jìn)程:用戶進(jìn)程和服務(wù)器進(jìn)程。

用戶進(jìn)程是指在客戶機(jī)內(nèi)存上運(yùn)行的程序。

服務(wù)器進(jìn)程是指在服務(wù)器上運(yùn)行的程序,它接收用戶進(jìn)程發(fā)出的請(qǐng)求,根據(jù)用戶請(qǐng)求與數(shù)據(jù)庫進(jìn)行通信,完成與數(shù)據(jù)庫的連接操作和I/O訪問。特別重要的服務(wù)器進(jìn)程還負(fù)責(zé)完成數(shù)據(jù)庫的后臺(tái)管理工作,這些主要的進(jìn)程如表1.4所示。1031.6.2Oracle體系結(jié)構(gòu)1.數(shù)據(jù)庫管理系統(tǒng)結(jié)1.6.2Oracle體系結(jié)構(gòu)表1.4主要的服務(wù)器進(jìn)程進(jìn)程名稱作用系統(tǒng)監(jiān)控進(jìn)程(SMON)是在數(shù)據(jù)庫系統(tǒng)啟動(dòng)時(shí)執(zhí)行恢復(fù)性工作的強(qiáng)制性進(jìn)程,對(duì)存在故障的CPU或?qū)嵗M(jìn)行恢復(fù)進(jìn)程監(jiān)控進(jìn)程(PMON)是用于恢復(fù)失敗的數(shù)據(jù)庫用戶的強(qiáng)制性進(jìn)程,獲取失敗用戶的標(biāo)識(shí),釋放此用戶占用的所有數(shù)據(jù)庫資源,然后回滾中止的事務(wù)數(shù)據(jù)庫寫入進(jìn)程(DBWR)負(fù)責(zé)管理數(shù)據(jù)緩沖區(qū)和字典緩沖區(qū)的內(nèi)容,將修改后的數(shù)據(jù)塊分批寫回?cái)?shù)據(jù)庫文件。系統(tǒng)可以擁有多個(gè)這樣的進(jìn)程日志寫入進(jìn)程(LGWR)用于將內(nèi)存中的日志內(nèi)容寫入到日志文件中,是唯一能夠讀寫日志文件的進(jìn)程1041.6.2Oracle體系結(jié)構(gòu)表1.4主要的服務(wù)器1.6.2Oracle體系結(jié)構(gòu)(2)內(nèi)存結(jié)構(gòu)操作系統(tǒng)為進(jìn)程所分配的內(nèi)存結(jié)構(gòu)有兩部分:系統(tǒng)全局區(qū)和程序全局區(qū)。一般地,客戶機(jī)上的用戶進(jìn)程和服務(wù)器上的服務(wù)器進(jìn)程是同時(shí)運(yùn)行的。系統(tǒng)全局區(qū)(SystemGlobalArea,SGA)是指操作系統(tǒng)為用戶進(jìn)程和服務(wù)器進(jìn)程分配的專用的共享內(nèi)存區(qū)域,用于二者之間的通信。根據(jù)系統(tǒng)全局區(qū)功能的不同,可將其分成4個(gè)部分:數(shù)據(jù)緩沖區(qū)(DataBufferCache)、字典緩沖區(qū)(DictionaryBufferCache)、日志緩沖區(qū)(RedoLogBufferCache)和SQL共享池(SharedSQLPool),其作用如表1.5所示。1051.6.2Oracle體系結(jié)構(gòu)(2)內(nèi)存結(jié)構(gòu)1051.6.2Oracle體系結(jié)構(gòu)表1.5系統(tǒng)全局區(qū)的組成名稱作用數(shù)據(jù)緩沖區(qū)用于存儲(chǔ)最近從數(shù)據(jù)庫中讀取出來的數(shù)據(jù)字典緩沖區(qū)用于存儲(chǔ)從數(shù)據(jù)字典中讀取出來的信息日志緩沖區(qū)用于存儲(chǔ)任何事務(wù)過程,數(shù)據(jù)庫系統(tǒng)將定期將該緩沖區(qū)的內(nèi)容寫入日志文件SQL共享池SQL共享池是程序的高速緩沖區(qū),存放的是所有通過SQL語法分析并準(zhǔn)備執(zhí)行的SQL語句1061.6.2Oracle體系結(jié)構(gòu)表1.5系統(tǒng)全局區(qū)的1.6.2Oracle體系結(jié)構(gòu)程序全局區(qū)(ProgramGlobalArea,PGA)是存儲(chǔ)區(qū)中被單個(gè)用戶進(jìn)程所使用的內(nèi)存區(qū)域,為用戶進(jìn)程私有,不能共享。程序全局區(qū)主要存放單個(gè)進(jìn)程工作時(shí)所需要的數(shù)據(jù)和控制信息。1071.6.2Oracle體系結(jié)構(gòu)程序全局區(qū)(Program1.6.2Oracle體系結(jié)構(gòu)2.數(shù)據(jù)庫結(jié)構(gòu)數(shù)據(jù)庫結(jié)構(gòu)可分為:邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。(1)邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)是指從數(shù)據(jù)庫使用者的角度來考察數(shù)據(jù)庫的組成。數(shù)據(jù)庫的邏輯結(jié)構(gòu)如圖1.8所示。1081.6.2Oracle體系結(jié)構(gòu)2.數(shù)據(jù)庫結(jié)構(gòu)1081.6.2Oracle體系結(jié)構(gòu)Oracle數(shù)據(jù)庫表空間表空間表空間表索引視圖數(shù)據(jù)段數(shù)據(jù)段索引段臨時(shí)段回滾段數(shù)據(jù)區(qū)間數(shù)據(jù)區(qū)間數(shù)據(jù)塊數(shù)據(jù)塊

數(shù)據(jù)庫-------------------------------------------------------------------------------------------------------------------------------表空間

-------------------------------------------------------------------------------------------------------------------------------。。。邏輯對(duì)象

---------------------------------------------------------------------------------------------------------------------------------------

數(shù)據(jù)段-------------------------------------------------------------------------------------------------------------------------------------

。。。數(shù)據(jù)區(qū)間-----------------------------------------------------------------------------------------------------------------------------------。。。數(shù)據(jù)塊圖1.8

數(shù)據(jù)庫的邏輯結(jié)構(gòu)1091.6.2Oracle體系結(jié)構(gòu)Oracle數(shù)據(jù)庫表空間表空1.6.2Oracle體系結(jié)構(gòu)數(shù)據(jù)庫的邏輯結(jié)構(gòu)分為6層。①數(shù)據(jù)塊數(shù)據(jù)塊又稱邏輯塊,是Oracle數(shù)據(jù)庫輸入輸出的基本單位,其常見大小為2KB或4KB,通常是操作系統(tǒng)默認(rèn)數(shù)據(jù)塊大小的整數(shù)倍。②數(shù)據(jù)區(qū)間數(shù)據(jù)區(qū)間由若干數(shù)據(jù)塊組成,是數(shù)據(jù)庫存儲(chǔ)空間所分配的一個(gè)邏輯單位。③數(shù)據(jù)段數(shù)據(jù)段由若干數(shù)據(jù)區(qū)間組成。Oracle中有4種數(shù)據(jù)段。(a)數(shù)據(jù)段:用于存放數(shù)據(jù)。(b)索引段:用于存放索引數(shù)據(jù)。(c)臨時(shí)段:在執(zhí)行SQL語句時(shí),用于存放中間結(jié)果和數(shù)據(jù)。一旦SQL語句執(zhí)行完畢,臨時(shí)段所占用的存儲(chǔ)空間將被釋放。(d)回滾段:用于存放要撤消的信息。1101.6.2Oracle體系結(jié)構(gòu)數(shù)據(jù)庫的邏輯結(jié)構(gòu)分為6層。11.6.2Oracle體系結(jié)構(gòu)④邏輯對(duì)象邏輯對(duì)象是指可由用戶操作的數(shù)據(jù)庫對(duì)象。Oracle系統(tǒng)中包括表、索引、視圖、簇、數(shù)據(jù)庫鏈接、同義詞、序列、觸發(fā)器、過程、函數(shù)等21種數(shù)據(jù)庫對(duì)象。⑤表空間表空間主要用于管理邏輯對(duì)象,可以將其理解為Oracle數(shù)據(jù)庫的文件夾。一個(gè)表空間可以存放若干邏輯對(duì)象。當(dāng)Oracle安裝完畢后,系統(tǒng)將自動(dòng)建立9個(gè)默認(rèn)的表空間,如表1.6所示。1111.6.2Oracle體系結(jié)構(gòu)④邏輯對(duì)象1111.6.2Oracle體系結(jié)構(gòu)表1.6系統(tǒng)默認(rèn)的表空間名稱作用CWMLITE用于聯(lián)機(jī)分析處理(OLAP)DRSYS用于存放與工作空間設(shè)置有關(guān)的信息EXAMPLE實(shí)例表空間,用于存放實(shí)例信息INDEX索引表空間,用于存放數(shù)據(jù)庫索引信息SYSTEM系統(tǒng)表空間,用于存放表空間的名稱、所包含的數(shù)據(jù)文件等管理信息TEMP臨時(shí)表空間,用于存放臨時(shí)表TOOLS工具表空間,用于存放數(shù)據(jù)庫工具軟件所需的數(shù)據(jù)庫對(duì)象UNDOTBS回滾表空間,用于存放數(shù)據(jù)庫恢復(fù)信息USERS用戶表空間,用于存放用戶私有信息1121.6.2Oracle體系結(jié)構(gòu)表1.6系統(tǒng)默認(rèn)的表1.6.2Oracle體系結(jié)構(gòu)⑥數(shù)據(jù)庫數(shù)據(jù)庫由若干表空間組成。實(shí)際上,一個(gè)數(shù)據(jù)庫服務(wù)器上可以有多個(gè)數(shù)據(jù)庫,一個(gè)數(shù)據(jù)庫中可以有多個(gè)表空間,一個(gè)表空間中可以有多個(gè)表,一個(gè)表中可以有多個(gè)數(shù)據(jù)段,一個(gè)數(shù)據(jù)段中可以有多個(gè)數(shù)據(jù)區(qū)間,一個(gè)數(shù)據(jù)區(qū)間中可以有多個(gè)數(shù)據(jù)塊。1131.6.2Oracle體系結(jié)構(gòu)⑥數(shù)據(jù)庫1131.6.2Oracle體系結(jié)構(gòu)(2)物理結(jié)構(gòu)物理結(jié)構(gòu)是指從數(shù)據(jù)庫設(shè)計(jì)者的角度來考察數(shù)據(jù)庫的組成。物理結(jié)構(gòu)又稱為存儲(chǔ)結(jié)構(gòu)。Oracle數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)如圖1.9所示。1141.6.2Oracle體系結(jié)構(gòu)(2)物理結(jié)構(gòu)1141.6.2Oracle體系結(jié)構(gòu)Oracle數(shù)據(jù)庫數(shù)據(jù)文件控制文件日志文件物理塊物理塊物理塊

數(shù)據(jù)庫-------------------------------------------------------------------------------------------------------------------------------物理文件-------------------------------------------------------------------------------------------------------------------------------物理塊圖1.9

數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)1151.6.2Oracle體系結(jié)構(gòu)Oracle數(shù)據(jù)庫數(shù)據(jù)文件控1.6.2Oracle體系結(jié)構(gòu)①物理塊物理塊是操作系統(tǒng)分配的基本存儲(chǔ)單位。邏輯結(jié)構(gòu)中的數(shù)據(jù)塊由若干個(gè)物理塊組成。②物理文件物理文件由若干物理塊組成,包括數(shù)據(jù)文件、控制文件和日志文件。一個(gè)物理文件對(duì)應(yīng)于操作系統(tǒng)的一個(gè)文件。(a)數(shù)據(jù)文件數(shù)據(jù)文件用于存放所有的數(shù)據(jù)。一個(gè)Oracle數(shù)據(jù)庫包括一個(gè)或多個(gè)數(shù)據(jù)文件。一個(gè)表空間對(duì)應(yīng)著一個(gè)或多個(gè)數(shù)據(jù)文件。數(shù)據(jù)文件的默認(rèn)擴(kuò)展名為DBF。1161.6.2Oracle體系結(jié)構(gòu)①物理塊1161.6.2Oracle體系結(jié)構(gòu)(b)日志文件日志文件又稱為聯(lián)機(jī)重做日志文件,日志文件記錄對(duì)數(shù)據(jù)庫所進(jìn)行的修改操作和事務(wù),以便在恢復(fù)數(shù)據(jù)庫時(shí)使用。在Oracle系統(tǒng)中,默認(rèn)狀態(tài)下為每個(gè)數(shù)據(jù)庫建立3個(gè)日志文件,分別是REDO01.LOG、REDO02.LOG和REDO03.LOG。日志文件的默認(rèn)擴(kuò)展名為LOG。日志文件的工作方式首先向REDO01.LOG文件中寫日志內(nèi)容,REDO01.LOG文件寫滿后,向REDO02.LOG文件中寫入,REDO02.LOG文件寫滿后再向REDO03.LOG文件中寫入。當(dāng)REDO03.LOG文件寫滿后又循環(huán)向REDO01.LOG文件中寫入,此時(shí),系統(tǒng)根據(jù)數(shù)據(jù)庫工作模式的不同來處理以前的日志信息。1171.6.2Oracle體系結(jié)構(gòu)(b)日志文件1171.6.2Oracle體系結(jié)構(gòu)數(shù)據(jù)庫工作模式:歸檔模式(Archivelog)和非歸檔模式(NoArchivelog)。歸檔模式:又稱為全恢復(fù)模式,將保留所有的重做日志內(nèi)容。如果數(shù)據(jù)庫系統(tǒng)工作在歸檔模式下,那么當(dāng)REDO03.LOG文件寫滿后又循環(huán)向REDO01.LOG文件中寫入時(shí),REDO01.LOG文件中先前的日志信息將以備份形式全部保留下來,形成歸檔日志,這樣,數(shù)據(jù)庫可以從所有類型的失敗中得以恢復(fù),這是數(shù)據(jù)庫最安全的工作方式。非歸檔模式:此工作模式不保留以前的重做日志內(nèi)容。如果數(shù)據(jù)庫系統(tǒng)工作在非歸檔模式下,那么當(dāng)REDO03.LOG文件寫滿后又循環(huán)向REDO01.LOG文件中寫入時(shí),REDO01.LOG文件中先前的日志信息將被覆蓋,一旦數(shù)據(jù)庫出現(xiàn)故障,就只能根據(jù)日志文件中所記載的內(nèi)容對(duì)數(shù)據(jù)庫進(jìn)行部分恢復(fù)。1181.6.2Oracle體系結(jié)構(gòu)數(shù)據(jù)庫工作模式:歸檔模式(A1.6.2Oracle體系結(jié)構(gòu)(c)控制文件控制文件中存放與Oracle數(shù)據(jù)庫有關(guān)的控制信息。通過使用控制文件可以保證數(shù)據(jù)庫的完整性。在Oracle數(shù)據(jù)庫系統(tǒng)中,默認(rèn)狀態(tài)下為每個(gè)數(shù)據(jù)庫建立3個(gè)控制文件,分別是CONTROL01.CTL、CONTROL02.CTL和CONTROL03.CTL。控制文件的默認(rèn)擴(kuò)展名為CTL。1191.6.2Oracle體系結(jié)構(gòu)(c)控制文件1191.6.2Oracle體系結(jié)構(gòu)③數(shù)據(jù)庫物理意義上的數(shù)據(jù)庫就是由各種文件組成的系統(tǒng)。1201.6.2Oracle體系結(jié)構(gòu)③數(shù)據(jù)庫1201.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)第1章緒論1.5數(shù)據(jù)庫系統(tǒng)的組成1.6Oracle數(shù)據(jù)庫系統(tǒng)概述1.7小結(jié)1211.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)1.7小結(jié)本章對(duì)數(shù)據(jù)庫系統(tǒng)做了簡要的概述,結(jié)合數(shù)據(jù)管理技術(shù)的發(fā)展歷程,重點(diǎn)介紹數(shù)據(jù)庫系統(tǒng)的特點(diǎn)。通過對(duì)數(shù)據(jù)模型的概念進(jìn)行描述,重點(diǎn)介紹建立數(shù)據(jù)模型的最常用的圖形方法,即實(shí)體聯(lián)系方法和關(guān)系數(shù)據(jù)模型。通過對(duì)數(shù)據(jù)庫系統(tǒng)三級(jí)模式結(jié)構(gòu)和二級(jí)映像結(jié)構(gòu)的描述,介紹數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)在保證數(shù)據(jù)獨(dú)立性方面所發(fā)揮的作用。通過對(duì)DBMS(數(shù)據(jù)庫管理系統(tǒng))的組成、功能及客戶-服務(wù)器體系結(jié)構(gòu)的描述,介紹DBMS在數(shù)據(jù)庫系統(tǒng)中的重要作用。另外,還介紹了數(shù)據(jù)庫系統(tǒng)的組成。最后,對(duì)Oracle數(shù)據(jù)庫管理系統(tǒng)做了簡要的概述。1221.7小結(jié)本章對(duì)數(shù)據(jù)庫系統(tǒng)做了簡要的概述,結(jié)1.7小結(jié)通過本章的學(xué)習(xí),讀者應(yīng)該了解:(1)數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)的基本概念,數(shù)據(jù)庫系統(tǒng)的特點(diǎn)。(2)數(shù)據(jù)模型的基本概念、E-R圖的作用及其畫法、關(guān)系數(shù)據(jù)模型、RDBMS的基本概念。(3)數(shù)據(jù)庫系統(tǒng)的三級(jí)模式、二級(jí)映像結(jié)構(gòu)以及數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)與數(shù)據(jù)獨(dú)立性之間的關(guān)系。(4)數(shù)據(jù)庫管理系統(tǒng)的組成及其功能。(5)數(shù)據(jù)庫系統(tǒng)的組成。(6)Oracle數(shù)據(jù)庫系統(tǒng)的特點(diǎn)和Oracle體系結(jié)構(gòu)。1231.7小結(jié)通過本章的學(xué)習(xí),讀者應(yīng)該了解:123數(shù)據(jù)庫原理與應(yīng)用數(shù)據(jù)庫原理與應(yīng)用教材李卓玲費(fèi)雅潔:數(shù)據(jù)庫實(shí)用技術(shù)教程(基于Oracle系統(tǒng))

高等教育出版社,2007.12

教材學(xué)習(xí)方式聽課(啟發(fā)式、討論式)讀書(預(yù)習(xí)、復(fù)習(xí))實(shí)踐(綜合練習(xí))126學(xué)習(xí)方式聽課3考試成績平時(shí)成績(書面作業(yè))實(shí)踐考試(上機(jī)練習(xí))期末考試127考試成績平時(shí)成績4內(nèi)容安排(1)原理基礎(chǔ)篇-第1章緒論-第2章關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)-第3章SQL基礎(chǔ)-第4章數(shù)據(jù)庫設(shè)計(jì)128內(nèi)容安排(1)原理基礎(chǔ)篇5內(nèi)容安排(2)應(yīng)用篇-第5章Oracle數(shù)據(jù)庫和表空間-第6章Oracle基本對(duì)象-第7章PL/SQL編程語言-第8章PL/SQL應(yīng)用-第9章Or

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論