版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)據(jù)庫原理與應(yīng)用數(shù)據(jù)庫原理與應(yīng)用 教材教材李卓玲李卓玲 費雅潔:數(shù)據(jù)庫實用技術(shù)教程費雅潔:數(shù)據(jù)庫實用技術(shù)教程(基于基于Oracle系統(tǒng)系統(tǒng)) 高等教育出版社,高等教育出版社,2007.12 學(xué)習(xí)方式學(xué)習(xí)方式 聽課 (啟發(fā)式、討論式) 讀書 (預(yù)習(xí)、復(fù)習(xí)) 實踐 (綜合練習(xí))考試成績考試成績 平時成績 (書面作業(yè)) 實踐考試 (上機練習(xí)) 期末考試內(nèi)容安排內(nèi)容安排(1) 原理基礎(chǔ)篇 -第1章 緒論 -第2章 關(guān)系數(shù)據(jù)庫的理論基礎(chǔ) -第3章 SQL基礎(chǔ) -第4章 數(shù)據(jù)庫設(shè)計內(nèi)容安排內(nèi)容安排(2) 應(yīng)用篇-第5章 Oracle數(shù)據(jù)庫和表空間-第6章 Oracle基本對象-第7章 PL/SQL編程語言
2、-第8章 PL/SQL應(yīng)用-第9章 Oracle的安全性-第10章 Oracle綜合實例數(shù)據(jù)庫原理與應(yīng)用數(shù)據(jù)庫原理與應(yīng)用 第第1章章 緒論緒論學(xué)習(xí)目標學(xué)習(xí)目標 l掌握數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)的概念,了解數(shù)據(jù)庫系統(tǒng)的特點。l了解數(shù)據(jù)模型三要素,掌握E-R圖的畫法。l 掌握關(guān)系、元組、屬性、碼、關(guān)系模式、關(guān)系模型等基本概念。l 了解數(shù)據(jù)庫系統(tǒng)的三級模式和二級映像結(jié)構(gòu)。l 了解數(shù)據(jù)庫管理系統(tǒng)的組成和功能以及數(shù)據(jù)庫系統(tǒng)的組成。l了解Oracle數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)。數(shù)據(jù)庫的作用數(shù)據(jù)庫的作用 u數(shù)據(jù)庫技術(shù)是計算機領(lǐng)域中最為活躍的技術(shù)之一,是計算機科學(xué)的重要分支,它的出現(xiàn)對于許多企事業(yè)單位提
3、高科學(xué)管理水平都起到舉足輕重的作用。u對于一個企事業(yè)單位來說,數(shù)據(jù)庫的建設(shè)規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量這個機構(gòu)信息化程度的重要標志。11 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述12 數(shù)據(jù)模型數(shù)據(jù)模型13 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)第第1章章 緒論緒論 1.1 數(shù)據(jù)庫系統(tǒng)概述1.1.1 數(shù)據(jù)庫基本術(shù)語數(shù)據(jù)庫基本術(shù)語1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)管理技術(shù)的發(fā)展1.1.3 數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)庫系統(tǒng)的特點1.1.1 數(shù)據(jù)庫基本術(shù)語 數(shù)據(jù)(Data) 數(shù)據(jù)庫(Database) 數(shù)據(jù)庫管理系統(tǒng)(DBMS) 數(shù)據(jù)庫系統(tǒng)(DBS)數(shù)據(jù)(data) 定義 對事物進行描述的符號集合。 種類 數(shù)字、
4、文字、圖形、圖像、聲音、記錄等。 數(shù)據(jù)與語義不可分割數(shù)據(jù)(data) 例:有一條記錄如下 (張力,男,1955.12,1978) 問題:這條記錄中的1978表示什么?是此職工的工資額還是他參加工作時間或入校時間? 一種解釋是,張力是一位男同志,1955年12月出生,現(xiàn)在每月工資收入1978元。 還可以有另外的解釋, 此記錄的通用表示為: 姓名、性別、出生年月、工資數(shù)據(jù)庫(dataBase ,DB) 解釋:數(shù)據(jù)庫就是存放數(shù)據(jù)的倉庫 特點:所存放的所有數(shù)據(jù)是彼此聯(lián)系、并按照某種存儲模式進行組織和管理的。 定義:從嚴格意義上講,數(shù)據(jù)庫就是以一定的組織方式存儲在計算機中相互關(guān)聯(lián)的數(shù)據(jù)的集合。它能夠以最
5、佳的方式、最少的重復(fù)和最大的獨立性為多種應(yīng)用提供共享服務(wù)。數(shù)據(jù)庫管理系統(tǒng) 定義數(shù)據(jù)庫管理系統(tǒng)(dataBase management system ,DBMS)是專門用于建立和管理數(shù)據(jù)的軟件系統(tǒng),是位于用戶和操作系統(tǒng)之間的數(shù)據(jù)管理軟件。 作用 在建立、運用和維護數(shù)據(jù)庫時,由數(shù)據(jù)庫管理系統(tǒng)對其統(tǒng)一管理、統(tǒng)一控制。數(shù)據(jù)庫管理系統(tǒng)使用戶方便地定義數(shù)據(jù)和操縱數(shù)據(jù),并能夠保證數(shù)據(jù)的安全性、完整性、并發(fā)性及發(fā)生故障后及時進行系統(tǒng)恢復(fù)。數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫系統(tǒng)(database system,DBS)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫之后的系統(tǒng)構(gòu)成 組成 通常由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)及其開發(fā)工具、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管
6、理員和用戶構(gòu)成。 DBA 數(shù)據(jù)庫的建立、使用和維護等工作僅依靠一個DBMS是遠遠不夠的,還要有專職人員來完成,這些人稱為數(shù)據(jù)庫管理員(database administrator ,DBA)。 DBA的主要任務(wù) 決定數(shù)據(jù)庫所包含的信息內(nèi)容,充當數(shù)據(jù)庫系統(tǒng)與用戶的聯(lián)絡(luò)員,決定數(shù)據(jù)的存儲結(jié)構(gòu)和訪問策略,決定數(shù)據(jù)庫的保護策略,監(jiān)視數(shù)據(jù)庫系統(tǒng)的工作,響應(yīng)數(shù)據(jù)庫系統(tǒng)的某些變化,改善系統(tǒng)時效性,提高系統(tǒng)工作效率。 數(shù)據(jù)庫系統(tǒng)的地位1.1 數(shù)據(jù)庫系統(tǒng)概述1.1.1 數(shù)據(jù)庫基本術(shù)語數(shù)據(jù)庫基本術(shù)語1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)管理技術(shù)的發(fā)展1.1.3 數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)庫系統(tǒng)的特點1.1.2數(shù)據(jù)管理技術(shù)的
7、發(fā)展 程序管理階段 文件系統(tǒng)階段 數(shù)據(jù)庫系統(tǒng)階段程序管理階段 特點(1)數(shù)據(jù)不保存(2)數(shù)據(jù)管理由程序完成。(3)數(shù)據(jù)不共享,即數(shù)據(jù)是面向應(yīng)用的。(4)數(shù)據(jù)不具有獨立性。文件系統(tǒng)階段 特點(1)數(shù)據(jù)可以長期保存。(2) 由文件系統(tǒng)管理數(shù)據(jù)。(3)數(shù)據(jù)共享性差。(4)數(shù)據(jù)獨立性低。數(shù)據(jù)庫系統(tǒng)階段 時間: 從20世紀60年代后期開始 面向:大規(guī)模數(shù)據(jù)量、廣泛的應(yīng)用、共享數(shù)據(jù)集合 統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng)DBMS 在計算機科學(xué)領(lǐng)域逐步形成數(shù)據(jù)庫技術(shù)這一獨立分支。1.1 數(shù)據(jù)庫系統(tǒng)概述1.1.1 數(shù)據(jù)庫基本術(shù)語數(shù)據(jù)庫基本術(shù)語1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)管理技術(shù)的發(fā)展1.1.3 數(shù)據(jù)庫系統(tǒng)的特點
8、數(shù)據(jù)庫系統(tǒng)的特點1.1.3 數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)庫系統(tǒng)的特點 數(shù)據(jù)結(jié)構(gòu)化 數(shù)據(jù)共享性好,冗余度低 數(shù)據(jù)獨立性高 數(shù)據(jù)由DBMS統(tǒng)一管理和控制 數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化 在數(shù)據(jù)庫系統(tǒng)中,不僅要考慮針對某個應(yīng)用的數(shù)據(jù)結(jié)構(gòu),還要考慮整個組織(即多個應(yīng)用)的數(shù)據(jù)結(jié)構(gòu)。 數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化 例如:在一個學(xué)校的管理信息系統(tǒng)中,不僅要考慮學(xué)生的人事管理,還要考慮學(xué)籍管理、選課管理等,可以按照圖1.2的方式為該校的管理信息系統(tǒng)組織學(xué)生數(shù)據(jù)。 數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化學(xué)生選課記錄 學(xué)生獎懲記錄 學(xué)生學(xué)籍記錄 學(xué)生基本記錄 課程記錄 授獎單位記錄 學(xué)歷授予學(xué)校記錄 課程號 學(xué)號 學(xué)分學(xué)號 日期 學(xué)校代號 地點 學(xué)歷名
9、學(xué)號 日期 單位代號 獎懲條目學(xué)校代號 學(xué)校名稱 地址 課程號 課程名 學(xué)號 姓名 性別 出生年月 入學(xué)成績 政治面貌 籍貫 家庭出身 單位代號 單位名稱圖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),無需程序定義和解釋。(2)數(shù)據(jù)可以是變長的。(3)數(shù)據(jù)的最小存取單位是數(shù)據(jù)項。數(shù)據(jù)共享性好,冗余度低數(shù)據(jù)共享性好,冗余度低 數(shù)據(jù)的共享程度直接關(guān)系到數(shù)據(jù)的冗余度。 從整體角度來看,數(shù)據(jù)庫系統(tǒng)描述數(shù)據(jù)時不再面向某個特定應(yīng)用而是面向整個系統(tǒng)。 例如:上述學(xué)生基本記錄就可以為多個應(yīng)用(例如,選課管理、獎懲情況管理、學(xué)籍情況管理)所共享,這樣既可以大幅度降
10、低數(shù)據(jù)冗余度,節(jié)約存儲空間,又能夠避免數(shù)據(jù)之間的不兼容性與不一致性。 數(shù)據(jù)的不一致性:是指同一數(shù)據(jù)的不同副本的值不一樣。數(shù)據(jù)獨立性高數(shù)據(jù)獨立性高 數(shù)據(jù)的獨立性包括數(shù)據(jù)的物理獨立性和邏輯獨立性。 物理獨立性是指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。當數(shù)據(jù)的物理存儲發(fā)生改變時,應(yīng)用程序無需改變。 邏輯獨立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。數(shù)據(jù)的邏輯結(jié)構(gòu)發(fā)生改變時,用戶程序可以不變。數(shù)據(jù)由數(shù)據(jù)由DBMS統(tǒng)一管理和控制統(tǒng)一管理和控制 數(shù)據(jù)庫中數(shù)據(jù)的共享是并發(fā)的共享,即多個用戶可以同時存取數(shù)據(jù)庫中的數(shù)據(jù),甚至可以同時存取數(shù)據(jù)庫中同一個數(shù)據(jù),所以,數(shù)據(jù)庫中的數(shù)據(jù)是由DB
11、MS統(tǒng)一管理和控制的。為了保證數(shù)據(jù)的正確性, DBMS必須提供數(shù)據(jù)的安全性保護、數(shù)據(jù)的完整性檢驗、并發(fā)控制、數(shù)據(jù)庫恢復(fù)等功能。 11 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述12 數(shù)據(jù)模型數(shù)據(jù)模型13 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)第第1章章 緒論緒論 1.2 數(shù)據(jù)模型1.2.1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念1.2.2 實體聯(lián)系模型實體聯(lián)系模型1.2.3 關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型1.2.4 關(guān)系數(shù)據(jù)庫概述關(guān)系數(shù)據(jù)庫概述1.2.1數(shù)據(jù)模型的概念數(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ù)操作 完整性約束數(shù)據(jù)模型的三要素數(shù)據(jù)模型的三
12、要素 數(shù)據(jù)結(jié)構(gòu): -描述系統(tǒng)的靜態(tài)特性,是所研究對象的類型集合。 -通常都按照數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。 -傳統(tǒng)的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關(guān)系模型,關(guān)系模型是目前廣泛采用的數(shù)據(jù)模型。近年出現(xiàn)了對象數(shù)據(jù)模型。 數(shù)據(jù)操作: -描述系統(tǒng)的動態(tài)特性,是對各種對象實例允許執(zhí)行的操作的集合。 -數(shù)據(jù)操作主要分為插入數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)、查詢數(shù)據(jù)這4類。 完整性約束: 是為保證數(shù)據(jù)的正確性、有效性和相容性而制定的一系列規(guī)約。1.2 數(shù)據(jù)模型1.2.1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念1.2.2 實體聯(lián)系模型實體聯(lián)系模型1.2.3 關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型1.2.4 關(guān)系數(shù)據(jù)庫概述關(guān)系數(shù)據(jù)庫概述1.
13、2.2 實體聯(lián)系模型實體聯(lián)系模型 實體聯(lián)系模型(entity-relationship model) -是建立數(shù)據(jù)模型的一種直觀的圖形方法, -也可稱為E-R圖(Entity-Relationship Diagram)。 -它是目前建立數(shù)據(jù)模型所采用的最主要的方法。 E-R圖的作用圖的作用 E-R圖用于信息世界的建模,是從現(xiàn)實世界到信息世界的第一層抽象,是用戶與數(shù)據(jù)庫設(shè)計人員之間交流的語言。 它是概念級的模型,所以用E-R圖建立的模型也稱為概念模型。 從現(xiàn)實世界抽象出概念模型,然后把概念模型轉(zhuǎn)換為某個DBMS支持的數(shù)據(jù)結(jié)構(gòu),這需要一個過程,如圖1.3所示。 概念模型實際上是現(xiàn)實世界到信息世界再
14、到機器世界的一個中間環(huán)節(jié)。E-R圖的作用圖的作用 機器世界 信息世界 現(xiàn)實世界 現(xiàn) 實 世界 人的認 識抽象 概念模型DBMS支持的 數(shù) 據(jù) 結(jié)構(gòu)圖1.3 從現(xiàn)實世界到信息世界再到機器世界的過程E-R圖中常用的基本術(shù)語圖中常用的基本術(shù)語 (1)實體 實體(entity)是指客觀世界實際存在并可相互區(qū)別的事物。實體可以指人,也可指實際的東西(如椅子、汽車等),也可以指抽象的和概念性的東西(如一次借書,一種感情等)。 實體可以分為單個實體和實體集。單個實體指單個的、能相互區(qū)別的特定實體。若干類似實體可形成一個實體集。 例如:所有的學(xué)生組成一個實體集,而學(xué)生“趙明”則是單個實體;所有的大學(xué)形成一個實
15、體集,而某所大學(xué)則是單個實體。E-R圖中常用的基本術(shù)語圖中常用的基本術(shù)語 (2)屬性 屬性(attribute)是指實體所具有的某種特性。 例如,一個人有其姓名、年齡、性別、籍貫、教育程度等,其中的每一項都稱為人的屬性。 屬性是對實體特征的抽象描述,屬性的具體取值稱為屬性值。 例如,“李娜,25,女,山西,本科”這些值均為學(xué)生李娜的屬性值。 同一實體集中各個實體同一屬性的取值范疇稱為這個屬性的值域。 例如,姓名的值域為字符串集合,字符串的長度一般為8位,性別的值域是(男,女),年齡的值域是小于35的正整數(shù)。 碼:一個屬性值或一組屬性值如果能唯一標識實體集中的各個實體,則稱此屬性或這一組屬性為此
16、實體集的碼(也稱為鍵)。 例如,在一所學(xué)校里,學(xué)號是唯一能夠標識學(xué)生的屬性,所以學(xué)號就是學(xué)生實體的碼。 E-R圖中常用的基本術(shù)語圖中常用的基本術(shù)語 (3)聯(lián)系 實體集之間的聯(lián)系可把實體集關(guān)聯(lián)起來,即表示現(xiàn)實世界中事物之間的語義關(guān)系。 例如,“學(xué)生”實體和“課程”實體之間存在著“選修”聯(lián)系,聯(lián)系也可以有屬性,如“選修”實體內(nèi)還可以有“成績”這一屬性。 兩個實體集之間的聯(lián)系可以分為以下3類 一對一聯(lián)系 一對多聯(lián)系 多對多聯(lián)系 一對一聯(lián)系一對一聯(lián)系 定義 對于任意兩個實體集A和B,如果對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B之間存在一對一聯(lián)系,記
17、為1:1。 例子: 班級和班長之間存在一對一聯(lián)系,因為一個班級只能有一個班長,而班長只在一個班級中任職。一對多聯(lián)系一對多聯(lián)系 定義 對于任意兩個實體集A和B,如果對于實體集A中的每一個實體,實體集B中有n個實體(n1)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B之間存在一對多聯(lián)系,記為1:n。 例子 班級和學(xué)生實體之間存在一對多聯(lián)系,因為一個班級中含有若干名學(xué)生,而每名學(xué)生只從屬于一個班級。多對多聯(lián)系多對多聯(lián)系 定義 對于任意兩個實體集A和B,如果對于實體集A中的每一個實體,實體集B中有n個實體(n1)與之聯(lián)系,反之,對于實體集B中的每
18、一個實體,實體集A中也有m個實體(m1)與之聯(lián)系,則稱實體集A和實體集B之間存在多對多聯(lián)系,記為n:m。 例子 課程與學(xué)生之間存在多對多聯(lián)系,因為一門課程可以有若干名學(xué)生同時選修,而一名學(xué)生又可以同時選修多門課程。三種聯(lián)系的關(guān)系三種聯(lián)系的關(guān)系 一對一聯(lián)系是一對多聯(lián)系的特例 一對多聯(lián)系又是多對多聯(lián)系的特例。E-R圖的表示方法圖的表示方法 E-R圖中的相關(guān)規(guī)定 -實體集:用矩形框表示,框內(nèi)寫明實體名。 -屬 性:用橢圓框表示,框內(nèi)寫明屬性名,由一條無向直線與所屬實體相連。 -聯(lián) 系:用菱形框表示,框內(nèi)寫明聯(lián)系名,并用無向直線分別與有關(guān)實體相連,同時在無向直線旁邊標明聯(lián)系的類型。 -圖1.4描述3種
19、聯(lián)系類型的實例。E-R圖的表示方法實例圖的表示方法實例班級班長班級學(xué)生領(lǐng)導(dǎo)組成選修 課程 學(xué)生 111nnm圖1.4 3種聯(lián)系類型實例E-R圖的表示方法實例圖的表示方法實例 “領(lǐng)導(dǎo)”聯(lián)系:一個班級只有一名班長,一名班長只能領(lǐng)導(dǎo)一個班級,所以班長與班級之間存在一對一聯(lián)系“領(lǐng)導(dǎo)”。 “組成”聯(lián)系:一個班級由若干名學(xué)生組成,一名學(xué)生只能隸屬于一個班級,所以班級與學(xué)生之間存在一對多聯(lián)系“組成”。 “選修”聯(lián)系:一名學(xué)生可以選修多門課程,一門課程可以被多名學(xué)生選修,所以學(xué)生與課程之間存在多對多聯(lián)系“選修”。E-R圖的表示方法圖的表示方法建立E-R圖的步驟:1、應(yīng)根據(jù)實際應(yīng)用首先確定哪些是實體集,有多少個
20、實體集;2、確定實體集的屬性;3、確定實體集之間存在怎樣的聯(lián)系以及聯(lián)系的屬性。學(xué)校學(xué)?!敖虒W(xué)管理教學(xué)管理”例子例子 假設(shè)教學(xué)過程中存在以下一些事實。 事實一:一個班級由若干名學(xué)生組成,一名學(xué)生隸屬于一個班級; 事實二:一名學(xué)生可以選修多門課程,一門課程可以被多名學(xué)生選修,并且選修后會產(chǎn)生成績; 事實三:一名教師可以講授多門課程,一門課程可以由多名教師講授。學(xué)校學(xué)校“教學(xué)管理教學(xué)管理”例子例子 實體: 學(xué)生、班級、課程、教師 聯(lián)系: 由事實一可以得到一個一對多聯(lián)系,將其命名為“組成”。 由事實二可以得到一個多對多聯(lián)系,將其命名為“選修”,而且此聯(lián)系還有“成績”屬性。 由事實三可以得到一個多對多聯(lián)
21、系,將其命名為“講授”。學(xué)校學(xué)?!敖虒W(xué)管理教學(xué)管理”例子例子 假設(shè)上述實體與聯(lián)系的相關(guān)屬性如下。 學(xué)生:學(xué)號、姓名、性別、出生年月、入學(xué)成績 班級:班級號、班級名稱、所屬專業(yè)、組成時間、系別 課程:課程號、課程名稱、學(xué)分 教師:職工號、姓名、性別、出生日期、職稱 選修:成績學(xué)校學(xué)校“教學(xué)管理教學(xué)管理”例子例子 班級號班級名稱 所屬專業(yè) 組成時間系別班級組成學(xué)生學(xué)號姓名性別出生年月 入學(xué)成績選修成績課程課程號課程名稱學(xué)分講授教師職工號姓名性別出生日期職稱1nnmmn圖1.5 教學(xué)管理E-R圖1.2 數(shù)據(jù)模型1.2.1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念1.2.2 實體聯(lián)系模型實體聯(lián)系模型1.2.3 關(guān)
22、系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型1.2.4 關(guān)系數(shù)據(jù)庫概述關(guān)系數(shù)據(jù)庫概述1.2.3 關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型 用E-R圖所表示的概念模型獨立于具體的DBMS所支持的數(shù)據(jù)模型,是進入信息世界的具體體現(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è)計完畢,并選擇好DBMS所支持的數(shù)據(jù)模型之后,就可以將E-R圖轉(zhuǎn)換為DBMS所支持的數(shù)據(jù)模型了,也就實現(xiàn)了從信息世界到機器世界的轉(zhuǎn)換。關(guān)系的概念關(guān)系的概念 關(guān)系
23、是通常意義上的一張二維表,由行和列所組成,表的各列以屬性開始,是列的入口。例如,如表1.1所示的學(xué)生記錄表就是一個關(guān)系。 學(xué)號姓名性別出生年月入學(xué)成績附加分班級號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)系中所涉及的幾個術(shù)語如
24、下。(1)元組:表中的一行數(shù)據(jù)是一個元組,也稱為一條記錄。 例:表1.1中有7行數(shù)據(jù),即有7個元組或稱7條記錄。(2)屬性:表中的一列是一個屬性,也稱為一個字段,由名稱、數(shù)據(jù)類型、長度構(gòu)成其特征。 例:表1.1中有7列,即有7個屬性或稱7個字段,分別是:學(xué)號、姓名、性別、出生年月、入學(xué)成績、附加分、班級號。(3)主碼:表中可以唯一地確定一個元組的某個屬性組稱為主碼,也稱為主鍵,它可以由一個屬性或多個屬性構(gòu)成。 例:表1.1中的屬性“學(xué)號”唯一地確定一名學(xué)生,即成為“學(xué)生”關(guān)系的主碼。 (4)值域:屬性的取值范圍稱為值域。每個屬性均對應(yīng)一個值域,數(shù)據(jù)類型相同的屬性可對應(yīng)于同一值域,數(shù)據(jù)類型互異的
25、屬性對應(yīng)于不同的值域。 例:表1.1中“性別”的值域是(男,女),而“附加分”的值域是050之間的整數(shù)。 (5)分量: 元組中的一個屬性值稱為分量。 例:表1.1中“楊儀”是“學(xué)生”關(guān)系中第4個元組的“姓名”分量。 關(guān)系模式關(guān)系模式 關(guān)系模式是對關(guān)系的一種簡化描述,它的一般表示形式如下: 關(guān)系名(屬性名1,屬性名2,屬性名n) 關(guān)系名就是二維表表名的簡稱,關(guān)系中的主碼在關(guān)系模式中要用下劃線指明。 例如:表1.1中的“學(xué)生”關(guān)系可描述為學(xué)生( 學(xué)號 ,姓名,性別,出生年月,入學(xué)成績,附加分,班級號) 關(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)遵循以下幾個特點。(1)關(guān)系中的每一列都是不可再分的基本數(shù)據(jù)項;(2)各列的屬性名稱不同,但其數(shù)據(jù)類型可以相同;(3)列與列的出現(xiàn)順序左右調(diào)換,不會影響所表示的信息;(4)行與行的出現(xiàn)順序前后調(diào)換,不會影響所表示的信息;(5)關(guān)系中不能存在屬性值完全相同的兩行。關(guān)系模式必須滿足一定的規(guī)范條件。這些規(guī)范條件中最基本的一條就是,關(guān)系的每一個分量必須是不可再分的數(shù)據(jù)項,即不允許表中還嵌有子表。關(guān)系模型關(guān)系模型 表1.2 含有子表的二維表-不符合要求的表學(xué)號姓名性別出生年月班級號 成績數(shù)學(xué)英語電工德育010101趙明男1980-11-6010186908987010201
27、趙以男1978-8-24010275807867表1.3 符合要求的關(guān)系的二維表學(xué)號姓名性別出生年月班級號數(shù)學(xué)英語電工德育010101趙明男1980-11-6010186908987010201趙以男1978-8-24010275807867關(guān)系模型關(guān)系模型 關(guān)系模型的操作: 包括查詢、插入、刪除和更新數(shù)據(jù)。這些操作必須滿足關(guān)系的完整性約束條件。 在關(guān)系模型中,任何實體以及實體間的聯(lián)系都用關(guān)系表示,對數(shù)據(jù)進行各種處理后得到的還是關(guān)系。因而關(guān)系模型數(shù)據(jù)結(jié)構(gòu)簡單、清晰,易懂易用,深受用戶喜愛。1.2 數(shù)據(jù)模型1.2.1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念1.2.2 實體聯(lián)系模型實體聯(lián)系模型1.2.3 關(guān)
28、系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型1.2.4 關(guān)系數(shù)據(jù)庫概述關(guān)系數(shù)據(jù)庫概述1.2.4 關(guān)系數(shù)據(jù)庫概述關(guān)系數(shù)據(jù)庫概述 數(shù)據(jù)庫模型依賴于數(shù)據(jù)的存儲模式,即數(shù)據(jù)存儲模式不同,數(shù)據(jù)庫的性質(zhì)亦不同。 以關(guān)系模型作為數(shù)據(jù)的組織和存儲方式的數(shù)據(jù)庫稱為關(guān)系數(shù)據(jù)庫。支持關(guān)系數(shù)據(jù)模型的數(shù)據(jù)庫管理系統(tǒng)稱為關(guān)系數(shù)據(jù)庫管理系統(tǒng)(relational database management system,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)治地位。 當今市場的主流關(guān)系數(shù)據(jù)庫產(chǎn)品有:微軟公司的MS SQL Server,
29、Oracle公司的Oracle,IBM公司的DB2,Informix公司的IDS(Informix Dynamic Server),Sybase公司的ASE(Adaptive Server Enterprise),等等。 11 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述12 數(shù)據(jù)模型數(shù)據(jù)模型13 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)第第1章章 緒論緒論 1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.3.1 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.3.2 數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性 1.3.1 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 數(shù)據(jù)庫分為三級:外模式、模式和內(nèi)
30、模式,對于用戶而言,可以相應(yīng)地分為用戶級模式、概念級模式和物理級模式。 三級模式的關(guān)系如圖1.6所示。1.3.1 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)應(yīng) 用 應(yīng) 用 應(yīng) 用 子 模 式 1子 模 式 2用 戶 級子 模 式 到 模 式 映 射概 念 級模 式模 式 到 內(nèi) 模 式 映 射內(nèi) 模 式物 理 級數(shù) 據(jù) 庫圖1.6 數(shù)據(jù)庫系統(tǒng)的模式1.3.1 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1. 外模式 概念 外模式(external schema)也稱為子模式,它對應(yīng)于用戶級數(shù)據(jù)庫,是用戶能夠看到和使用的數(shù)據(jù)庫,因此也稱為用戶視圖。 外模式就是用戶所看到并獲準使用的那部
31、分數(shù)據(jù)的邏輯結(jié)構(gòu)。 一個數(shù)據(jù)庫通常有多個外模式,當不同的用戶在應(yīng)用需求、保密級別等方面存在差異時,其外模式描述會有所不同。一個應(yīng)用程序只能使用一個外模式,但一個外模式可為多個應(yīng)用程序所使用。 外模式是保證數(shù)據(jù)庫安全性的一項有力措施。用戶只能看到和訪問所對應(yīng)的外模式的數(shù)據(jù),而數(shù)據(jù)庫中的其他數(shù)據(jù)對于用戶是不可見的。1.3.1 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)2. 模式 概念 模式(schema)是對數(shù)據(jù)庫的整體邏輯描述,它對應(yīng)于概念級數(shù)據(jù)庫,是數(shù)據(jù)庫管理員所看到的數(shù)據(jù)庫,通常又稱DBA視圖。 模式以某一種數(shù)據(jù)模型(例如,關(guān)系數(shù)據(jù)模型)為基礎(chǔ),綜合地考慮所有用戶的需求,并將這些需求有
32、機地結(jié)合成一個邏輯整體。 一個數(shù)據(jù)庫只有一個模式。模式不僅要描述數(shù)據(jù)的邏輯結(jié)構(gòu),例如數(shù)據(jù)記錄的組成、數(shù)據(jù)項的名稱、數(shù)據(jù)類型、長度、取值范圍等,還要描述數(shù)據(jù)之間的聯(lián)系、數(shù)據(jù)的完整性、安全性要求。1.3.1 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)3. 內(nèi)模式 概念 內(nèi)模式(internal schema)是對數(shù)據(jù)物理結(jié)構(gòu)和存儲結(jié)構(gòu)的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式,它對應(yīng)于物理級數(shù)據(jù)庫,又稱存儲模式。例如,記錄以何種存儲方式存儲;索引按照哪種方式組織;數(shù)據(jù)是否壓縮存儲、是否加密,等等。這些任務(wù)都是系統(tǒng)程序員要做的,因此物理級數(shù)據(jù)庫也稱為系統(tǒng)程序員視圖。一個數(shù)據(jù)庫只有一個內(nèi)模式。 在三級
33、模式結(jié)構(gòu)中,數(shù)據(jù)庫模式是數(shù)據(jù)庫的核心和關(guān)鍵。對于一個數(shù)據(jù)庫系統(tǒng)來說,實際存在的只是物理級數(shù)據(jù)庫,它是數(shù)據(jù)訪問的基礎(chǔ)。概念級數(shù)據(jù)庫只不過是物理級數(shù)據(jù)庫的一種抽象描述,用戶級數(shù)據(jù)庫是用戶與數(shù)據(jù)庫的接口。用戶根據(jù)外模式進行操作,通過外模式到模式的映像與概念級數(shù)據(jù)庫聯(lián)系起來,又通過模式到內(nèi)模式的映像與物理級數(shù)據(jù)庫聯(lián)系起來。DBMS的工作側(cè)重點之一就是完成三級數(shù)據(jù)庫之間的轉(zhuǎn)換,把用戶對數(shù)據(jù)庫的操作轉(zhuǎn)化到物理級數(shù)據(jù)庫去執(zhí)行。 1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.3.1 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.3.2 數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性 1.3.2
34、 數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性1. 外模式-模式映像 外模式和模式之間是通過外模式-模式映像聯(lián)系起來的。由于一個模式對應(yīng)于多個外模式,因此,對于每個外模式,都有一個外模式-模式映像用于描述這個外模式與模式之間的對應(yīng)關(guān)系。 通常在外模式中描述外模式-模式映像。 作用-保證數(shù)據(jù)的邏輯獨立性。 有了外模式-模式映像之后,當模式發(fā)生改變時,例如增加新的屬性、修改屬性的數(shù)據(jù)類型,只要對外模式-模式映像做相應(yīng)的改變,使外模式保持不變,則依賴于外模式的應(yīng)用程序就不會受影響,從而保證數(shù)據(jù)與應(yīng)用程序之間的邏輯獨立性,即保證數(shù)據(jù)的邏輯獨立性。1.3.2 數(shù)據(jù)庫的二級映像功能與數(shù)
35、據(jù)獨立性數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性2. 模式-內(nèi)模式映像 模式與內(nèi)模式之間是通過模式-內(nèi)模式映像聯(lián)系起來的。由于數(shù)據(jù)庫中只有一個模式和一個內(nèi)模式,因此,模式-內(nèi)模式映像也只有一個。 通常在內(nèi)模式中對其進行描述。 作用-保證數(shù)據(jù)的物理獨立性 有了模式-內(nèi)模式映像之后,當內(nèi)模式發(fā)生改變時,例如存儲設(shè)備或存儲方式有所改變,只要針對模式-內(nèi)模式映像做相應(yīng)的改變,使模式保持不變,則應(yīng)用程序就不會受影響,從而保證數(shù)據(jù)與應(yīng)用程序之間的物理獨立性,即保證數(shù)據(jù)的物理獨立性。11 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述12 數(shù)據(jù)模型數(shù)據(jù)模型13 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)第第1章章 緒論緒論 1.41.4.1 數(shù)據(jù)
36、庫管理系統(tǒng)的組成數(shù)據(jù)庫管理系統(tǒng)的組成 1.4.2 數(shù)據(jù)庫管理系統(tǒng)的控制功能數(shù)據(jù)庫管理系統(tǒng)的控制功能 1.4.3 客戶客戶-服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu) 1.4.1 數(shù)據(jù)庫管理系統(tǒng)的組成數(shù)據(jù)庫管理系統(tǒng)的組成一個完整的DBMS通常由以下4部分組成。1. DDL及其翻譯處理程序 供用戶定義數(shù)據(jù)庫模式、存儲模式、外模式、各級模式間的映像、有關(guān)的約束條件等。2. DML及其編譯處理程序 實現(xiàn)對數(shù)據(jù)庫的檢索、插入、修改等基本操作。3. 數(shù)據(jù)庫運行控制程序 提供系統(tǒng)運行控制程序負責(zé)數(shù)據(jù)庫運行過程中的控制與管理。4. 實用程序 提供實用程序。數(shù)據(jù)庫用戶可以利用這些實用程序完成數(shù)據(jù)庫的建立與維護以及數(shù)據(jù)的格式轉(zhuǎn)
37、換與通信。1.41.4.1 數(shù)據(jù)庫管理系統(tǒng)的組成數(shù)據(jù)庫管理系統(tǒng)的組成 1.4.2 數(shù)據(jù)庫管理系統(tǒng)的控制功能數(shù)據(jù)庫管理系統(tǒng)的控制功能 1.4.3 客戶客戶-服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu) 1.4.2 數(shù)據(jù)庫管理系統(tǒng)的控制功能數(shù)據(jù)庫管理系統(tǒng)的控制功能 事務(wù)的基本概念事務(wù)是數(shù)據(jù)庫的邏輯單位,是用戶定義的一組操作序列。它應(yīng)該具有下面4個特性:(1)原子性:一個事務(wù)是一個不可分割的單位,事務(wù)中包括的諸項操作要么都做,要么都不做。(2) 一致性:事務(wù)必須能使數(shù)據(jù)庫從某個一致性狀態(tài)變化到另一個一致性狀態(tài)。因此當數(shù)據(jù)庫只包含成功事務(wù)提交的結(jié)果時,數(shù)據(jù)庫處于一致性狀態(tài)。(3)隔離性:一個事務(wù)的執(zhí)行不能被其他事務(wù)干
38、擾。即一個事務(wù)內(nèi)部的操作及其使用的數(shù)據(jù)對于并發(fā)的其他事務(wù)是隔離的,并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾。(4)持久性:持久性:指一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)所做的更改就應(yīng)該是永久性的。1.4.2 數(shù)據(jù)庫管理系統(tǒng)的控制功能數(shù)據(jù)庫管理系統(tǒng)的控制功能2. DBMS的控制功能 DBMS必須提供以下幾方面的數(shù)據(jù)控制功能。(1)保證數(shù)據(jù)的安全性數(shù)據(jù)的安全性(Security)是指保護數(shù)據(jù),防止因用戶非法使用數(shù)據(jù)庫而造成數(shù)據(jù)的泄密、更改或破壞。通常用戶只能按規(guī)定對某些數(shù)據(jù)以某種方式進行訪問和處理。 DBMS一般通過用戶標識鑒定、存取控制、用戶視圖、密碼存儲等安全技術(shù)來保證數(shù)據(jù)的安全性。(2)保證數(shù)據(jù)的完
39、整性 數(shù)據(jù)的完整性(Integrity)是指數(shù)據(jù)的正確性、有效性和兼容性,即將數(shù)據(jù)控制在有效的范圍之內(nèi),或要求數(shù)據(jù)之間滿足特定的關(guān)系。DBMS的完整性控制機制應(yīng)具備3個方面的功能。 定義完整性約束條件。 檢查用戶發(fā)出的操作請求是否違背了完整性約束條件。 如果發(fā)現(xiàn)用戶的操作請求會破壞數(shù)據(jù)的完整性約束條件,則采取一定的動作來保證數(shù)據(jù)的完整性。 1.4.2 數(shù)據(jù)庫管理系統(tǒng)的控制功能數(shù)據(jù)庫管理系統(tǒng)的控制功能(3)實現(xiàn)并發(fā)控制 數(shù)據(jù)庫是一個共享資源,可供多個用戶同時使用。當多個用戶的并發(fā)進程同時存取、修改數(shù)據(jù)庫中的數(shù)據(jù)時,可能會引發(fā)相互干擾而得到錯誤的結(jié)果,并使得數(shù)據(jù)庫的完整性遭到破壞,因此必須對多用戶
40、的并發(fā)操作(Concurrency)加以控制和協(xié)調(diào)。 事務(wù)是并發(fā)控制的基本單位,封鎖是實現(xiàn)并發(fā)控制的一項非常重要的技術(shù)。所謂封鎖就是事務(wù)T在對某個數(shù)據(jù)對象(例如表、記錄等)進行操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖后,事務(wù)T 就對該數(shù)據(jù)對象有了獨占性的控制權(quán),在事務(wù)T釋放它的鎖之前,其他事務(wù)不能更新此數(shù)據(jù)對象。 1.4.2 數(shù)據(jù)庫管理系統(tǒng)的控制功能數(shù)據(jù)庫管理系統(tǒng)的控制功能(4)恢復(fù)數(shù)據(jù)庫 計算機系統(tǒng)的硬件故障、軟件故障、操作員的失誤以及蓄意破壞都會影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,甚至造成數(shù)據(jù)庫的部分或全部數(shù)據(jù)的丟失。DBMS必須具有將數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)(也稱為完整狀態(tài)或一致
41、狀態(tài))的功能,這就是數(shù)據(jù)庫的恢復(fù)功能(Recovery)。 事務(wù)也是執(zhí)行恢復(fù)的基本單位,DBMS中有一類文件稱為日志文件,記錄每個事務(wù)的開始、每個事務(wù)所引發(fā)的數(shù)據(jù)庫的更新和每個事務(wù)的結(jié)束。一旦系統(tǒng)出現(xiàn)故障,可以通過日志文件中的內(nèi)容進行數(shù)據(jù)庫恢復(fù)。 事務(wù)通常以“試驗”的方式完成,即在試驗過程中,并不真正地更新數(shù)據(jù)庫中的數(shù)據(jù)。當事務(wù)即將完成時,也就是提交事務(wù)的時候,所更新的內(nèi)容首先被復(fù)制到日志文件中,然后再把更新內(nèi)容寫入數(shù)據(jù)庫。這樣,即使在這兩個步驟之間系統(tǒng)出現(xiàn)故障,通過查看日志文件,就能夠知道在系統(tǒng)恢復(fù)之后需要執(zhí)行哪些更新操作。如果系統(tǒng)在這兩個步驟之前系統(tǒng)出現(xiàn)故障,可以重新執(zhí)行此事務(wù),確保不會發(fā)
42、生錯誤。1.41.4.1 數(shù)據(jù)庫管理系統(tǒng)的組成數(shù)據(jù)庫管理系統(tǒng)的組成 1.4.2 數(shù)據(jù)庫管理系統(tǒng)的控制功能數(shù)據(jù)庫管理系統(tǒng)的控制功能 1.4.3 客戶客戶-服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu) 1.4.3 客戶客戶-服務(wù)器體系結(jié)構(gòu)服務(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功能的計算機稱為數(shù)據(jù)庫服務(wù)器,簡稱服務(wù)器(Server),其他安裝DBMS的外圍應(yīng)用開發(fā)工具且支持用戶應(yīng)用的計算機稱為客戶機(Client)。形成了客戶-服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)。 特點 客戶端的用戶請求被傳送至數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器對用戶強求進行
43、處理后,只將結(jié)果返回給用戶,從而顯著減少網(wǎng)絡(luò)上的數(shù)據(jù)傳輸量,提高了系統(tǒng)的性能、吞吐量和負載能力。 通常用SQL語言表達從客戶端程序到服務(wù)器端程序的各種請求,然后由服務(wù)器端的程序給出相應(yīng)的回答,用表的形式將結(jié)果傳給客戶端程序。 客戶與服務(wù)器通常都能在不同的硬件和軟件平臺上運行,可以使用不同廠商提供的數(shù)據(jù)庫應(yīng)用開發(fā)工具,應(yīng)用程序具有更強的可移植性,同時也可以降低軟件維護工作的開銷。11 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述12 數(shù)據(jù)模型數(shù)據(jù)模型13 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)第第1章章 緒論緒論 1.51.5.1 硬件平臺及數(shù)據(jù)庫硬件平臺及數(shù)據(jù)庫 1.5.2 軟件平臺軟件平臺 1.5.3 數(shù)據(jù)庫系統(tǒng)的相
44、關(guān)人員數(shù)據(jù)庫系統(tǒng)的相關(guān)人員 1.5.1 硬件平臺及數(shù)據(jù)庫硬件平臺及數(shù)據(jù)庫 數(shù)據(jù)庫系統(tǒng)對硬件資源的要求較高,以滿足功能豐富且規(guī)模很大的DBMS的需求,這樣才能滿足數(shù)據(jù)量大的應(yīng)用系統(tǒng)的需求。具體的要求如下。 (1)要具有足夠大的內(nèi)存空間,存放操作系統(tǒng)、DBMS核心模塊、數(shù)據(jù)緩沖區(qū)和應(yīng)用程序。 (2)要有大容量的存儲設(shè)備存放整個數(shù)據(jù)庫,有大容量的外存儲設(shè)備用于數(shù)據(jù)備份。1.51.5.1 硬件平臺及數(shù)據(jù)庫硬件平臺及數(shù)據(jù)庫 1.5.2 軟件平臺軟件平臺 1.5.3 數(shù)據(jù)庫系統(tǒng)的相關(guān)人員數(shù)據(jù)庫系統(tǒng)的相關(guān)人員 1.5.2 軟件平臺及數(shù)據(jù)庫軟件平臺及數(shù)據(jù)庫 數(shù)據(jù)庫系統(tǒng)的軟件主要包括以下要素。(1)DBMS 這
45、是為數(shù)據(jù)庫的建立、使用和維護而配置的系統(tǒng)軟件。目前常用的DBMS有MS SQL Server 2000及以上版本,還有Oracle 9i及以上版本。(2)支持DBMS運行的操作系統(tǒng)。 常用的操作系統(tǒng)有Windows操作系統(tǒng)、UNIX操作系統(tǒng)、Linux操作系統(tǒng)。(3)具有能夠與數(shù)據(jù)庫接口的高級語言及其編譯系統(tǒng),便于開發(fā)應(yīng)用程序。(4)以DBMS為核心的應(yīng)用開發(fā)工具。(5)為特定應(yīng)用環(huán)境開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng)。1.51.5.1 硬件平臺及數(shù)據(jù)庫硬件平臺及數(shù)據(jù)庫 1.5.2 軟件平臺軟件平臺 1.5.3 數(shù)據(jù)庫系統(tǒng)的相關(guān)人員數(shù)據(jù)庫系統(tǒng)的相關(guān)人員 1.5.3 數(shù)據(jù)庫系統(tǒng)的相關(guān)人員數(shù)據(jù)庫系統(tǒng)的相關(guān)人員
46、數(shù)據(jù)庫系統(tǒng)的相關(guān)人員主要有數(shù)據(jù)庫管理員、系統(tǒng)分析員、數(shù)據(jù)庫設(shè)計人員、應(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ù)視圖1.5.3 數(shù)據(jù)庫系統(tǒng)的相關(guān)人員數(shù)據(jù)庫系統(tǒng)的相關(guān)人員1. 數(shù)據(jù)庫管理員 數(shù)據(jù)庫管理員(DataBase Administrator,DBA)負責(zé)全面管理和控制數(shù)據(jù)庫系統(tǒng)。 主要工作包括:決定數(shù)據(jù)庫中的信息內(nèi)容和結(jié)構(gòu),決定數(shù)據(jù)庫的存儲結(jié)構(gòu)和存儲策略,定義數(shù)據(jù)的安全性要求和完整性約束條件,監(jiān)控數(shù)據(jù)庫的運行,負責(zé)數(shù)據(jù)庫的
47、改進和重組、重構(gòu),等等。1.5.3 數(shù)據(jù)庫系統(tǒng)的相關(guān)人員數(shù)據(jù)庫系統(tǒng)的相關(guān)人員2. 系統(tǒng)分析員和數(shù)據(jù)庫設(shè)計人員 系統(tǒng)分析員負責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)范說明,同用戶及數(shù)據(jù)庫管理員相結(jié)合,確定系統(tǒng)的硬件軟件配置,并參與數(shù)據(jù)庫系統(tǒng)的概要設(shè)計。 數(shù)據(jù)庫設(shè)計人員負責(zé)數(shù)據(jù)庫中數(shù)據(jù)的確定、數(shù)據(jù)庫各級模式的設(shè)計。數(shù)據(jù)庫設(shè)計人員必須參與用戶需求調(diào)查和系統(tǒng)分析,然后進行數(shù)據(jù)庫設(shè)計。1.5.3 數(shù)據(jù)庫系統(tǒng)的相關(guān)人員數(shù)據(jù)庫系統(tǒng)的相關(guān)人員3. 應(yīng)用程序開發(fā)人員 應(yīng)用程序開發(fā)人員負責(zé)設(shè)計和編寫應(yīng)用系統(tǒng)的程序模塊,并對其進行調(diào)試和安裝。4. 用戶 用戶是指最終用戶。最終用戶通過應(yīng)用系統(tǒng)的用戶接口來使用數(shù)據(jù)庫。最終用戶可分為以
48、下3類。 (1)偶然用戶 (2)簡單用戶 (3)復(fù)雜用戶11 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述12 數(shù)據(jù)模型數(shù)據(jù)模型13 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)第第1章章 緒論緒論 1.6 1.6.1 Oracle數(shù)據(jù)庫系統(tǒng)簡介數(shù)據(jù)庫系統(tǒng)簡介 1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu) 1.6.1 Oracle數(shù)據(jù)庫系統(tǒng)簡介數(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)品覆蓋幾十種主流機型,其中Oracle 數(shù)據(jù)庫已經(jīng)成為世界上使用最廣泛的
49、關(guān)系數(shù)據(jù)庫系統(tǒng)之一,是數(shù)據(jù)庫領(lǐng)域的領(lǐng)軍者和標準制定者。Oracle公司推出的Oracle數(shù)據(jù)庫系統(tǒng)在我國有較大的市場份額,始終占據(jù)著數(shù)據(jù)庫市場的龍頭地位。 1.6.1 Oracle數(shù)據(jù)庫系統(tǒng)簡介數(shù)據(jù)庫系統(tǒng)簡介 Oracle數(shù)據(jù)庫的發(fā)展 Oracle數(shù)據(jù)庫系統(tǒng)最早于1979年推出,隨著其開發(fā)技術(shù)的進步,版本得以不斷更新,功能不斷壯大。 2004年推出了最新的Oracle 10g版本1.6.1 Oracle數(shù)據(jù)庫系統(tǒng)簡介數(shù)據(jù)庫系統(tǒng)簡介2. Oracle系統(tǒng)的特點 Oracle具有完整的數(shù)據(jù)管理功能,這些功能包括存儲大量數(shù)據(jù)、定義和操縱數(shù)據(jù)、并發(fā)控制、安全性控制、故障恢復(fù)、提供與高級語言接口等。因此
50、,Oracle是一個通用的數(shù)據(jù)庫系統(tǒng)。 Oracle支持各種分布式功能,尤其支持各種Internet處理。因此,Oracle是一個分布式數(shù)據(jù)庫系統(tǒng)。 Oracle作為一個應(yīng)用開發(fā)環(huán)境,使用PL/SQL語言執(zhí)行各種操作,具有可開放性、可移植性、靈活性等特點。 高版本的Oracle支持面向?qū)ο蟮墓δ?,支持類、方法和屬性等概念?.6 1.6.1 Oracle數(shù)據(jù)庫系統(tǒng)簡介數(shù)據(jù)庫系統(tǒng)簡介 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ù)庫管理系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫管理系統(tǒng)結(jié)構(gòu) 數(shù)據(jù)庫結(jié)構(gòu)數(shù)據(jù)庫結(jié)構(gòu)1.6.2 Oracle體系結(jié)
51、構(gòu)體系結(jié)構(gòu)1. 數(shù)據(jù)庫管理系統(tǒng)結(jié)構(gòu) 數(shù)據(jù)庫管理系統(tǒng)由功能各異的管理程序組成,包括進程管理和內(nèi)存管理等。(1)進程結(jié)構(gòu) Oracle應(yīng)用環(huán)境中有兩類進程:用戶進程和服務(wù)器進程。 用戶進程是指在客戶機內(nèi)存上運行的程序。 服務(wù)器進程是指在服務(wù)器上運行的程序,它接收用戶進程發(fā)出的請求,根據(jù)用戶請求與數(shù)據(jù)庫進行通信,完成與數(shù)據(jù)庫的連接操作和I/O訪問。特別重要的服務(wù)器進程還負責(zé)完成數(shù)據(jù)庫的后臺管理工作,這些主要的進程如表1.4所示。1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu)表1.4 主要的服務(wù)器進程進程名稱作用系統(tǒng)監(jiān)控進程(SMON)是在數(shù)據(jù)庫系統(tǒng)啟動時執(zhí)行恢復(fù)性工作的強制性進程,對存在故障的CPU或?qū)嵗?/p>
52、進行恢復(fù)進程監(jiān)控進程(PMON)是用于恢復(fù)失敗的數(shù)據(jù)庫用戶的強制性進程,獲取失敗用戶的標識,釋放此用戶占用的所有數(shù)據(jù)庫資源,然后回滾中止的事務(wù)數(shù)據(jù)庫寫入進程(DBWR)負責(zé)管理數(shù)據(jù)緩沖區(qū)和字典緩沖區(qū)的內(nèi)容,將修改后的數(shù)據(jù)塊分批寫回數(shù)據(jù)庫文件。系統(tǒng)可以擁有多個這樣的進程日志寫入進程(LGWR)用于將內(nèi)存中的日志內(nèi)容寫入到日志文件中,是唯一能夠讀寫日志文件的進程1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu)(2)內(nèi)存結(jié)構(gòu) 操作系統(tǒng)為進程所分配的內(nèi)存結(jié)構(gòu)有兩部分:系統(tǒng)全局區(qū)和程序全局區(qū)。 一般地,客戶機上的用戶進程和服務(wù)器上的服務(wù)器進程是同時運行的。系統(tǒng)全局區(qū)(System Global Area,SGA
53、)是指操作系統(tǒng)為用戶進程和服務(wù)器進程分配的專用的共享內(nèi)存區(qū)域,用于二者之間的通信。 根據(jù)系統(tǒng)全局區(qū)功能的不同,可將其分成4個部分:數(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ū)的組成名稱作用數(shù)據(jù)緩沖區(qū)用于存儲最近從數(shù)據(jù)庫中讀取出來的數(shù)據(jù)字典緩沖區(qū)用于存儲從數(shù)據(jù)字典中讀取出來的信息日志緩沖區(qū)用于存儲任何事務(wù)過程,數(shù)據(jù)庫系統(tǒng)將定期將該緩沖區(qū)的內(nèi)容
54、寫入日志文件SQL共享池SQL共享池是程序的高速緩沖區(qū),存放的是所有通過SQL語法分析并準備執(zhí)行的SQL語句1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu) 程序全局區(qū)(Program Global Area, PGA)是存儲區(qū)中被單個用戶進程所使用的內(nèi)存區(qū)域,為用戶進程私有,不能共享。 程序全局區(qū)主要存放單個進程工作時所需要的數(shù)據(jù)和控制信息。 1.6.2 Oracle體系結(jié)構(gòu)體系結(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所示。1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu)Oracle數(shù)據(jù)庫表空間表
55、空間表空間表索引視圖數(shù)據(jù)段數(shù)據(jù)段索引段臨時段回滾段數(shù)據(jù)區(qū)間數(shù)據(jù)區(qū)間數(shù)據(jù)塊數(shù)據(jù)塊 數(shù)據(jù)庫- 表空間 - 。 邏輯對象 - 數(shù)據(jù)段- 。 數(shù)據(jù)區(qū)間-。 數(shù)據(jù)塊圖1.8 數(shù)據(jù)庫的邏輯結(jié)構(gòu)1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu)數(shù)據(jù)庫的邏輯結(jié)構(gòu)分為6層。 數(shù)據(jù)塊 數(shù)據(jù)塊又稱邏輯塊,是Oracle數(shù)據(jù)庫輸入輸出的基本單位,其常見大小為2KB或4KB,通常是操作系統(tǒng)默認數(shù)據(jù)塊大小的整數(shù)倍。 數(shù)據(jù)區(qū)間 數(shù)據(jù)區(qū)間由若干數(shù)據(jù)塊組成,是數(shù)據(jù)庫存儲空間所分配的一個邏輯單位。 數(shù)據(jù)段 數(shù)據(jù)段由若干數(shù)據(jù)區(qū)間組成。Oracle中有4種數(shù)據(jù)段。(a)數(shù)據(jù)段:用于存放數(shù)據(jù)。(b)索引段:用于存放索引數(shù)據(jù)。(c)臨時段:在執(zhí)行
56、SQL語句時,用于存放中間結(jié)果和數(shù)據(jù)。一旦SQL語句執(zhí)行完畢,臨時段所占用的存儲空間將被釋放。(d)回滾段:用于存放要撤消的信息。1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu) 邏輯對象 邏輯對象是指可由用戶操作的數(shù)據(jù)庫對象。Oracle系統(tǒng)中包括表、索引、視圖、簇、數(shù)據(jù)庫鏈接、同義詞、序列、觸發(fā)器、過程、函數(shù)等21種數(shù)據(jù)庫對象。 表空間 表空間主要用于管理邏輯對象,可以將其理解為Oracle數(shù)據(jù)庫的文件夾。一個表空間可以存放若干邏輯對象。當Oracle安裝完畢后,系統(tǒng)將自動建立9個默認的表空間,如表1.6所示。1.6.2 Oracle體系結(jié)構(gòu)體系結(jié)構(gòu)表1.6 系統(tǒng)默認的表空間名稱作用CWMLITE用于聯(lián)機分析處理(OLAP)DRSYS用于存放與工作空間設(shè)置有關(guān)的信息EXAMPLE實例表空間,用于存放實例信息INDEX索引表空間,用于存放數(shù)據(jù)庫索引信息SYSTEM系統(tǒng)表空間,用于存放表空間的名稱、所包含的數(shù)據(jù)文件等管理信息TEMP臨時表空間,用于存放臨時表TOOLS工具表空間,用于存放數(shù)據(jù)庫工具軟件所需的數(shù)據(jù)庫對象UNDOTBS回滾表空間,用于存放數(shù)據(jù)庫恢復(fù)信息USERS用戶表空間,用于存放用戶私有信息1.6.2
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TS 21219-13:2025 EN Intelligent transport systems - Traffic and travel information via transport protocol experts group,generation 2 (TPEG2) - Part 13: Public transport
- 2025標準農(nóng)田建設(shè)合同管理的任務(wù)和方法
- 2025員工個人勞動合同
- 2025年度房屋置換增值服務(wù)全新房屋置換對方房屋置換及增值合同3篇
- 2025農(nóng)村合作建房項目施工臨時用電安全合同2篇
- 二零二五年度公司股權(quán)轉(zhuǎn)讓及后續(xù)管理服務(wù)合同3篇
- 二零二五年度房地產(chǎn)項目合作合同解除協(xié)議2篇
- 二零二五年度農(nóng)產(chǎn)品批發(fā)市場租賃合作合同3篇
- 二零二五年度智能家居產(chǎn)品開發(fā)合作協(xié)議書3篇
- 二零二五年度辦公室租賃合同模板:含員工激勵及福利計劃3篇
- 部編人教版四年級數(shù)學(xué)上冊期末考試卷(可打印)
- 一例阿爾茨海默病患者的護理查房
- 農(nóng)貿(mào)市場安全生產(chǎn)工作方案
- 咸陽租房合同
- 《鋼筋保護層檢測》課件
- YJ-T 27-2024 應(yīng)急指揮通信保障能力建設(shè)規(guī)范
- 合伙人協(xié)議書決策機制
- 西藏畜牧獸醫(yī)知識培訓(xùn)課件
- 護理專業(yè)人才培養(yǎng)方案論證報告
- 我的家鄉(xiāng)武漢
- 眼鏡制造業(yè)灌膠機市場前景與機遇分析
評論
0/150
提交評論