(一)數(shù)據(jù)庫系統(tǒng)的基本概念
1.數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)
1)數(shù)據(jù)
數(shù)據(jù)是指存儲在某一種媒體上能夠被識別的物理符號,即描述事物的符號記錄。
數(shù)據(jù)是有結(jié)構(gòu)的。首先,數(shù)據(jù)有型與值的區(qū)別,型即類型,值是符合指定類型的值。
數(shù)據(jù)的概念在數(shù)據(jù)處理領(lǐng)域中已經(jīng)大大地拓寬了。數(shù)據(jù)不僅包括數(shù)字、字母、文字和其他特殊字符組成的文本形式的數(shù)據(jù),而且還包括圖形、圖像、動畫、影像、聲音等多媒體數(shù)據(jù)。但是使用多、基本的仍然是文字數(shù)據(jù)。
2)數(shù)據(jù)庫
數(shù)據(jù)庫(DataBase,DB),是存儲在計算機存儲設(shè)備上,結(jié)構(gòu)化的相互關(guān)聯(lián)的數(shù)據(jù)的集合。它不僅包括描述事物的數(shù)據(jù)本身,而且還包括相關(guān)事物之間的聯(lián)系。
它用綜合的方法組織和管理數(shù)據(jù),具有較小的數(shù)據(jù)冗余,可供多個用戶共享,具有較高的數(shù)據(jù)獨立性,具有安全機制,能夠保證數(shù)據(jù)的安全、可靠,允許并發(fā)地使用數(shù)據(jù)庫,能有效、及時地處理數(shù)據(jù),并能保證數(shù)據(jù)的一致性和完整性。
例如,某個學(xué)校的相關(guān)數(shù)據(jù),如學(xué)生基本情況、選課情況、學(xué)籍管理等所涉及的相關(guān)數(shù)據(jù)的集合。
3)數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System,DBMS)是對數(shù)據(jù)庫進行管理的系統(tǒng)軟件,它的職能是有效地組織和存儲數(shù)據(jù)、獲取和管理數(shù)據(jù),接受和完成用戶提出的訪問數(shù)據(jù)的各種請求。同時還能保證數(shù)據(jù)的安全性、可靠性、完整性、一致性,還要保證數(shù)據(jù)的高度獨立性。
數(shù)據(jù)庫管理系統(tǒng)主要功能包括以下幾個方面:
(1)數(shù)據(jù)模式定義
數(shù)據(jù)庫管理系統(tǒng)負責為數(shù)據(jù)庫構(gòu)建模式,也為數(shù)據(jù)庫構(gòu)建其數(shù)據(jù)框架。
(2)數(shù)據(jù)存取的物理構(gòu)建
數(shù)據(jù)庫管理系統(tǒng)負責為數(shù)據(jù)模式的物理存取及構(gòu)建提供有效的存取方法和手段。
(3)數(shù)據(jù)操縱
數(shù)據(jù)庫管理系統(tǒng)為用戶使用數(shù)據(jù)庫中的數(shù)據(jù)提供方便,一般提供查詢、插入、修改和刪除數(shù)據(jù)的功能,此外,還具有簡單的算術(shù)運算和統(tǒng)計功能,還具有專長強大的程序控制功能。
(4)數(shù)據(jù)的完整性、安全性定義與檢查
數(shù)據(jù)庫中的數(shù)據(jù)具有內(nèi)存語義上的關(guān)聯(lián)性與一致性,即數(shù)據(jù)的完整性。數(shù)據(jù)的完整性是保證數(shù)據(jù)庫中數(shù)據(jù)正確的必要條件。
(5)數(shù)據(jù)的并發(fā)控制與故障恢復(fù)
數(shù)據(jù)庫是一個集成、共享的數(shù)據(jù)集合體,它能為多個應(yīng)用程序服務(wù),因此,當多個應(yīng)用程序?qū)?shù)據(jù)庫并發(fā)操作時,要保證數(shù)據(jù)不被破壞。
(6)數(shù)據(jù)的服務(wù)
數(shù)據(jù)庫管理系統(tǒng)提供了對數(shù)據(jù)庫中數(shù)據(jù)的多種服務(wù),如數(shù)據(jù)拷貝、轉(zhuǎn)存、重組、性能監(jiān)測、分析等。
數(shù)據(jù)庫管理系統(tǒng)提供的相應(yīng)的數(shù)據(jù)語言包括如下:
1)數(shù)據(jù)定義語言(Data Definition Language,DDL)
D用戶通過它可以方便地對數(shù)據(jù)庫中的相關(guān)內(nèi)容進行定義。例如,對數(shù)據(jù)庫、表、索引進行定義。
2)數(shù)據(jù)操縱語言(Data Manipulation Language,DML)
用戶通過它可以實現(xiàn)對數(shù)據(jù)庫的基本操作。例如,對表中數(shù)據(jù)的查詢、插入、刪除和修改。
3)數(shù)據(jù)控制語言(Data Control Language,DCL)
負責數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能,包括系統(tǒng)初啟程序、文件讀寫與維護程序、存取路徑管理程序、緩沖區(qū)管理程序、安全性控制程序、完整性檢查程序、并發(fā)控制程序、事務(wù)管理程序、運行日志管理程序、數(shù)據(jù)庫恢復(fù)程序等。
目前流行的DBMS均為關(guān)系型數(shù)據(jù)庫系統(tǒng),發(fā)ORACLE、Sybase的PowerBuilder及IBM的DB2、微軟件的SQLServer等。還有一些小型的數(shù)據(jù)庫,如Visual FoxPro和Access等。
4)數(shù)據(jù)庫管理員
數(shù)據(jù)庫的管理員(DataBase Administrator,DBA):對數(shù)據(jù)庫的規(guī)劃、設(shè)計、維護、監(jiān)視等進行管理。
主要工作如下:
(1)數(shù)據(jù)庫設(shè)計
(2)數(shù)據(jù)庫維護
(3)改善系統(tǒng)性能,提高系統(tǒng)效率
5)數(shù)據(jù)庫系統(tǒng)
數(shù)據(jù)庫系統(tǒng)(DataBase System,DBS)由如下幾個部分組成:
數(shù)據(jù)庫(數(shù)據(jù))
數(shù)據(jù)庫管理系統(tǒng)(軟件)
數(shù)據(jù)庫管理員(人員)
系統(tǒng)平臺(硬件平臺和軟件平臺)
硬件平臺包括:
計算機
網(wǎng)絡(luò)
軟件平臺包括:
操作系統(tǒng)
數(shù)據(jù)庫系統(tǒng)開發(fā)工具
接口軟件
6)數(shù)據(jù)庫應(yīng)用系統(tǒng)
數(shù)據(jù)庫應(yīng)用系統(tǒng)(DataBase Application System,DBAS)是數(shù)據(jù)庫系統(tǒng)再加上應(yīng)用軟件及應(yīng)用界面而構(gòu)成的。它包括:
數(shù)據(jù)庫
數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫管理員
硬件平臺
軟件平臺
應(yīng)用軟件
應(yīng)用界面
2.數(shù)據(jù)庫系統(tǒng)的發(fā)展
隨著計算機軟硬件技術(shù)的發(fā)展,數(shù)據(jù)處理方法也經(jīng)歷了從低級到高級的發(fā)展過程,按照數(shù)據(jù)管理的特點可將其劃分為人工管理、文件系統(tǒng)及數(shù)據(jù)庫系統(tǒng)三個階段。
1)人工管理階段
在20世紀50年代,計算機主要用于數(shù)值計算。從當時的硬件看,外存只有紙帶、卡片、磁帶,沒有直接存取設(shè)備;從軟件看(實際上,當時還未形成軟件的整體概念),沒有操作系統(tǒng)以及管理數(shù)據(jù)的軟件;從數(shù)據(jù)看,數(shù)據(jù)量小,數(shù)據(jù)無結(jié)構(gòu),由用戶直接管理,且數(shù)據(jù)間缺乏邏輯組織,數(shù)據(jù)依賴于特定的應(yīng)用程序,缺乏獨立性。
2)文件系統(tǒng)階段
是數(shù)據(jù)庫系統(tǒng)發(fā)展的初級階段,它提供了簡單的數(shù)據(jù)共享和數(shù)據(jù)管理能力,但無法提供完整的、統(tǒng)一的、管理和數(shù)據(jù)共享的能力。
3)層次數(shù)據(jù)庫與網(wǎng)狀數(shù)據(jù)庫階段
20世紀60年代末期,層次數(shù)據(jù)庫與網(wǎng)狀數(shù)據(jù)庫開始發(fā)展,它們?yōu)榻y(tǒng)一管理和數(shù)據(jù)共享提供了支撐,即標志著數(shù)據(jù)庫系統(tǒng)的真正來臨。但它們有許多的不足,如受文件的物理影響較大,對數(shù)據(jù)庫使用帶來許多不便,數(shù)據(jù)結(jié)構(gòu)復(fù)雜,不變于推廣。
4)關(guān)系數(shù)據(jù)庫系統(tǒng)階段
關(guān)系數(shù)據(jù)庫系統(tǒng)出現(xiàn)于20世界70年代,它的數(shù)據(jù)庫結(jié)構(gòu)簡單,使用方便,邏輯性強物理性少,使用廣泛。
由于應(yīng)用的領(lǐng)域不同,它常分為:
工程數(shù)據(jù)庫系統(tǒng)
圖形數(shù)據(jù)庫系統(tǒng)
圖像數(shù)據(jù)庫系統(tǒng)
統(tǒng)計數(shù)據(jù)庫系統(tǒng)
知識數(shù)據(jù)庫系統(tǒng)
分布式數(shù)據(jù)庫系統(tǒng)
并行數(shù)據(jù)庫系統(tǒng)
面向?qū)ο髷?shù)據(jù)庫系統(tǒng)
3.數(shù)據(jù)庫系統(tǒng)的基本特點
1)數(shù)據(jù)的集成性
在數(shù)據(jù)庫系統(tǒng)中采用統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)方式
在數(shù)據(jù)庫系統(tǒng)中按照多個應(yīng)用程序的需要組織全局的統(tǒng)一的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)模式可建立全局的數(shù)據(jù)結(jié)構(gòu),也可建立數(shù)據(jù)間的語義聯(lián)系從而構(gòu)成一個內(nèi)存緊密聯(lián)系的數(shù)據(jù)整體
數(shù)據(jù)模式是多個應(yīng)用程序共同的、全局的數(shù)據(jù)結(jié)構(gòu),而每個應(yīng)用的數(shù)據(jù)則是全局結(jié)構(gòu)中的一部分
2)數(shù)據(jù)的高共享性與低冗余性
數(shù)據(jù)的一致性是指系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值,而數(shù)據(jù)的不一致性是指同一數(shù)據(jù)在系統(tǒng)不同拷貝處有不同的值。減少數(shù)據(jù)的冗余性可以避免數(shù)據(jù)的不一致性。
3)數(shù)據(jù)的獨立性
數(shù)據(jù)的獨立性是指數(shù)據(jù)與程序間的互不依賴性。即數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)與存取方式的改變不會影響應(yīng)用程序。
(1)物理獨立性
即數(shù)據(jù)的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)、存取方式)的改變,不會影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),即不會引起應(yīng)用程序的變化。
(2)邏輯的獨立性
4)數(shù)據(jù)統(tǒng)一管理與控制
數(shù)據(jù)庫總體邏輯結(jié)構(gòu)的改變,不需要相應(yīng)修改應(yīng)用程序。
數(shù)據(jù)完整性檢查:檢查數(shù)據(jù)庫中數(shù)據(jù)的正確性以保證數(shù)據(jù)的正確
數(shù)據(jù)的安全性保護:檢查數(shù)據(jù)庫訪問者以防非法訪問
并發(fā)控制:控制多個應(yīng)用程序的并發(fā)訪問所發(fā)生的相互干擾以保證其正確性
4.數(shù)據(jù)庫系統(tǒng)的內(nèi)部結(jié)構(gòu)體系
數(shù)據(jù)庫系統(tǒng)的內(nèi)部具有三級模式與二級映射。
1)數(shù)據(jù)庫系統(tǒng)的三級模式
數(shù)據(jù)模式是數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)結(jié)構(gòu)的一種表示形式,它具有不同的層次與結(jié)構(gòu)方式。
(1)概念模式
概念模式是數(shù)據(jù)庫系統(tǒng)中全局數(shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖。概念模式主要描述數(shù)據(jù)的概念記錄類型以及它們之間的關(guān)系,還包括一些數(shù)據(jù)間的語義約束。
(2)外模式
外模式又稱子模式或用戶模式,是用戶的數(shù)據(jù)視圖,即用戶見到的數(shù)據(jù)模式。
概念模式給出系統(tǒng)全局的數(shù)據(jù)描述而外模式則給出每個用戶的局部數(shù)據(jù)描述。
(3)內(nèi)模式
內(nèi)模式又稱物理模式,它給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存儲方法,如數(shù)據(jù)存儲的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑,內(nèi)模式的物理性主要體現(xiàn)在操作系統(tǒng)及文件級上。
內(nèi)模式對一般的用戶是透明的,但它的設(shè)計直接影響到數(shù)據(jù)庫系統(tǒng)的性能。
模式的三個級別層次反映了模式的三個不同環(huán)境以及它們的不同要求,其中內(nèi)模式處于底層,它反映數(shù)據(jù)在計算機物理結(jié)構(gòu)中的實際存儲形式,概念模式牌中層,它反映了設(shè)計者的數(shù)據(jù)全局邏輯要求,而外模式處于外層,通過兩種映射由物理數(shù)據(jù)庫映射而成它反映用戶對數(shù)據(jù)的要求。
2)數(shù)據(jù)庫系統(tǒng)的二級映射
數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個級別抽象,它把數(shù)據(jù)的具體物理實現(xiàn)留給物理模式,使得全局設(shè)計者不必關(guān)心數(shù)據(jù)庫的具體實現(xiàn)與物理背景;通過兩級映射建立了模式間的聯(lián)系與轉(zhuǎn)換,使得概念模式與外模式雖然并不物理存在,但也能通過映射獲得實體。同時,兩級映射也保證了數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的獨立性。
兩級模式的映射:
概念模式到內(nèi)模式的映射:該映射給出概念模式中數(shù)據(jù)的全局邏輯結(jié)構(gòu)到數(shù)據(jù)的物理存儲結(jié)構(gòu)間的對應(yīng)關(guān)系
外模式到概念模式的映射:該映射給出了外模式與概念模式之間的對應(yīng)關(guān)系

